Go Down

Topic: Baixista virtual, midi tempo real (arduino) (Read 993 times) previous topic - next topic

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

iyahdub

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 ?!?
10 LET Loop=Infinite
20 GO TO 10

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 !
10 LET Loop=Infinite
20 GO TO 10


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?

iyahdub

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 !
10 LET Loop=Infinite
20 GO TO 10

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy