1.10. Crie um teclado musical a partir das teclas do seu computador. Sabemos que a escala musical comumente utilizada, chamada escala temperada, divide cada oitava em 12 semitons e a cada oitava a freqüência varia de um fator 2, sendo a razão entre as freqüências de semitons vizinhos igual a 21/12. Assim, com a definição da freqüência de uma nota, toda a escala musical é construída e o padrão é o Lá fundamental, 440Hz . Ou seja, para obter a escala musical devemos multiplicar cada um dos tons e semitons por 21.0/12.0. Assim, podemos obter a seguinte escala (com arredondamento):
• Abra um novo arquivo fonte e salve ele como sendo do tipo C e não C++
• Crie um vetor com 12 posições para armazenar as freqüências das notas musicais
• Inicialize a primeira nota com o valor 554, para que o Lá seja algo em torno de 880 Hz
• Use um laço de repetição e atribua os valores das freqüências para as demais notas musicais, multiplicando a nota musical anterior por 2 elevado a 1.0/12.0
• Mostre a escala das notas musicais e veja se os valores estão próximos da 3ª linha da tabela acima
• Crie um laço infinito que será encerrado apenas se o usuário digitar ENTER (tecla igual a 13 na Tabela ASCII). Utilize a função getch da biblioteca conio.h para ler a tecla digitada. Exemplo: tecla = getch( );
• Utilize a função beep da biblioteca windows.h para gerar o som: beep(freqüência, duração);
• Atribua às teclas do PC a execução do beep com uma determinada freqüência. Adicionalmente, mostre o nome da nota que está sendo tocada. Utilize um if para cada possibilidade, sem o else, ou utilize o switch (matéria extra, para quem quiser correr atrás).
Pergunta
joaozinho
1.10. Crie um teclado musical a partir das teclas do seu computador. Sabemos que a escala musical comumente utilizada, chamada escala temperada, divide cada oitava em 12 semitons e a cada oitava a freqüência varia de um fator 2, sendo a razão entre as freqüências de semitons vizinhos igual a 21/12. Assim, com a definição da freqüência de uma nota, toda a escala musical é construída e o padrão é o Lá fundamental, 440Hz . Ou seja, para obter a escala musical devemos multiplicar cada um dos tons e semitons por 21.0/12.0. Assim, podemos obter a seguinte escala (com arredondamento):
Dó Ré Ré# Mi Fá Fá# Sol Sol# Lá La# Si Dó#
277 294 311 330 349 370 392 415 440 466 494 5231ª oitava
a554 587 622 659 698 740 784 831 880 932 988 1047Uma oitavan acima
Dicas:
• Abra um novo arquivo fonte e salve ele como sendo do tipo C e não C++
• Crie um vetor com 12 posições para armazenar as freqüências das notas musicais
• Inicialize a primeira nota com o valor 554, para que o Lá seja algo em torno de 880 Hz
• Use um laço de repetição e atribua os valores das freqüências para as demais notas musicais, multiplicando a nota musical anterior por 2 elevado a 1.0/12.0
• Mostre a escala das notas musicais e veja se os valores estão próximos da 3ª linha da tabela acima
• Crie um laço infinito que será encerrado apenas se o usuário digitar ENTER (tecla igual a 13 na Tabela ASCII). Utilize a função getch da biblioteca conio.h para ler a tecla digitada. Exemplo: tecla = getch( );
• Utilize a função beep da biblioteca windows.h para gerar o som: beep(freqüência, duração);
• Atribua às teclas do PC a execução do beep com uma determinada freqüência. Adicionalmente, mostre o nome da nota que está sendo tocada. Utilize um if para cada possibilidade, sem o else, ou utilize o switch (matéria extra, para quem quiser correr atrás).
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.