SuperCollider

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

SuperCollider
SuperCollider, запущений у редакторі Gnu Emacs на Gnu/Linux
Тип об'єктно-орієнтована мова програмування
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;

Примітки

  1. Release 3.11.2 — 2020.
  2. Вебсайт проекту
  3. Вступне слово до The SuperCollider Book
  4. Сторінка завантаження SuperCollider. Нижче вказано, що з джерельних кодів можна скомпілювати також на FreeBSD.
  5. David S. Sullivan Jr., Stephan Moore, Ichiro Fujinaga. Realtime Software Synthesis for Psychoacoustic Experiments. — The Peabody Institute of the Johns Hopkins University.
  6. 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 січня.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.