Existe um Shield Midi para arduino que permite o envio de Notas Musicais em modo serial e este Shield possui 128 instrumentos musicais em formato GM (General Music) a grande vantagem deste Shield em relação ao midi de computador é a possibilidade de controlar efeitos como Reverb, Chorous, Ressonancia, Modulação etc ...

As notas são passadas em 3 parâmetros (Note, Key, Intensidade) o timbre em 4 parâmetros (Program_Change, Timbre, MSB, LSB) e os controles em 4 parâmetros (Controller, Tipo, MSB, LSB) enfim o padrão Midi compatível com Teclados Musicais. E a placa possui polifonia de 48 notas ou seja consegue executar 48 notas de forma simultânea.

Bom a minha pergunta não em relação ao midi e sim as entradas do Arduino e no caso do Arduino UNO possui apenas um total de 20 entradas e eu precisava de no mínimo 176 entradas apenas para as teclas do piano.

Já ou vi dizer que é possível fazer uma arquitetura em camadas de multiplexadores para resolver este problema. Gostaria de visualizar algum esquema que possibilitasse isso.

O piano possui 88 teclas então precisarem de 2 contatos para cada tecla assim conseguirem na programação prever a intensidade pressionada da tecla com base nos sinais recebidos entre o contato A e B de cada tecla. É como se eu precisasse de 176 botões que podem ser pressionados de forma individual ou simultâneo.

Já me falaram que não é tão difícil fazer isso e eu precisarei apenas de 2 multiplexadores. No primeiro tenho que capturar qual a tecla pressionada não importando em qual oitava estou ou seja o primeiro analisará qual o nome da tecla sem importar se é aguda ou grave.

O segundo analisará qual a oitava em que esta tecla foi pressionada. E ainda deverei usar diodos que permitam separar o sinal que vai para o primeiro multiplexador e o segundo. 

Mas acredito que esta lógica ainda esteja errada porque quando estiver pressionando simultaneamente 2 teclas na oitava 1 e 1 tecla na oitava 3, segundo esta lógica o sistema poderia entender que está sendo executado 4 notas 2 na oitava 1 e 2 na oitava 3.  Como resolver este problema?

Exibições: 1619

Responder esta

Respostas a este tópico

Ricardo,

legal, vejo que vc está bem embasado no seu projeto, e todas as informações até onde eu vi estão certas.

Tenho algumas perguntas, não para criticar, mas para gerar questionamento. Se vc está desenvolvendo isto para gerar conhecimento, está no caminho certo, mas vc terá muito trabalho para fazer um teclado ainda mais sensivel... 

Mas vamos ao quebra cabeça...

este cara fez algo parecido (e ainda mais facil do que vc quer fazer), ele transformou um teclado "velhinho" em MIDI. (mas não sensivel. se for isso, minha sugestão é ver no mercadolivre um casio tonebank por $300, já com midi.

http://www.instructables.com/id/Add-MIDI-port-to-Keyboard/#step1

para fazer isso sensivel, vc precisaria alterar a estrutura física, acredito, criando dois interruptores por tecla, e sim, dois multi para cada tecla.

a diferença de tempo entre os dois interruptores de cada tecla dará a intensidade.

Ele não separou por oitava como sua proposta, aproveitou a matriz original do tecladinho. 

Outra coisa, eu ainda tenho duvidas neste sistema se não há um delay, comparado com um teclado comprado... 

espero ter ajudado

 

 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço