Baixista virtual, midi tempo real (arduino)

Meu filho toca bateria eletrônica (yamaha Dtx500) e eu toco teclado(psr910).

Quero construir um sistema com arduino que quando ele toque o bumbo enviando a mensagem via midi, e eu toque o teclado ao mesmo tempo, o ARDUINO pegue a nota que EU estou tocando, e pegue o ritmo que MEU FILHO está tocando, JUNTE OS DOIS (o ritmo do meu filho e a nota que eu estou tocando) e envie apenas UM SINAL MIDI.

Assim o baixo vai acompanhar o ritmo do bumbo criando um baixista virtual

Alguém tem uma idéia?

Obrigado

Acho que desta vez percebi melhor o teu problema...Queres o mesmo que muitos teclados tem, mas queres incluir um sinal exterior ao lado... Isto cria muitos problemas que o arduino de 8 bits nao tem capacidade...
Tens varias coisas que vais ter que lidar...
-Quantizacao - Isto vai ser sempre um grande problema , porque a minha experiencia com alguns dos melhores bateristas do mundo nao conseguem tocar como maquinas... A margen de erro vai acabar por ser consideravel.
-Um due seria a unica opcao para poder de processamento suficiente sem dar azo a latencia consideravel ( adicionando a latenncia ja introduzida por placas MIDI seja por USB ou nao, o que juntando as duas, e notavel ao ouvido

  • Terias que escolher o tipo de escalas que queres usar, e manter os padroes simples
    Enquanto e, sim senhora possivel, na vejo que seja trabalho para alguem te ajudar, ja que estamos a falar muitas horas de trabalho, para algo que ja existe no mercado a precos bem acessiveis.
    Ainda nao percebi o porque de quereres misturar os dois sinais, quando tens tantos sequencers que aceitam dezenas, senao centenas de entradas midi ?!"?
    E esse pequeno pormenor que ainda nao compreendi o porque de o requereres ?!?

tava aqui a pensar... Nao sera mais facile mais viavel usar so o teu sinal para disparar o baixista virtual para o que queres ?!
Assim eliminas problemas de quantizacao e os erros dai gerados pela bateria ( porque serao muitos...).
Assim so teria que te preocupar nas escalas que queres usar, etc...
Como disse, trabalho com bvarias lendas da musica mundial, e ainda nao conheci um baterista que toque como uma maquina nem perto... E estou a falar de bateristas de renome mundial !
Enfim, sao so ideias para ti, claro e a minha opiniao !

iyahdub:
tava aqui a pensar... Nao sera mais facile mais viavel usar so o teu sinal para disparar o baixista virtual para o que queres ?!
Assim eliminas problemas de quantizacao e os erros dai gerados pela bateria ( porque serao muitos...).
Assim so teria que te preocupar nas escalas que queres usar, etc...
Como disse, trabalho com bvarias lendas da musica mundial, e ainda nao conheci um baterista que toque como uma maquina nem perto... E estou a falar de bateristas de renome mundial !
Enfim, sao so ideias para ti, claro e a minha opiniao !

Não daria erro porque é meu filho é quem faz o ritmo, então a nota que eu tocasse com a mão esquerda iria ser a nota base para que o arduino pegasse esta nota e pegando as notas que vem chegando do bumbo da bateria do meu filho, modificasse elas substituindo ( porque as notas que vem de um bumbo são geralmente C2 ou C3) pelas notas que eu quisesse. Em tempo real ficaria assim Exemplo bumbo,bumbo...bombo,bumbo,bumbo...bumbo,bumbo, -> arduino -> fa,fa...fa,fa,fa...fa,fa se eu tocasse fa, se eu tocasse a nota Sol o arduino faria a mesma coisa que meu filho está fazendo -> sol,sol...sol,sol,sol...sol,sol. Entendeu?

eu entendi
Isso iria criar muitos problemas de sincronizacao. A minha experiencia como musico diz-me que so iria ser possivel com uma quantizer no cadeia de data. Porque ?! porque se qdo o bombo for tocado, vai ser gerar uma nota de baixo baseado na ultima que tu terias tocado ! O que significa que haveria sempre uma latencia do caracas... Agora, se o baterista tentar tocar a certo ritmo por metronomo e fores tu a disparar o baixo, ja seria possivel com um arduino . Como te disse, acho que nao estas a ver bem as implicacoes do que pedes... Teria que gaver um master clock, senao so a primeira nota poderia ser tocada, ate outro bombom aparecer no sistema... se uma nota de baixo por bombo chegar; Mas isto deixa-te com um problema : Se a a nota seguinte for diferente da ultima linha, e se tu nao inserires ela a tempo, entao acabarias por tocar uma nota e o baixo outra, porque tu nunca chegaste a tempo ( o que humanos e super normal). Dao a necessidade de um quantizer,e nao sei se o arduin da para isso tudo em tempo real o suficiente . istoo so seria viavel em estudio, a gravar o midi... E mesmo nesse caso e mais facil editar a mao !!
Ja comecas a perceber as implicacoes de o que queres ou nao ?!?
O meu conselho e cria sim um que dispare pelo que tocas, baseado num BPM e ele que toque de acordo com esse mesmo BMP do metronomo !