SuperCollider
Тип | об'єктно-орієнтована мова програмування авдіопрограмаd динамічна мова програмування і audio programming languaged |
---|---|
Автор | James McCartney та інші |
Версії | 3.13.0 (20 лютого 2023)[1] |
Платформа | кросплатформенний |
Операційна система | Mac OS X, Gnu/Linux, Microsoft Windows |
Ліцензія | GNU GPL версії 3 |
Репозиторій | github.com/SuperCollider/SuperCollider |
Вебсайт | supercollider.sourceforge.net |
SuperCollider — програмне середовище і мова програмування для синтезу і обробки звуку в реальному часі і створення алгоритмічних, інтерактивних музичних та аудіовізуальних композицій[2][3]. SuperCollider є вільним програмним засобом (надається на умовах ліцензії Gnu GPL версії 3) і працює на системах Mac OS X, Gnu/Linux, Microsoft Windows і FreeBSD[4].
Поряд із 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.13.0 — 2023.
- ↑ Вебсайт проекту. Архів оригіналу за 14 березня 2011. Процитовано 1 листопада 2013.
- ↑ Вступне слово до The SuperCollider Book. Архів оригіналу за 16 лютого 2014. Процитовано 1 листопада 2013.
- ↑ Сторінка завантаження SuperCollider [Архівовано 3 листопада 2013 у Wayback Machine.]. Нижче вказано, що з джерельних кодів можна скомпілювати також на 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. — 7 грудня.