- Composants requis
- Schéma
- Connexion du haut-parleur à Arduino
- Programmation Arduino pour TTS (Text To Speech)
Le système de synthèse vocale ou TTS convertit le texte normal en parole. Cette technologie permet au système de prononcer le texte d'une voix humaine. Il existe de nombreux exemples de conversions Text to Speech comme les annonces dans les transports en commun, les appels du service client, les assistants vocaux dans vos smartphones ou le menu de navigation de n'importe quelle machine. Vous pouvez même trouver le TTS dans Microsoft Word où vous le définissez pour exprimer le texte écrit dans le document.
Aujourd'hui, dans ce tutoriel, nous allons apprendre comment créer un convertisseur de texte en parole à l'aide d'Arduino. Nous avons précédemment utilisé TTS avec Raspberry pi pour parler Réveil et également converti la parole en texte dans Raspberry Pi à l'aide du clavier vocal Google.
La première étape de TTS est le prétraitement ou la normalisation. Cette étape implique la conversion des symboles, des nombres et des abréviations en mots pouvant être lus par les machines comme «?» sera converti en «point d'interrogation».
La deuxième étape implique la conversion du texte normalisé en phonèmes ou transcriptions phonétiques. Les phonèmes sont les petites parties des mots parlés c'est-à-dire que ce sont les sons qui composent les phrases. Cette étape est vraiment essentielle pour que la machine puisse prononcer les mots comme le font les humains.
La dernière étape est la synthèse des phonèmes en voix parlée. Cette étape peut être réalisée par différentes méthodes comme en enregistrant la voix humaine pour différents mots / phrases ou en générant des fréquences sonores de base et en les empilant sous forme de phonèmes ou en copiant le mécanisme de parole humain.
Composants requis
- Carte Arduino
- Un haut-parleur
- Un circuit amplificateur
- Alimentation régulée
- Connexion des fils
Schéma
Ici, dans ce convertisseur de texte en parole, nous avons utilisé un circuit amplificateur pour réduire le bruit et obtenir un son clair. Le circuit amplificateur est réalisé en utilisant l'IC LM386. Le schéma de circuit pour cela est montré ci-dessous:
Un potentiomètre de 100K est utilisé pour régler le son. Ajustez-le pour obtenir un son clair. Si vous avez une confusion à propos de ce circuit, consultez Circuit d'amplificateur audio basé sur LM386. Si vous n'avez pas la valeur exacte des résistances et des condensateurs, utilisez les valeurs proches.
Connexion du haut-parleur à Arduino
Les connexions sont super faciles une fois que vous faites le circuit de l'amplificateur.
Connectez l'alimentation au circuit amplificateur et connectez la broche numérique 3 de votre Arduino à la résistance 10K et connectez la terre de l'Arduino à la terre du circuit. Connectez maintenant l'enceinte en connectant sa borne négative à la terre et la borne positive au condensateur 220µF et connectez l'alimentation.
Programmation Arduino pour TTS (Text To Speech)
Le programme pour ce TTS basé sur Arduino est également très simple car la bibliothèque est disponible pour cela. Cette bibliothèque s'appelle Talkie et peut être ajoutée par le gestionnaire de bibliothèque. Pour ajouter la bibliothèque, allez dans Sketch-> Inclure la bibliothèque-> Mange Libraries .
Maintenant, le gestionnaire de bibliothèque sera sur votre écran. Dans la barre de recherche, tapez Talkie et cliquez sur le bouton d'installation. La bibliothèque sera installée.
Cette bibliothèque est très pratique et contient plus de 1000 mots et commandes. Il a plusieurs exemples, vous pouvez tous les essayer, mais ici nous utilisons un code simple pour expliquer le fonctionnement.
Vous pouvez également essayer d'autres commandes données dans la bibliothèque. Pour obtenir ces commandes, accédez à Documents \ Arduino \ bibliothèques \ Talkie \ src , puis ouvrez les fichiers d'en-tête et obtenez plusieurs commandes pouvant être utilisées pour différentes alertes. Il existe de nombreuses autres bibliothèques TTS comme la bibliothèque jscrane TTS, la bibliothèque Google TTS, etc.
Alors commençons à coder. Incluez d'abord quelques fichiers d'en-tête. Talkie.h est utilisé pour initialiser cette bibliothèque et définir la broche numérique 3 d'Arduino comme broche de sortie. Le Vocab_US_Large.h est utilisé pour utiliser les alertes que nous utilisons et Vocab_Special.h est utilisé pour utiliser la pause que nous utilisons.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Définissez maintenant un objet 'valeur' pour utiliser les commandes:
Voix de talkie;
Ici, le même message sera répété dans le haut-parleur alors gardez la fonction de configuration vide et mettez les commandes en fonction de boucle. La première commande voice.say (spPAUSE2) consiste à prendre une courte pause tout en répétant le message d'alerte. Et les commandes suivantes ne sont que des mots simples qui impliquent: DANGER DANGER TEMPÊTE DANS LE NORD.
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); }
Enfin, téléchargez le code dans l'Arduino et connectez-y l'alimentation. Dès que vous mettez le circuit sous tension, vous commencez à entendre les alertes! Si vous n'obtenez pas un son clair, essayez de régler le bouton du potentiomètre ou vérifiez si l'Arduino est correctement alimenté et assurez-vous que le GND d'Arduino est connecté à la masse du circuit.
Vérifiez le code complet avec une vidéo de démonstration ci-dessous.