SuperCollider

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

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

Примеры кода[править | править вики-текст]

{ 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 } }