SuperCollider — это виртуальная среда и язык программирования для аудиосинтеза в реальном времени. В основу вошли понятие объектов схожее с Smalltalk, стиль синтаксиса C, принципы функционального программирования.

С третьей версии SuperCollider работает одновременно как клиент и сервер, обмениваясь сообщениями по OSC протоколу.

Примеры кода

Проигрывание микса розового шума и синуса частоты 800 Гц:

{ SinOsc.ar(800, 0, 0.1) + PinkNoise.ar(0.01) }.play;

Модуляция частоты синуса, а также амплитуды шума другим синусом, чья частота зависит от горизонтальной позиции курсора мыши:

var x = SinOsc.ar(MouseX.kr(1, 100)); SinOsc.ar(300 * x + 800, 0, 0.1) + PinkNoise.ar(0.1 * x + 0.1) }.play;

Цикл, создающий коллекцию, в которую вписывается произведение индекса и элемента:

[1, 2, 5, 10, -3].collect { |item, i| item * i }

Функция для построения факториала:

f = { |x| if(x == 0) { 1 } { f.(x-1) * x } }

См. также

Sonic Pi

Ссылки

Категория:Свободное звуковое программное обеспечение Категория:Звуковые редакторы Категория:Электронная музыка Категория:Предметно-ориентированные языки программирования Категория:Свободные компиляторы и интерпретаторы