É possível reproduzir sons numa caixa de som usando uma placa Arduino e um módulo de cartão SD. A biblioteca TMRpcm.h permite manipular arquivos de áudio, mas não lê todos os tipos de arquivo. Veremos um método para converter ou criar arquivos de áudio compatíveis com o Arduino.
Software Audacity
Para converter e criar arquivos de áudio, vamos utilizar o Audacity, um software de código aberto que permite a gravação, edição e montagem de faixas de áudio.
Faça o download do software neste endereço e depois o instale.
Na interface gráfica, as funções mais interessantes para conhecer são :
- Botões da barra de tarefas: play, pausar, parar, saltar para o início, saltar para o fim e salvar.
- No menu “Efeitos”, as funções “Redução de Ruído…” para reduzir o ruído ambiente e “Mudança de Altura…” para mudar o tom de uma voz, por exemplo.
- No menu “Faixas”, estão disponíveis as funções “Mixagem > Estéreo para mono” e “Redimensionar”.
- E finalmente, ” Arquivo > Exportar… “, para gerar arquivos de áudio.
Criar ou modificar um arquivo compatível com o Arduino
Abrir um arquivo
Para modificar um arquivo existente (um arquivo WAV baixado, por exemplo), basta abri-lo no Audacity ou arrastá-lo para a interface. Pode então manipulá-lo como desejar.
Gravar uma voz ou som
Pode criar vozes para o seu robô gravando a sua própria voz e modificando-a um pouco se desejar.
Para gravar a sua voz, clique no botão “gravar”. Diga a palavra ou frase que pretende gravar e aperte “parar”. O formato de onda correspondente à sua voz irá aparecer.
Copie a faixa usando os atalhos de teclado Ctrl+C e Ctrl+V, para manter um rastro da gravação original.
Mixagem estéreo para mono
O Arduino é capaz de ler arquivos mono. Converta a sua faixa de estéreo para mono.
Diminuir o ruído ambiente
Para maior clareza, é melhor filtrar o ruído ambiente e manter apenas a voz ou o som gravado. Para isso, selecione uma parte do arquivo onde não haja voz (a área deve ser suficientemente grande para ser representativa). Depois selecione o efeito “Redução de Ruído…” no menu.
Na janela, clique em “tomar perfil de ruído”. O Audacity salva na memória o perfil do ruído ambiente a ser atenuado. Faça duplo clique na faixa para selecioná-la do início ao fim.
Depois selecione novamente o efeito de Redução de Ruído e clique em “Ok”. O ruído em torno da voz é reduzido em amplitude e interfere menos quando escutamos a faixa.
Pode repetir este procedimento até que o nível de ruído seja aceitável.
Redimensionar para 16kHz
Para que a biblioteca TMRpcm seja capaz de ler os arquivos de áudio, é preferível redimensioná-los para 16000Hz. Em “Faixa”, selecione “Redimensionar”, então escolha o valor “16000” e valide.
Exportar para WAV
Em seguida, exporte o arquivo no formato correto para que a placa Arduino possa lê-lo corretamente. Em “Arquivo”, selecione “Exportar”, depois “Exportar para WAV”. Selecione “Outros formatos não comprimidos” como tipo, depois “Unsigned 8bit PCM” como codificação.
Depois só resta colar o arquivo de áudio num cartão SD para poder reproduzi-lo com a placa Arduino (ou outra). Não se esqueça de mudar o nome do arquivo no código.
Aplicação
Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie