MUSICAS NA HP 48
Sidney Pacheco
Logo que comecei a mexer com programação na HP48 e me deparei com a função BEEP percebi que não seria nada complicado fazer um programa para tocar músicas na HP48, mesmo não sabendo absolutamente nada de teoria ou prática musical.
A função BEEP ( PRG NXT OUT NXT BEEP ) usa dois argumentos para emitir um som: o primeiro deles é a freqüência em Hertz do som e o segundo é a duração do som em segundos. Por exemplo:
4000 2 BEEP
emite um BEEP de 4000 Hz durante 2 segundos.
Corri à biblioteca da Universidade e vasculhei livros de Física até descobrir em um deles, infelizmente não me recordo qual, as freqüências das notas musicais. Em seguida fiz um programa simples para cada nota, e outro para executar a nota com o tempo fornecido (que deve ser digitado):
NOTA |
FREQÜÊNCIA EM Hz |
PROGRAMA |
NOME DO PROGRAMA |
LÁ |
440 |
<< 440 T >> |
A |
SÍ |
493,9 |
<< 493,9 T >> |
B |
DÓ |
523,2 |
<< 523,2 T >> |
C |
RÉ |
587 |
<< 587 T >> |
D |
MÍ |
659,2 |
<< 659,2 T >> |
E |
FÁ |
698,4 |
<< 698,4 T >> |
F |
SOL |
783,8 |
<< 783,8 T >> |
G |
Programa para Executar a Nota |
<< SWAP BEEP >> |
T |
A função SWAP, que troca o valor da linha 1: pelo da linha 2: e vice-versa, do programa T, foi necessária pois da maneira executada as posições de freqüência e tempo estão invertidas.
Para minha decepção acabei descobrindo que existiam outras notas intermediárias, os sustenidos e bemóis. Por exemplo, o meio tom intermediário entre o DÓ e o RÉ chama-se DÓ sustenido, ou RÉ bemol. Apesar dos dois nomes se trata da mesma nota, ou seja, fisicamente é a mesma freqüência. Isto me levou a criar então mais alguns programas simples:
NOTA |
FREQÜÊNCIA EM Hz |
PROGRAMA |
NOME DO PROGRAMA |
LÁ# |
466,2 |
<< 466,2 T >> |
AS |
DÓ# |
554 |
<< 554 T >> |
CS |
RÉ# |
622 |
<< 622 T >> |
DS |
FÁ# |
739,8 |
<< 739,8 T >> |
FS |
SOL# |
830,4 |
<< 830,4 T >> |
GS |
Existe SÍ e MÍ sustenido e bemol, no entanto pelo fato destas notas já serem meio tons, MÍ sustenido tem a mesma freqüência da nota FÁ.
Pronto, já tenho todas as notas ! Infelizmente ainda não, descobri ainda que existe algo chamado oitavas. Oitava quer dizer que a mesma nota pode estar em uma escala superior ou inferior ( oitava acima e abaixo ). Na prática uma nota uma oitava acima significa o dobro da freqüência, e a metade da freqüência se uma oitava abaixo. Por exemplo o som de freqüência 220 Hz e o som de 880 Hz são uma oitava abaixo e uma acima da nota LÁ 440 Hz. Façamos então mais alguns programas para criarmos uma oitava acima da já criada:
NOTA |
FREQÜÊNCIA EM Hz |
PROGRAMA |
NOME DO PROGRAMA |
LÁ |
880 |
<< 880 T >> |
A2 |
LÁ# |
932,4 |
<< 932,4 T >> |
AS2 |
SÍ |
987,8 |
<< 987,8 T >> |
B2 |
DÓ |
1046,2 |
<< 1046,2 T >> |
C2 |
DÓ# |
1108 |
<< 1046,2 T >> |
CS2 |
RÉ |
1174 |
<< 1046,2 T >> |
D2 |
RÉ# |
1244 |
<< 1046,2 T >> |
DS2 |
MÍ |
1318,4 |
<< 1318,4 T >> |
E2 |
FÁ |
1396,8 |
<< 1396,8 T >> |
F2 |
FÁ# |
1479,6 |
<< 1479,6 T >> |
FS2 |
SOL |
1567,6 |
<< 1567,6 T >> |
G2 |
SOL# |
1660,8 |
<< 1660,8 T >> |
GS2 |
Conforme a música que você deseja inserir você perceberá a necessidade de mais oitavas e também de uma pausa. Inseri até hoje 50 músicas em minha HP, e para isto precisei inserir apenas 4 oitavas. Para criar uma pausa usei o programa:
<< WAIT >> com o nome P
A função WAIT também funciona com um argumento de tempo em segundos, de modo que 3 WAIT faz com que a calculadora aguarde 3 segundos antes de executar a próxima tarefa do programa.
Agora sim PRONTO ! Vamos experimentar o programa criando uma melodia simples que todos já ouviram, para tanto a música ( seqüência de notas ) deve ser colocada dentro de outro programa ( TESTE ) que será executado:
<< ,3 C ,3 D ,3 E ,3 F ,2 F ,2 F ,2 P ,3 C ,3 D ,3 C ,3 D ,2 D ,2 D >> TESTE
De início o tempo das notas ( ,3 e ,2 no caso) é algo meio de ouvido, você experimenta um valor e vê se o andamento está OK.
Para fazer uma música maior, será necessário copiá-la de algum local, e não tem outro jeito a não ser de uma partitura. Lá fui eu aprender a ler partituras para tocar HP. Uma partitura, aquelas 5 linhas com clave de sol cheias de "bolinhas" e "risquinhos", contém tudo o que é preciso para fazer a música, ou seja, as notas e seus respectivos tempos. As notas são dadas pela posição da "bolinha" nas linhas, e os tempos são dados pelo tipo das "bolinhas". No entanto prefiro não entrar neste assunto por não dominá-lo o suficiente para escrever sobre. Se você já sabe ler partituras com certeza já pegou o espírito da coisa.
Como, usando RPL, a HP só pode emitir uma nota a cada vez, não é possível tocar acordes ( que são conjuntos de no mínimo 3 notas ). Aconselho então, ao tirar músicas, usar partituras de instrumentos melódicos, como flauta doce.
Experimente agora a seguinte seqüência de notas:
<< ,2 C ,2 D ,4 E ,4 G ,4 G ,4 E ,8 F ,4 P ,2 C ,2 D ,4 E ,4 G ,4 G ,4 F ,8 E >>
http://pagina.de/pacheco
VOLTA PRÓXIMO