SuperCollider

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
SuperCollider
{{{logotipo}}}
Desenvolvedor James McCartney e outros
Lançamento 1996
Versão estável 3.4 (15 de julho de 2010; há 215 semanas e 5 dias)
Sistema operacional Linux, MAC OS X, Windows e FreeBSD [1]
Licença GNU General Public License
Estado do desenvolvimento Ativo
Página oficial http://supercollider.sourceforge.net/

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.[2] [3] É um software livre, lançado sob os termos da GNU.[4]

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 | editar código-fonte]

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 | editar código-fonte]

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:

  • Acesso a Open Sound Control
  • Extensão API ANSI C
  • Qualquer número de canais de entrada e saída, incluindo configuração multicanal[5]
  • Permite acesso a uma estrutura em árvore ordenada, em quê se pode definir a ordem de execução
  • Estrutura dinamizada dos sinais, permitindo maior fluidez
  • Buffers para leitura e escrita
  • Cálculo de diferentes taxas de áudio, controle e demanda, dependendo do necessário.

Exemplos de código[editar | editar código-fonte]

// Gera ruído Branco
{WhiteNoise.ar()}.play;
// Gera onda senoidal com frequência de 440 Hz (nota Lá)
{SinOsc.ar(440)}.play;

Referências


Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre Software é um esboço. Você pode ajudar a Wikipédia expandindo-o.