Neste semestre estou me dedicando a um trabalho na faculdade, um pouco por obrigação e um pouco por diversão. É um projeto que envolve um música, matemática e computação e eu espero que consiga mostrar para vocês alguns resultados legais, porém é provável que até o final do semestre eu só tenha acabado a parte chata D:
De qualquer forma, remexendo um pouco pelos canos da internet eu encontrei essa linguagem chamada ChucK e devo dizer que ela faz juz ao nome que carrega.
A idéia dela é ser uma linguagem de script, voltada para geração sons, com enfâse na corretude do tempo (strongely-timed como descrito na página do projeto) e suporte para programação on-the-fly (enquanto o programa está em execução). A linguagem possui construções interessantes para representar o tempo e fazer uns sons básicos é uma barbada.
Exemplo
Este programa, que fiz seguindo o tutorial, fica tocando em loop alguns blips e bloops randômicos (me lembra um pouco da música dos jogos Metroid :)
SinOsc s => dac;
while (true) {
300::ms => now;
Std.rand2f(30.0,1000.0) => s.freq;
}
Problemas com x64
Use sistemas operacionais 64 bits eles disseram, você não terá problemas eles disseram…
A arquitetura 64 bits contra ataca e eu tive problemas rodando ele num Linux x64. A solução é compilar o ChucK num pc 32 bits e pegar o executável… eu sei, eu sei… pelo menos funciona.
Sintaxe Colorida :)
No embalo de aprender algo novo eu fiz a definição da sintaxe do ChucK para o editor gedit (que eu curto muito) e ela pode ser encontrada aqui, com instruções de instalação. É possível também que funcione com outros editores baseados em GTk.
Sintam-se livres para contribuir com o projeto.
Enfim…
Chuck Norris aprova a linguagem ChucK.
Por enquanto é isso… não percam a esperança nesse blog e, como eu sei que vocês gostam do que eu posto, me incentivem nos comentários que eu tento voltar mais seguido.
Pingback: Lines of Code
Pingback: Categorias e ChucK « Lines of Code
Pingback: ChucK, parte um « Lines of Code