- Componentes Requeridos
- Diagrama de circuito
- Conectando o alto-falante ao Arduino
- Programando Arduino para TTS (Text To Speech)
Text-to-speech ou sistema TTS converte texto normal em fala. Essa tecnologia permite que o sistema fale o texto em uma voz humana. Existem muitos exemplos de conversões de texto em fala, como os anúncios em transporte público, as chamadas de atendimento ao cliente, assistentes de voz em seus smartphones ou o menu de navegação de qualquer máquina. Você pode até encontrar o TTS no Microsoft Word, onde pode configurá-lo para falar o texto escrito no documento.
Hoje, neste tutorial, aprenderemos como fazer um conversor Text To Speech usando o Arduino. Anteriormente, usamos o TTS com Raspberry pi no despertador falado e também convertemos a fala em texto no raspberry pi usando o teclado de voz do Google.
A primeira etapa do TTS é o pré-processamento ou normalização. Esta etapa envolve a conversão dos símbolos, números e abreviações em palavras que podem ser lidas pelas máquinas como '?' será convertido em “ponto de interrogação”.
A segunda etapa envolve a conversão de texto normalizado em fonemas ou transcrições fonéticas. Os fonemas são as pequenas partes das palavras faladas, ou seja, esses são os sons que formam as frases. Esta etapa é realmente essencial para que a máquina possa falar as palavras como os humanos.
A última etapa é a síntese dos fonemas na voz falada. Esta etapa pode ser alcançada por diferentes métodos, como gravando a voz humana para diferentes palavras / frases ou gerando frequências sonoras básicas e empilhá-las como fonemas ou copiando o mecanismo da fala humana.
Componentes Requeridos
- Placa Arduino
- Um falador
- Um Circuito Amplificador
- Fonte de alimentação regulada
- Fios de conexão
Diagrama de circuito
Aqui neste conversor de texto em fala, usamos um circuito amplificador para reduzir o ruído e obter um som nítido. O circuito do amplificador é feito usando o IC LM386. O diagrama do circuito é mostrado abaixo:
Um pote de 100K é usado para ajustar o som. Ajuste-o para obter um som claro. Se você tiver alguma confusão sobre este circuito, verifique o Circuito Amplificador de Áudio Baseado no LM386. Se você não tiver o valor exato dos resistores e capacitores, use os de valor próximo.
Conectando o alto-falante ao Arduino
As conexões são super fáceis uma vez que você faz o circuito do amplificador.
Conecte a fonte de alimentação ao circuito do amplificador e conecte o pino digital 3 do seu Arduino ao resistor de 10K e conecte o aterramento do Arduino ao aterramento do circuito. Agora conecte o alto-falante conectando seu terminal negativo ao aterramento e o terminal positivo ao capacitor de 220µF e conecte a fonte de alimentação.
Programando Arduino para TTS (Text To Speech)
O programa para este TTS baseado em Arduino também é muito fácil, pois a biblioteca está disponível para isso. Esta biblioteca é chamada de Talkie e pode ser adicionada pelo gerente da biblioteca. Para adicionar a biblioteca, vá para Sketch-> Incluir Biblioteca-> Mange Libraries .
Agora o Library Manager estará na sua tela. Na barra de pesquisa digite Talkie e clique no botão instalar. A biblioteca será instalada.
Esta biblioteca é muito prática e possui mais de 1000 palavras e comandos. Tem vários exemplos, você pode tentar todos, mas aqui estamos usando um código simples para explicar o funcionamento.
Você também pode tentar outros comandos fornecidos na biblioteca. Para obter esses comandos, vá para Documentos \ Arduino \ libraries \ Talkie \ src e, em seguida, abra os arquivos de cabeçalho e obtenha vários comandos que podem ser usados para diferentes alertas. Existem muitas outras bibliotecas TTS, como a biblioteca jscrane TTS, a biblioteca Google TTS, etc. Você também pode experimentá-las.
Então, vamos começar a codificar. Em primeiro lugar, inclua alguns arquivos de cabeçalho. Talkie.h é usado para inicializar esta biblioteca e definir o pino digital 3 do Arduino como pino de saída. O Vocab_US_Large.h é usado para usar os alertas que estamos usando e o Vocab_Special.h é usado para usar a pausa que estamos usando.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Agora defina um 'valor' de objeto para usar os comandos:
Voz talkie;
Aqui, a mesma mensagem será repetida no alto-falante, portanto, mantenha a função de configuração vazia e coloque os comandos na função de loop. O primeiro comando voice.say (spPAUSE2) deve fazer uma pequena pausa enquanto repete a mensagem de alerta. E os próximos comandos são apenas palavras simples que implicam: PERIGO PERIGO TEMPESTADE NO NORTE.
void setup () { } void loop () { voice.say (spPAUSE2); voice.say (sp2_DANGER); voice.say (sp2_DANGER); voice.say (sp3_STORM); voice.say (sp3_IN); voice.say (sp3_THE); voice.say (sp3_NORTH); }
Por fim, carregue o código no Arduino e conecte a fonte de alimentação a ele. Assim que ligar o circuito, você começará a ouvir os alertas! Se você não obtiver um som claro, tente ajustar o botão do potenciômetro ou verifique se o Arduino está recebendo alimentação adequada e certifique-se de que o GND do Arduino está conectado ao aterramento do circuito.
Verifique o código completo com um vídeo de demonstração fornecido abaixo.