- Componentes requeridos
- Diagrama de circuito
- Conexión de altavoz a Arduino
- Programación de Arduino para TTS (texto a voz)
El sistema de texto a voz o TTS convierte el texto normal en voz. Esta tecnología permite que el sistema pronuncie el texto con voz humana. Hay muchos ejemplos de conversiones de texto a voz, como los anuncios en el transporte público, las llamadas de atención al cliente, los asistentes de voz en sus teléfonos inteligentes o el menú de navegación de cualquier máquina. Incluso puede encontrar el TTS en Microsoft Word donde lo configura para que diga el texto escrito en el documento.
Hoy, en este tutorial, aprenderemos cómo hacer un conversor de texto a voz usando Arduino. Anteriormente usamos TTS con Raspberry pi en el despertador hablante y también convertimos la voz en texto en raspberry pi usando el teclado de voz de Google.
El primer paso en TTS es el preprocesamiento o la normalización. Este paso implica la conversión de los símbolos, números y abreviaturas en palabras que las máquinas puedan leer como "?" se convertirá en "signo de interrogación".
El segundo paso implica la conversión de texto normalizado en fonemas o transcripciones fonéticas. Los fonemas son las partes pequeñas de las palabras habladas, es decir, estos son los sonidos que forman las oraciones. Este paso es realmente esencial para que la máquina pueda pronunciar las palabras como lo hacen los humanos.
El último paso es la síntesis de fonemas en voz hablada. Este paso se puede lograr mediante diferentes métodos, como grabar la voz humana para diferentes palabras / frases o generar frecuencias de sonido básicas y apilarlas como fonemas o copiar el mecanismo de habla humana.
Componentes requeridos
- Placa arduino
- Un altavoz
- Un circuito amplificador
- Fuente de alimentación regulada
- Conexión de cables
Diagrama de circuito
En este convertidor de texto a voz, hemos utilizado un circuito amplificador para reducir el ruido y obtener un sonido claro. El circuito amplificador se realiza utilizando el IC LM386. El diagrama de circuito se muestra a continuación:
Se utiliza un potenciómetro de 100K para ajustar el sonido. Ajústelo para obtener un sonido claro. Si tiene alguna confusión sobre este circuito, consulte el Circuito amplificador de audio basado en LM386. Si no tiene el valor exacto de resistencias y condensadores, utilice los de valor cercano.
Conexión de altavoz a Arduino
Las conexiones son súper fáciles una vez que haces el circuito del amplificador.
Conecte la fuente de alimentación al circuito amplificador y conecte el pin digital 3 de su Arduino a una resistencia de 10K y conecte la tierra de Arduino a la tierra del circuito. Ahora conecte el altavoz conectando su terminal negativo a tierra y el terminal positivo al capacitor de 220 µF y conecte la fuente de alimentación.
Programación de Arduino para TTS (texto a voz)
El programa para este TTS basado en Arduino también es muy fácil ya que la biblioteca está disponible para esto. Esta biblioteca se llama Talkie y el administrador de la biblioteca puede agregarla. Para agregar la biblioteca, vaya a Sketch-> Incluir biblioteca-> Administrar bibliotecas .
Ahora el Administrador de bibliotecas estará en su pantalla. En la barra de búsqueda, escriba Talkie y haga clic en el botón de instalación. La biblioteca se instalará.
Esta biblioteca es muy útil y tiene más de 1000 palabras y comandos. Tiene varios ejemplos, puede probarlos todos, pero aquí estamos usando un código simple para explicar el funcionamiento.
También puede probar otros comandos dados en la biblioteca. Para obtener esos comandos, vaya a Documentos \ Arduino \ libraries \ Talkie \ src y luego abra los archivos de encabezado y obtenga varios comandos que se pueden usar para diferentes alertas. Hay muchas otras bibliotecas TTS como la biblioteca jscrane TTS, la biblioteca Google TTS, etc. También puede probarlas.
Así que comencemos a codificar. En primer lugar, incluya algunos archivos de encabezado. Talkie.h se usa para inicializar esta biblioteca y configurar el pin digital 3 de Arduino como pin de salida. El Vocab_US_Large.h se usa para usar las alertas que estamos usando y el Vocab_Special.h se usa para usar la pausa que estamos usando.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Ahora defina un 'valor' de objeto para usar los comandos:
Voz hablada;
Aquí se repetirá el mismo mensaje en el altavoz, así que mantenga la función de configuración vacía y ponga los comandos en función de bucle. El primer comando voice.say (spPAUSE2) es hacer una breve pausa mientras se repite el mensaje de alerta. Y los siguientes comandos son simples palabras que implican: PELIGRO PELIGRO TORMENTA EN EL 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); }
Finalmente cargue el código en el Arduino y conecte la fuente de alimentación. ¡Tan pronto como encienda el circuito, comenzará a escuchar las alertas! Si no obtiene un sonido claro, intente ajustar la perilla de la olla o verifique si el Arduino está recibiendo la fuente de alimentación adecuada y asegúrese de que el GND de Arduino esté conectado a tierra del circuito.
Compruebe el código completo con un vídeo de demostración que se muestra a continuación.