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 [ici] et rejoignez-nous dès aujourd’hui !

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

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é :

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.

#!/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 ?

  1. Importation du module STT

    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.

  2. Définition de la langue

    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.

  3. Création de l’instance STT

    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.

  4. La boucle d’écoute

    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.

  5. Sortie propre

    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.