.. note:: Bonjour, bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 sur Facebook ! Plongez dans l'univers du Raspberry Pi, Arduino et ESP32 avec d'autres passionnés. **Pourquoi rejoindre ?** - **Support d'experts** : Résolvez les problèmes post-vente et les défis techniques avec l'aide de notre communauté et de notre équipe. - **Apprendre et partager** : Échangez des astuces et des tutoriels pour améliorer vos compétences. - **Aperçus exclusifs** : Accédez en avant-première aux annonces de nouveaux produits et aperçus exclusifs. - **Réductions spéciales** : Profitez de réductions exclusives sur nos produits les plus récents. - **Promotions festives et concours** : Participez à des concours et promotions spéciales. 👉 Prêt à explorer et à créer avec nous ? Cliquez sur [|link_sf_facebook|] et rejoignez-nous dès aujourd'hui ! .. _py_stt: 15. STT (Speech-to-Text) ============================================== Cet exemple montre comment utiliser le module STT (Speech-to-Text) sur PiCrawler. Le robot écoute votre voix via le microphone intégré et la convertit en texte en temps réel. **Exécuter le code** .. raw:: html .. code-block:: cd ~/picrawler/examples sudo python3 15_stt.py Après avoir exécuté le programme, vous verrez le paramètre de langue et une invite. Le robot commence à écouter — parlez dans le microphone et le texte reconnu sera affiché dans le terminal. Si aucune parole n'est détectée, ``(no speech detected)`` s'affiche. Appuyez sur **Ctrl+C** pour quitter. **Avant de commencer** Assurez-vous d'avoir terminé : * :ref:`install_all_modules` — Installez les modules ``robot-hat``, ``vilib``, ``picrawler``, puis exécutez le script ``i2samp.sh``. **Code** .. note:: Vous pouvez **Modifier/Réinitialiser/Copier/Exécuter/Arrêter** le code ci-dessous. Mais avant cela, vous devez aller dans le chemin du code source comme ``picrawler\examples``. Après avoir modifié le code, vous pouvez l'exécuter directement pour voir l'effet. .. raw:: html .. code-block:: python #!/usr/bin/env python3 from robot_hat.stt import STT # Démo de reconnaissance vocale utilisant le module STT de sunfounder_voice_assistant # Ctrl+C pour quitter # Configurer la langue : "en-us", "zh-cn", "fr-fr", etc. LANGUAGE = "en-us" def main(): print("=== Démo PiCrawler Speech-to-Text ===") print(f"Langue : {LANGUAGE}") print("Ctrl+C pour quitter") print() stt = STT(language=LANGUAGE) try: while True: print("Écoute... (parlez maintenant)") text = stt.listen() if text: print(f">>> {text}") else: print("(aucune parole détectée)") except KeyboardInterrupt: print("\nFermeture...") if __name__ == "__main__": main() **Comment ça fonctionne ?** #. Importation du module STT .. code-block:: python from robot_hat.stt import STT La classe ``STT`` fait partie du paquet ``robot_hat``. Elle gère toute la capture audio de bas niveau et le traitement de la reconnaissance vocale. #. Définition de la langue .. code-block:: python LANGUAGE = "en-us" La variable ``LANGUAGE`` configure la langue de reconnaissance. Vous pouvez la modifier pour d'autres codes pris en charge comme ``"zh-cn"`` (chinois) ou ``"fr-fr"`` (français) selon vos besoins. #. Création de l'instance STT .. code-block:: python stt = STT(language=LANGUAGE) Cela crée un objet STT configuré pour la langue choisie. L'objet initialise le microphone et le moteur de reconnaissance vocale. #. La boucle d'écoute .. code-block:: python while True: print("Écoute... (parlez maintenant)") text = stt.listen() if text: print(f">>> {text}") else: print("(aucune parole détectée)") Le programme exécute une boucle infinie où chaque itération : - Invite l'utilisateur à parler. - Appelle ``stt.listen()`` qui bloque jusqu'à ce que la parole soit détectée et traitée. - Renvoie le texte reconnu sous forme de chaîne, ou ``None`` / vide si rien n'a été compris. - Affiche le résultat dans le terminal. #. Sortie propre .. code-block:: python except KeyboardInterrupt: print("\nFermeture...") Appuyer sur **Ctrl+C** déclenche un ``KeyboardInterrupt``, qui est capturé pour afficher un message de sortie et terminer le programme proprement.