Comment créer une synthèse vocale ESP32-C3 à l’aide de Wit.ai

Text-to-Speech on ESP32-C3 using Wit.ai

1. Normalisation du texte : Cela implique de décomposer n’importe quel nombre en mots, de résoudre toutes les abréviations et de convertir les symboles en ce à quoi ils ressembleraient lorsqu’ils seraient prononcés à voix haute. Par exemple, « £ » sous forme écrite sera lu comme « livres ».
2. Analyse linguistique : L’analyse linguistique du texte se produit lorsque le texte est décomposé en phonèmes, qui sont les éléments de base du son, donnant au processus la base pour établir les limites correctes entre les syllabes et détermine la SYLLBLE STRESSÉE.
3. Modélisation de la prosodie : C’est à cette étape que le moteur TTS détermine le ton, l’inflexion, la hauteur, le rythme, etc. de la voix afin que le résultat ait une sensation de conversation et soit agréable à l’oreille.
4. Synthèse de forme d’onde : Les formes d’onde sont ensuite créées à l’aide d’un vocodeur neuronal à partir des données des phonèmes et de la prosodie déterminées précédemment pour créer la sortie audio de forme d’onde.
5. Diffusion audio : Enfin, une fois la forme d’onde audio créée, elle est codée (généralement au format MP3 ou WAV), puis renvoyée à l’application demandeuse pour être lue via les haut-parleurs de cet appareil.

Qualité audio Voix d’IA hautes et neuronales Synthèse de phonèmes faible et limitée
Mémoire Flash requise Minimal (bibliothèque + croquis) Élevé (clips ou modèle préenregistrés)
Variété de langue et de voix Côté serveur étendu et mis à jour Limité aux données stockées
Prise en charge du texte dynamique Complète, n’importe quelle chaîne de texte d’exécution Aucun, phrases fixes uniquement
Dépendance à Internet Requis Non requis
Complexité du micrologiciel Faible, géré par les serveurs TTS Gestion audio élevée et personnalisée

Composants requis pour le projet de synthèse vocale en ligne ESP32-C3 : module de développement ESP32-C3, amplificateur MAX98357A, haut-parleur, planche à pain, câbles de démarrage et câble USB

Composant Quantité Remarques
Module de développement ESP32-C3 1 ESP32-C3 avec prise en charge Wi-Fi
Amplificateur MAX98357A 1 Module amplificateur audio numérique
Conférencier 1 Haut-parleur d’impédance 4Ω ou 8Ω pour lire l’audio
Planche à pain 1 Pour les connexions de prototypage
Fils de liaison 1 Homme à femme ou homme à homme selon les besoins
Câble USB 1 Vers l’alimentation et la programmation

Schéma de câblage montrant comment connecter un module de développement ESP32-C3 à un amplificateur MAX98357A I2S pour la synthèse vocale en ligne à l'aide de GPIO05, GPIO06 et GPIO07

Broche ESP32-C3 Broche MAX98357A Type de connexion
GPIO07 BCLK Horloge binaire
GPIO06 LRC Horloge gauche/droite
GPIO05 VACARME Entrée de données
5V NIV Alimentation
GND GND Sol

Page d'accueil Wit.ai affichant le bouton de connexion - point de départ pour créer un compte pour activer la synthèse vocale ESP32-C3 à l'aide de l'IAPage du projet avec le jeton API Bearer
Capture d'écran de l'IDE Arduino montrant où saisir le SSID Wi-Fi, le mot de passe et le jeton Wit.ai Bearer pour le croquis en ligne de synthèse vocale ESP32-C3
Moniteur série Arduino IDE affichant le journal de configuration WitAITTS avec l'état de la connexion Wi-Fi et l'adresse IP pour la synthèse vocale ESP32-C3 en ligne

  • Utilisation réduite de la mémoire
  • Réponse perçue plus rapide
  • Pas besoin de mise en mémoire tampon complète des fichiers
  • Latence du réseau
  • Stabilité de puissance
  • Qualité des haut-parleurs
Catégorie Problème observé Cause fondamentale potentielle
Sortie audio Aucune sortie sonore • Configurations de câblage incorrectes
• Absence d’alimentation de l’amplificateur
• Affectations erronées des broches I2S
Communication Erreurs HTTP • 400 : Fourniture de chaînes de texte invalides ou vides
• 401 : utilisation d’un jeton d’accès non valide
• Délai d’expiration du réseau : présence d’instabilité Wi-Fi
Qualité du signal Audio déformé • Tension d’alimentation insuffisante
• Inadéquation de l’impédance des haut-parleurs
• Paramètres de configuration d’horloge incorrects
  • Les systèmes annoncent l’état des portes, les alertes de sécurité, les relevés de température ou les notifications d’appareils sans obliger les utilisateurs à vérifier les affichages
  • Fournissez des alertes vocales lorsque les seuils des capteurs sont dépassés, que des dysfonctionnements d’équipement se produisent ou que les calendriers de maintenance approchent, garantissant ainsi que les opérateurs reçoivent des informations critiques même lorsque l’attention visuelle est dirigée ailleurs.
  • Aidez les utilisateurs malvoyants en lisant les informations provenant de capteurs, de minuteries ou de moniteurs environnementaux
  • Créez des expériences engageantes où les projets peuvent donner des instructions, poser des questions ou fournir des commentaires.
  • Annoncez verbalement les messages entrants, les rappels de calendrier, les mises à jour météorologiques ou les confirmations de livraison de colis, transformant les appareils intelligents silencieux en assistants interactifs qui communiquent naturellement avec les utilisateurs.

⇥ 5. Qu’est-ce que la bibliothèque Arduino pour TTS utilisant un ESP32-C3 ?
La bibliothèque WitAITTS (disponible via Arduino Library Manager ou sur GitHub) vous permet d’effectuer de la synthèse vocale sur un ESP32-C3 via Internet. Il effectue une authentification HTTPS avec Wit.ai, diffuse un fichier MP3 renvoyé par Wit.ai et envoie ces données MP3 à l’amplificateur MAX98357A via I2S avec relativement peu de codage requis de votre part.

⇥ 6. Qu’est-ce qui rendrait l’audio produit par mon ESP32-C3 TTS déformé/audible ?
La distorsion audio résulte généralement d’une tension d’alimentation insuffisante, d’une inadéquation d’impédance du haut-parleur ou d’une horloge I2S incorrecte. Aucun son n’est normalement dû à un mauvais câblage, à une puissance d’amplificateur manquante ou à des problèmes avec les broches GPIO utilisées dans votre croquis. Vous devez toujours confirmer les cinq connexions matérielles avant de déboguer l’une des couches logicielles.

⇥ 7. De quel type d’équipement ai-je besoin pour la synthèse vocale ESP32-C3 ?
Vous aurez besoin d’un module de développement ESP32-C3 avec Wi-Fi, d’un module d’amplificateur numérique MAX98357A I2S, d’un haut-parleur 4Ω ou 8Ω, d’une planche à pain, de fils de liaison et d’un câble USB. Vous n’aurez pas besoin de cartes SD, de seconds processeurs ou de périphériques de stockage externes lorsque vous utiliserez la méthode WitAITTS basée sur le cloud.

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

Youtube video