SuperCollider

De Wiki Software Livre na Educação

SuperCollider é uma linguagem e ambiente de programação, lançado originalmente em 1996 por James McCartney para síntese de áudio e composição algorítmica em tempo real.<ref name="sc1996">SuperCollider: Uma nova linguagem de programação em tempo real (em inglês) Proc. International Computer Music Conference (ICMC’96), pp. 257–258 (2006).</ref><ref name="sc2002">Repensando a linguagem musical do computador: SuperCollider Computer Music Journal, 26 (2002), pp. 61–68.</ref> É um software livre, lançado sob os termos da GNU.<ref>Anúncio de lançamento da versão 3.3.1 (em inglês) (Junho de 2009).</ref>

Desde então, evoluiu para um sistema usado e futuramente desenvolvido tanto por cientistas quanto por artistas que trabalham com som. Sua linguagem de programação dinâmica expressiva e eficiente fez com que ele se tornasse um ponto importante para a pesquisa acústica e a programação interativa.

Arquitetura[editar]

Desde a versão 3, o ambiente é dividido em servidor, ou scsynth, e cliente, ou sclang, que se comunicam utilizando OSC (Open Sound Control).

A Linguagem SC combina a estrutura orientada a objeto de Smalltalk e os recursos de uma programação funcional com uma sintaxe familiar a C.

O Servidor SC suporta simples plugins API feitos em C, o que torna fácil a escrita de algoritmos de som eficientes, na qual podem ser combinadas em gráficos e cálculos. Por causa de todo o controle externo no servidos ocorrer via OSC, é possível seu uso com outras linguagens ou aplicações.

Servidor (scsynth)[editar]

O processo de geração de som é realizado em um otimizado executável em linha de comando (chamado scsynth). Na maioria dos casos, ele é controlado pela linguagem de programação SuperCollider, mas também pode ser independente. O servidor de áudio possui os seguintes recursos:

Exemplos de código[editar]

<source lang="c"> // Gera ruído Branco {WhiteNoise.ar()}.play; </source>

<source lang="c"> // Gera onda senoidal com frequência de 440 Hz (nota Lá) {SinOsc.ar(440)}.play; </source>


Ligações Externas[editar]

Referências[editar]