Salve!
Fiquei com duas pulgas Pitagóricas atrás da orelha e quis gastar mais um tempinho nisso. Minha curiosidade era tanto matemática quanto computacional. Descobri umas coisas legais que compartilho com vocês aqui.
Primeiro fiquei pensando em encontrar uma expressão analítica para a proporção Pitagórica da k-ésima nota da escala cromática. Pensando num intervalo de oitava "abstrata" entre as frequências f=1 e f=2 e mapeando os semitons entre k=0 (f=1) até k=12 (f=2), eu queria a expressão da função Pit(k) = 3^l/2^m (onde l e m aqui dependem de k). Construir computacionalmente essa função é fácil (não depende de expressão analítica); em octave:
k=0:11;
for j=k
l(mod(7*j,12)+1) = j;
endfor
O m é calculado em funcao de l a fim de trazer o resultado para a faixa [1...2]:
m= floor(l*log(3)/log(2));
As proporções 3^l/2^m são portanto
3^0/2^0 3^7/2^11 3^2/2^3 3^9/2^14 3^4/2^6 3^11/2^17 3^6/2^9 3^1/2^1 3^8/2^12 3^3/2^4 3^10/2^15 3^5/2^7
ou equivalentemente
1.0000 1.0679 1.1250 1.2014 1.2656 1.3515 1.4238 1.5000 1.6018 1.6875 1.8020 1.8984
Voltando à expressão analítica, como as quintas justas correspondem a passos de 7 semitons e cada passo aumenta o l em 1 unidade, seria necessário resolver a equação 7*l = 12*q+k. Essa é uma equação diofantina, pois todas as variáveis precisam ser inteiras, e além disso dado um certo k queremos encontrar o menor valor natural de l (para o qual existe um valor de q também natural que satisfaz a equação). Até semana passada se alguém me pedisse um exemplo de aplicação de teoria dos números (ou álgebra I) em computação musical eu teria que gastar um tempinho pensando... Bom, a solução desse problema (obtida por inspeção a partir dos valores de l=0,7,2,9,4,1,6,1,8,3,10,5) é l=mod(6*mod(k,2)+k,12); e m= floor(l*log(3)/log(2));
Aí fui implementar um teclado no Pd usando essas fórmulas fechadas para l e m. Mas fiquei com uma preguiça danada de ficar copiando e colando zilhões de códigos iguais (para as teclas do teclado e para os sintetizadores correspondentes). Quem viu aquele patch pitagórico do site que eu indiquei sabe de que eu estou falando. Então gastei um tempinho para criar um mecanismo automático que gerasse o tal do teclado. O resultado está em anexo. Quando vocês abrirem o patch o teclado já está lá, e dá para usar sem se preocupar com nada disso, mas quem quiser ver a geração automática pode apagar todas as teclas do teclado, todos os osciladores (do subpatch com este nome), e seguir as instruções do subpatch "constroi_teclado".
Sobre o uso do patch propriamente dito, basta aumentar o volume e começar a tocar. Há um seletor para indicar em qual nota começa o ciclo das quintas, e também para definir qual a frequência de referência que corresponde ao A4. Para tocar numa tonalidade X, é importante esconder a "quinta do lobo" o mais longe possível no campo harmônico (por exemplo, para tocar em C maior, selecionar o início do ciclo das quintas em F# ou C# é uma boa ideia). Alguns fenômenos interessantes, como a quinta do lobo, a "dissonância" das tríades maiores e a Coma Pitagórica estão ilustrados na parte inferior do patch.
Abraços,
Marcelo