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

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.