SuperCollider

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
SuperCollider
SuperCollider Cube.png
SuperCollider-Emacs.png
SuperCollider, запущений у редакторі Gnu Emacs на Gnu/Linux
Тип Динамічні мови програмування[1], об'єктно-орієнтована мова програмування[d] і audio software[d]
Автор(и) James McCartney та інші
Версії 3.9.3[2]
Репозиторій github.com/SuperCollider/SuperCollider
Платформа кросплатформа
Операційна система Mac OS X, Gnu/Linux, Microsoft Windows
Ліцензія GNU GPL версії 3
supercollider.sourceforge.net

SuperCollider у Вікісховищі?

SuperCollider — програмне середовище і мова програмування для синтезу і обробки звуку в реальному часі і створення алгоритмічних, інтерактивних музичних та аудіовізуальних композицій[3][4]. SuperCollider є вільним програмним засобом (надається на умовах ліцензії Gnu GPL версії 3) і працює на системах Mac OS X, Gnu/Linux, Microsoft Windows і FreeBSD[5].

Поряд із Max/MSP і PureData, SuperCollider є одним з провідних програмних засобів для синтезу звуку в реальному часі з допомогою алгоритмів[6][7].

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;

Примітки[ред.ред. код]

  1. а б англійська Вікіпедія — 2001.
  2. Release 3.9.3 — 2018.
  3. Веб-сайт проекту
  4. Вступне слово до The SuperCollider Book
  5. Сторінка завантаження SuperCollider. Нижче вказано, що з джерельних кодів можна скомпілювати також на FreeBSD.
  6. David S. Sullivan Jr., Stephan Moore, Ichiro Fujinaga. Realtime Software Synthesis for Psychoacoustic Experiments. — The Peabody Institute of the Johns Hopkins University.
  7. 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.