SuperCollider
SuperCollider — програмне середовище і мова програмування для синтезу і обробки звуку в реальному часі і створення алгоритмічних, інтерактивних музичних та аудіовізуальних композицій[2][3]. SuperCollider є вільним програмним засобом (надається на умовах ліцензії Gnu GPL версії 3) і працює на системах Mac OS X, Gnu/Linux, Microsoft Windows і FreeBSD[4].
Тип |
об'єктно-орієнтована мова програмування audio softwared динамічна мова програмування і audio programming languaged |
---|---|
Автор(и) | James McCartney та інші |
Версії | 3.11.2 (15 листопада 2020)[1] |
Репозиторій | github.com/SuperCollider/SuperCollider |
Платформа | кросплатформенний |
Операційна система | Mac OS X, Gnu/Linux, Microsoft Windows |
Ліцензія | GNU GPL версії 3 |
Вебсайт | supercollider.sourceforge.net |
SuperCollider у Вікісховищі |
Поряд із Max/MSP і PureData, SuperCollider є одним з провідних програмних засобів для синтезу звуку в реальному часі з допомогою алгоритмів[5][6].
SuperCollider складається із двох основних компонентів:
- scsynth — сервер синтезу і обробки звуку; саме scsynth встановлює з'єднання зі звуковою картою і здійснює обробку сигналу в реальному часі;
- sclang — інтерпретатор мови програмування SuperCollider; sclang надсилає на сервер команди, які описують процеси синтезу й обробки звуку.
Ці два компоненти спілкуються між собою з допомогою протоколу Open Sound Control. Про тому, сервер може бути запущений як на тому ж комп'ютері, що інтерпретатор, так і на іншому, зокрема віддаленому, комп'ютері. Окрім того, можна керувати одночасно кількома серверами, запущеними на різних комп'ютерах.
Існують також альтернативні інтерпретатори, які використовують іншу мову програмування, але так само працюють зі сервером SuperCollider'а scsynth.
Приклади
Генератори звуку
Створення синусоїдної хвилі частотою 440 Гц на двох каналах:
{ SinOsc.ar(440).dup }.play; // .dup дублює моно-сигнал на 2 канали
Модулювання частоти сигналу (вібрато на -10...10 Гц від основного тону з частотою 3 Гц):
{
var vibrato = SinOsc.kr(3, mul: 10);
SinOsc.ar(440 + vibrato).dup;
}.play;
Амплітудна модуляція у формі пульсації з частотою 4 Гц.
{ SinOsc.ar(80).dup * LFPulse.kr(4) }.play;
Примітки
- Release 3.11.2 — 2020.
- Вебсайт проекту
- Вступне слово до The SuperCollider Book
- Сторінка завантаження SuperCollider. Нижче вказано, що з джерельних кодів можна скомпілювати також на FreeBSD.
- David S. Sullivan Jr., Stephan Moore, Ichiro Fujinaga. Realtime Software Synthesis for Psychoacoustic Experiments. — The Peabody Institute of the Johns Hopkins University.
- Eric Battenberg, Adrian Freed, & David Wessel. Advances in parallelization of music and audio applications. — The Center for New Music and Audio Technologies and The Parallel Computing Laboratory University of California Berkeley, 2010. — 28 січня.