Music Programming Tecnologias e Informática Musical Janeiro de 2011 Escola Superior de Música de Lisboa 1 "Se Mozart fosse vivo… Com certeza o seu instrumento preferido seria um teclado MIDI!" Anónimo Escola Superior de Música de Lisboa Tecnologias e Informática Musical 2 Music Programming e Music Programming Languages Trabalho de pesquisa No âmbito da disciplina de: Tecnologias e Informática Musical Realizado por: Nelson de Almeida nº 2010458; Rafael Ribeiro nº 2010436; Professor: Bruno Nery Escola Superior de Música de Lisboa Tecnologias e Informática Musical 3 Índice Music Programming ........................................................................................................ 4 O que é um programa? ................................................................................................. 4 O porquê de utilizar programas para criar música. ...................................................... 5 O porquê de não utilizar programas para criar música. ............................................... 5 Programação de música e o seu futuro. ....................................................................... 6 Tipos de Síntese de Som ................................................................................................. 7 Music Programming Languages ..................................................................................... 8 Conclusão ......................................................................................................................... 9 Referências Bibliográficas ............................................................................................ 10 Escola Superior de Música de Lisboa Tecnologias e Informática Musical 4 Music Programming Music programming é um tipo de produção musical e de performance. Este tipo de produção utiliza, normalmente, sequenciadores ou programas de computador para criar som. O que é um programa? Um programa é um conjunto de instruções dado a um computador para que ele as possa executar. Para que o computador perceba as instruções, elas são escritas utilizando linguagens específicas, como por exemplo, Pascal, Java, entre outras. Estas linguagens podem ser, códigos numéricos que dizem ao computador, de uma forma bastante directa, quais circuitos deve ligar ou desligar (este tipo de linguagem é vulgarmente chamado de linguagem “low level”), ou pode ser uma linguagem com semelhanças com a linguagem humana, cuja, por si só, não controla directamente a operação do computador mas que depois de convertida para termos simples e, em seguida, para código binário pode então ser compreendida pelo computador. Linguagens como a Basic (chamadas de “high level”) são primeiro interpretadas ou avaliadas por outros programas e, após esse procedimento, são então convertidas para instruções de baixo nível. O utilizador de um programa raramente conhece o seu conjunto de instruções e sabe apenas o resultado da utilização desse programa. O utilizador pode ter que inserir informação adicional para que o programa execute a sua função, além de ter que executar ele próprio uma acção, como pressionar um botão do rato ou do teclado. O programa pode também dar opções ao utilizador de como quer que a operação seja realizada. Um programa tem também, obrigatoriamente, que ter um ou um grupo de algoritmos. Um algoritmo é qualquer conjunto de regras no qual uma entrada é transformada numa saída diferente. Algoritmos que contenham conjuntos de instruções que não possam, de maneira nenhuma, ser modificados pelo utilizador, ou seja, pela informação inserida ou pela sua utilização, mesmo que o resultado obtido varie em função dos dados inseridos, são chamados de algoritmos “black box”. Este termo significa o utilizador tem acesso bloqueado ao conjunto interno de regras e acções do algoritmo, o que quer dizer que, o algoritmo não é nem reprogramável nem transformado por acções externas. Escola Superior de Música de Lisboa Tecnologias e Informática Musical 5 O porquê de utilizar programas para criar música. Se se criar um grupo de instruções para desempenhar funções práticas utilizadas por compositores ou instrumentistas, utilizando um computador, podemos optimizar o seu trabalho. Por acréscimo, se definirmos novas funções (por oposição a meramente imitar funções que o ser Humano já executa) podemos, desse modo, expandir as habilidades ao dispor dos compositores e instrumentistas ao ponto de chegar a prestações nunca antes ouvidas. Se repararmos no conceito de musicalidade, este está bastante restringido pelas limitações físicas do homem. Quando estas dificuldades são ultrapassadas, utilizando programação, o que é considerado musical pode ser vastamente alargado. Acrescentando, as ondas sonoras no campo analógico podem ser expressas por uma entidade matemática e/ou em amostras numéricas, o que permite que seja possível sintetizar criando assim novos sons. Para a síntese de som é apenas preciso um computador pessoal e um dispositivo que transmita informação MIDI. Utilizando o computador pode-se criar qualquer tipo de processamento algorítmico nos dados enviados para o gerador de som do dispositivo MIDI. Este processamento pode incluir transformações em todos os aspectos sobre os quais o instrumento tem controlo, como por exemplo, o timbre e a altura, tal como transformações sobre aspectos musicais, como ritmo, delay, ou qualquer outro tipo de processamento imaginável. A informação pode ser originada pelo computador ou pelo controlador MIDI e ser depois processada pelo programa. Essa informação tem que ser fornecida pelo compositor ou pelo executante. Quando todo o processamento é executado dentro de um tempo em que não chega a ser perceptível para o ser Humano, chama-se de processamento em tempo real. De maneira a que seja possível isto acontecer, deve-se sempre utilizar algoritmos simples para não criar delay desnecessário. O porquê de não utilizar programas para criar música. A síntese de som e os programadores musicais, normalmente, adicionam complexidade aos seus algoritmos de maneira a criar algum interesse no seu efeito. Infelizmente, mesmo a complexidade pode ser simples se for previsível, ou pode perder o interesse se for demasiado complexa, tal como, ser apenas desinteressante. É conhecido que o som de um instrumento acústico é muito atractivo porque contém inúmeros e complexos harmónicos a ele associados. A síntese de som já tentou adicionar efeitos para simular a complexidade de um som de um instrumento acústico, efeitos como ruído ou vibrato. Escola Superior de Música de Lisboa Tecnologias e Informática Musical 6 Infelizmente, para a grande maioria dos casos, a natureza precisa das variações que tornam um som acústico tão atractivo continuam desconhecidas (há que notar também a diferença entre a simulação de um som, e a sintetização de um som). É também impossível de criar um som complexo ao ponto de ter em consideração aspectos que são importantes quando se toca um instrumento acústico, numerando alguns aspectos referentes a um violinista quando tocada uma nota temos, o ângulo do arco, a velocidade do arco, a pressão exercida no arco, o ataque, a localização do dedo, a pressão do dedo, o movimento do dedo, tal como todos os aspectos psicológicos do instrumentista. Dados estes factos podemos também concluir que é bastante difícil definir um algoritmo que seja útil para todos os compositores do que para apenas um. E que é bastante difícil definir a metodologia geral de um compositor do que definir aspectos isolados da sua música, isto porque é claramente impossível atribuir uma razão lógica ao facto de um compositor escolher uma nota, entre tatas possíveis, numa certa sequência. Programação de música e o seu futuro. Certamente seria um erro descartar o potencial da programação por computador na criação musical apenas porque este não pode interpretar um instrumentista. Já foi dito que o que é musical é bastante limitado pelo que é possível. Da mesma forma como os instrumentistas tiveram de melhorar a sua técnica, muito por culpa das exigências revolucionárias dos compositores, também aumentou o gosto musical para aceitar estas novas composições. Deste modo, o uso dos computadores para expandir as nossas possibilidades ou criar novas, e alcançar os nossos objectivos é a forma de pensar mais produtiva e a direcção desejada para a tecnologia na música. O empenho criativo, tal como o empenho científico, requerem consideração cuidada de que objectivos perseguir. Logo, por consequência, o futuro da programação musical vai depender das futuras necessidades de quem compõe música. Escola Superior de Música de Lisboa Tecnologias e Informática Musical 7 Tipos de Síntese de Som Entre os vários tipos de síntese de som encontramos os seguintes: Síntese aditiva; Adição de frequências harmónicas, ou não, a um som de base. Síntese subtractiva; Tipo de síntese em que se retiram harmónicos a uma onda, normalmente, utilizam-se ondas de dente d serra ou ondas quadradas para este tipo de síntese. Síntese granular; Tipo de síntese que opera a um nível de microssegundo, utilizando amostras de uma faixa de áudio. Além destas, temos também: Síntese com base em modulação de frequência; Síntese linear aritmética; Síntese de distorção; Síntese de distorção de fase; Síntese de modelação física; Síntese vectorial; Essynth; Formant; Etc. Escola Superior de Música de Lisboa Tecnologias e Informática Musical 8 Music Programming Languages Ficam aqui algumas das línguas de programação para música: Abc (usada em conjunto com ASCII); ChucK; Cmix, Real-time Cmix (para sintetizar); CMusic; Common Lisp Music (Sintetizar e processamento de sinal); Csound; Functional Audio Stream (FAUST) (processamento em tempo real); Haskore; Hierarchical Music Specification Language (HMSL) (síntese musical); Impromptu; jMax, Java-based MAX clone; jMusic; JSyn; Liquidsoap; Loco; Max/MSP; Melodyne; Music Macro Language (MML); MUSIC-N; Nsound; Nyquist; OpenMusic; PatchWork; Pure Data; PWGL; Q-Audio; Ring Tone Transfer Language; Soundscrape; Strasheela; Structured Audio Orchestra Language; SuperCollider; SynthEdit; Usine; Escola Superior de Música de Lisboa Tecnologias e Informática Musical 9 Conclusão Como em tudo o resto, também no mundo da música a tecnologia tem grande influência. Já para não falar no que toca a gravações e edições, o mundo dos sintetizadores veio provar que não é preciso saber tocar violino para podermos ter uma música com um. Que não é preciso uma orquestra para gravar uma fuga de Bach. Um bom software basta. É claro que uma simulação o mais realista possível necessita de um bom engenheiro de som para ser feita. No entanto as sintetizações estão ao alcance de quaisquer pessoas desde os curiosos aos profissionais. “Diminuem os músicos e aumentam os informáticos”. Achamos que esta conclusão não é de todo certa. Os músicos continuam a existir. Existem é novos géneros de música que não necessitam de um violinista, flautista, etc. Mas música natural e música sintetizada não têm de estar em conflito. Chama-se apenas evolução e há que saber viver com isso. Escola Superior de Música de Lisboa Tecnologias e Informática Musical 10 Referências Bibliográficas http://en.wikipedia.org/wiki/Programming_%28music%29 http://music.arts.uci.edu/dobrian/CD.MusicProgramming.htm http://en.wikipedia.org/wiki/Category:Sound_synthesis_types Visitados entre 10 e 12 de Janeiro de 2011 Escola Superior de Música de Lisboa Tecnologias e Informática Musical