Ir ao conteúdo
  • Cadastre-se

Arduino "Criando" um novo instrumento com arduino


Posts recomendados

E ai galera, to bolando as ideias pra desenvolver uma especie de sintetizador de audio que funcionaria da seguinte maneira: Vou colocar varios botões e potenciometros, ia conectar a um arduino provavelmente, mas aceito sugestões, e a intenção é gravar um som em cada botão e nos potenciometros controlar volume, equalização e alguns efeitos. Quero que o projeto tenha um sistema de Loop onde eu definiria um tempo, com os botões mesmo, e iria gravando varias batidas em cima( as batidas seriam geradas com o som dos botões). E o projeto tem que ter tambem uma saida do som p2 ou p10.

Acho que ficou meio confuso, mas seria tipo um Launchpad ou MIDI, so que sem o controle de um computador.

 

Eu queria sugestões, será que da pra fazer com arduino mesmo? como seria o processamento do som nele? Pensei em usar um modulo de SD pra armazenar as batidas, dai eu programava uma batida pra cada botão, so que não sei como faria o sistema de loop, pra deixar dois sons rodando repetidamente, um em cima do outro...

Se alguem souber um jeito diferente tambem aceito sugestões, e tenho outra duvida, tem algum equipamento ja feito que realize essas funções que eu falei sem o auxilio de um pc? 

Link para o comentário
Compartilhar em outros sites

 

Na descrição tem outras informações incluindo código

 

mas basicamente é um arduino e um modulo mp3 que dá para você ficar chamando as músicas.

Aqui um exemplo básico https://www.dfrobot.com/blog-277.html

Como você pode ver tem saída de audio que você pode tentar adaptar para um p2 que você quer.

 

você pode gravar as sequencias de botões apertadas em um vetor... e de algum jeito jogar isso na memória interna do arduino ou externa a partir de um toque de botão que você pode chamar de "gravador" e que a partir de código possa também gravar outras linhas.

 

Volume dá para controlar por potenciômetro, novamente pode ser através de código em alguma porta analógica.

 

você também pode usar o https://www.adafruit.com/product/2133

Este nem precisa de um arduino, mas se quiser pode usar.

 

Agora Equalizar e feitos... olha melhor fazer no pc que tem poder de processamento ou você ir para um sistema mais robusto como o Raspberry tem que 'placa de áudio' interna.

Link para o comentário
Compartilhar em outros sites

Eu quero fazer praticamente isso do video, so adicionando a função de loop que eu acho que seria "fácil" de programar. porém esse do video ele ta usando o PC não? Da pra ver no canto inferior direito a tela do programa no PC.

porém minha ideia é usar algo parecido com esse modulo mesmo pra gravar os sons. só não entendi como ele fez ai, porque no esquema que tem no video não tem o modulo.

Link para o comentário
Compartilhar em outros sites

Sim, nesse módulo que ele usa tem que programar, ... Mas depois que programa e que você tem sua lista de sons colocados no mp3 você pode largar o pc de lado. Já no outro que postei nem tanto, você pode usar um pc para gravar o código, mas não é absolutamente necessário dependendo do que você quer fazer como no vídeo gringo eles explicam isso.

 

O modulo está lá grudado com o arduino mine, os dois são pequenos ^^

 

 

 

Olha... cometi um engano, tem um equalizador de funções básicas como:

myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
//  myDFPlayer.EQ(DFPLAYER_EQ_POP);
//  myDFPlayer.EQ(DFPLAYER_EQ_ROCK);
//  myDFPlayer.EQ(DFPLAYER_EQ_JAZZ);
//  myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC);
//  myDFPlayer.EQ(DFPLAYER_EQ_BASS);

Mas novamente, mais que isso acredito que é uma tarefa* para mais poder de processamento...

Tirei da qui , biblioteca:

https://github.com/DFRobot/DFRobotDFPlayerMini

e essa parte de um sublink dessa pagina de cima

https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram

 

 

 

Sobre gravar... você quer gravar ambientes? Tem placa para isso, mas é bem simples... para a função que você quer acho que não rola, grava poucos segundos. Se quiser algo melhor... acho que você vai ter que desenvolver sua própria placa, igual ao pessoal da adafruit ^^ . Se você quer gravar uma sequência de passagens de músicas guardadas* e mixar as mesmas* você pode fazer tudo isso através de códigos, como o Arduino não tem lá muitas portas seria interessante fazer isso com o uso de um chip de comunicação serial para colocar um lcd para você ver menus.

 

Voltando a fazer do código, acredito que pela complexidade seria necessário você também adicionar memória externa ao arduino...

 

Cara... isso vai dar um trabalho de conclusão de curso em um faculdade fácil... ^^

 

E também acredito que o que você quer o Arduino não é o melhor candidato, por apresentar só um "processador de um núcleo"

Link para o comentário
Compartilhar em outros sites

https://en.wikipedia.org/wiki/Charlieplexing

um dos vários métodos de colocar vários botões onde se tem poucas possibilidades

https://electronics.stackexchange.com/questions/83720/a-good-circuit-for-a-large-number-of-push-button-inputs

 

Nunca precisei usar ainda ^^ Já que se vende isso por ai... é mais fácil comprar pronto, a não ser que você queira um projeto muito específico ou não tenha tempo para importar ou sei lá o que...

Link para o comentário
Compartilhar em outros sites

@Arthur felipeG ,

 

Bom, eu acho muito botão para um Arduino UNO.... mas poderia usar um Arduino Mega2560 que tem bem mais portas para pode ligar "trecos" nele !

 

Quanto a fazer processamento de sinais.... bom, melhor deixar isso para CI's especializados, por exemplo você pode usar dois ci's TEA6360, e assim teria um equalizador estéreo de 10 bandas , fácilmente programado por I2c.

 

Para ter o espectro do sinal de áudio, em vez de ficar maluco com FFT e coisa semelhante use dois ci's MSGEQ7 que são uma baita mão na roda, já fazem todo o trabalho sujo e basta você usar um canal do ADC para ler os valores e pronto. Um simples display de 65k cores TFT de 400 x 320 que hoje custa menos de R$ 50,00 no Mercado Livre é uma excelente opção.

 

Para gravar amostras de áudio, usaria um módulo MP3, e algumas memórias adicionais conforme a sua necessidade.

 

Procure sempre usar módulos prontos que facilitam muito a sua vida, ok ?

 

Paulo

 

 

Link para o comentário
Compartilhar em outros sites

Se for praticidade era melhor o raspberry ou outro do tipo melhor e evitar de construir um hardware em cima. Até pegar um chip próprio para essa placas de tratamento de som e gravação... Tem alguns no mercado o duro é programar ou fazer um fazer uma engenharia reversa...

 

Mas parte de fazer um hardware específico e para aprendizado gostei bastante do que o  @aphawk falou.

 

... lembro, agora, por algum motivo, que levei bomba em processamento de sinais... por algum motivo uhahuauha

Link para o comentário
Compartilhar em outros sites

@Bommu Perneta ,

 

Ahhhh simmmmm  se usar um processador potente que tenha um excelente conversor A/D de 12 bits pelo menos e cujo hardware tenha sido desenhado específicamente para tratamento de sinais usando técnicas de DSP e assim obter alta relação sinal/ruido e uma grande linearidade, pode fazer tudo por software.....  mas esse não é o caso dos Raspberry e muito menos ainda dos Arduínos....  conversores A/D e D/A de qualidade são caros , e exigem layout muito profissional.

 

Agora, usar o Arduino ou o Raspberry como controlador é bem fácil, e evita justamente essa parte de DSP que para falar a verdade nem existia quando eu me formei, e ainda hoje tento entender sem muito sucesso kkkkkk !

 

Vejo hoje aparelhos de som que abusam de DSP e conseguem ótimos resultados, mas a programação sempre é feita em países de primeiro mundo. Aqui apenas importamos isso prontinho....

 

Lembre-se de que aqui ainda insistem em ensinar Pic16 nas nossas "escolas", enquanto que já fazem 4 anos que as escolas de engenharia na Alemanha e nos USA lançam satélites com experimentos científicos como projeto de formatura .........

 

Complicado, meu amigo ....

 

Paulo

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Como disse... você quiser fazer mixagem do som você vai ter que fazer no pc e depois transferir para o teu player... se você quiser algo diferente você tem que desenvolver seu próprio hardware.

Novamente, se você quer fazer coisas ao mesmo tempo você precisa de multiprocessamento... Novamente recomendei o algo melhor do que o Arduino... que também não é o ideal como o aphawk também falou. 

 

Ou seja, você vai ter que fazer buffer do som para ser carregado na memória e ser chamado por cada botão. Ai como você vai fazer essa ligação você vai precisar desenvolver seu próprio hardware... ou usar algum hardware com multitarefa para fazer o mesmo por software.

 

Se realmente era isso que você queria tocar ao mesmo tempo, é característica de multi processamento...

 

 

Link para o comentário
Compartilhar em outros sites

Em 03/09/2017 às 13:06, aphawk disse:

@Bommu Perneta ,

 

Ahhhh simmmmm  se usar um processador potente que tenha um excelente conversor A/D de 12 bits pelo menos e cujo hardware tenha sido desenhado específicamente para tratamento de sinais usando técnicas de DSP e assim obter alta relação sinal/ruido e uma grande linearidade, pode fazer tudo por software.....  mas esse não é o caso dos Raspberry e muito menos ainda dos Arduínos....  conversores A/D e D/A de qualidade são caros , e exigem layout muito profissional.

 

Agora, usar o Arduino ou o Raspberry como controlador é bem fácil, e evita justamente essa parte de DSP que para falar a verdade nem existia quando eu me formei, e ainda hoje tento entender sem muito sucesso kkkkkk !

 

Vejo hoje aparelhos de som que abusam de DSP e conseguem ótimos resultados, mas a programação sempre é feita em países de primeiro mundo. Aqui apenas importamos isso prontinho....

 

Lembre-se de que aqui ainda insistem em ensinar Pic16 nas nossas "escolas", enquanto que já fazem 4 anos que as escolas de engenharia na Alemanha e nos USA lançam satélites com experimentos científicos como projeto de formatura .........

 

Complicado, meu amigo ....

 

Paulo

Na minha faculdade era 8051.

Tem vários "satélites" que lançam que não é tudo aquilo que se esperam de um satélite,muito marketing.

Ensinar "pic" não acho que é o problema,o problema não é mostrar os microcontroladores "arm".Um microcontrolador de 8bits(pic16f por exemplo) você consegue entender o hardware mais a fundo,é bem mais robusto na parte de software,pois a menos Framework envolvidos,podendo ser programando até em asm e na parte de hardware normalmente necessitam de menos componentes externos e tem maior imunidade a ruídos,o layout não precisa ser de primeira.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...