Csound
(pequena introdução)Uma linguagem para síntese e processamento musicais. O LaMuT é usuário do Csound por diversas razões, dentre as quais cabe assinalar: é multiplataformas (pode 'rodar' em qualquer sistema operacional), grátis (freeware, disponível para download em diversos sites), além de estar sendo constantemente revisado por assinantes de sua lista csound-l.
Desenvolvido nos laboratórios do M.I.T. por Barry Vercoe, o Csound tem seus fundamentos no Music V, que Max Matthews criou no Bell Labs durante a década de sessenta. Atualmente o Csound tornou-se um favorito entre programadores, compositores, pesquisadores e técnicos de som do mundo inteiro por inúmeras virtudes, dentre as quais se destaca sua portabilidade: roda tanto num SGI quanto num Atari.
Básicamente o que Csound faz é gerar ou transformar sons por meio da compilação de dois arquivos (formato texto): um com terminação .orc (para 'orquestra') e outro .sco (para 'score' - partitura).
No primeiro monta-se um dispositivo de um ou mais instrumentos por meio da interligação de subrotinas (ugens) como: osciladores, filtros, geradores de ruído, envoltórias, etc.
No segundo dá-se as instruções relativas ao desempenho dos instrumentos: quais notas, durações, alturas, etc..
Exemplo básico de uma compilação com o Csound.1) Geração de um lá, crescendo linearmente durante um segundo, com forma de onda senoidal:
Cria-se um arquivo exemplo.orc no editor de texto escrevendo o seguinte:instr 1
kcresce line 0, p3, 1
acoisa oscil p4, p5, p6
out acoisa*kcresce
endin
Os valores p3 ... pn são representados no arquivo complementar exemplo.sco:
f1 0 1024 10 1
i1 0 1 15000, 440, 1
eonde i1 (na casa p1) solicita a compilação de uma nota começando no instante 0 (casa p2), com um segundo (em p3) de duração, amplitude máxima 15000 (em p4, sendo multiplicada pela linha que começa em 0 e termina em 1, durante p3), tem 440 Hz (em p5) e forma de onda f1 (o valor 1 em p6). F1, também registrado em exemplo.sco, é uma função dada por uma table de 1024 pontos, iniciada no instante 0, pelo gerador 10, que é apenas um dentre mais de vinte geradores disponíveis em Csound. Este gerador 10 produz senóides com parciais na série harmônica, com amplitudes determinadas nos pn seguintes. Se apenas p5 traz um valor (1), isto significa que o gerador 10 só vai gerar a fundamental de 440.
2) Para gerar duas notas (o mesmo lá 440Hz mais o da oitava superior)) com a mesma .orc, basta incluí-las como novas linhas de inicialização (em i1) em exemplo.sco:
Uma vez construídos esses arquivos, connvoca-se Csound para compilá-los, em qualquer das diversas plataformas que o rodam.f1 0 1024 10 1
i1 0 15000, 440, 1
i1 0 15000, 880, 1
eMas com cuidado, pois a soma de duas notas com 15000 de amplitude terá agora seu máximo em 30000, o que se aproxima de 32767, o máximo permitido quando se processa sons com resolução de 16 bits... A cada vez que a amplitude do som passa desse limite, ele deixa de ser registrado.
Evidentemente existem modos mais simples de se produzir um ou dois la. Mas a beleza de Csound começa quando tudo se complica.
Para entrar na mailing-list do Csound
O Csound Front Page no Department of Music, Leeds University tem
boas dicas para o aprendizado de Csound.Outros exemplos Csound do LaMuT:
J.-P. Gather: email: jpgather@acsu.buffalo.edu
Subject: ACCCI. (O arquivo ACCCI organizado por Gather: é um curso progressivo de manipulação de orcs e scos, com diversos exemplos de compilações de obras de Risset.)