.. note:: Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Tauche gemeinsam mit anderen Enthusiasten tiefer in Raspberry Pi, Arduino und ESP32 ein. **Warum beitreten?** - **Expertenunterstützung**: Lösen Sie nach dem Kauf auftretende Probleme und technische Herausforderungen mit Hilfe unserer Community und unseres Teams. - **Lernen & Teilen**: Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern. - **Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugriff auf neue Produktankündigungen und exklusive Einblicke. - **Spezielle Rabatte**: Profitieren Sie von exklusiven Rabatten auf unsere neuesten Produkte. - **Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Verlosungen und Feiertagsaktionen teil. 👉 Bereit, mit uns zu entdecken und zu kreieren? Klicken Sie auf [|link_sf_facebook|] und treten Sie noch heute bei! .. _py_stt: 15. STT (Speech-to-Text) ============================================== Dieses Beispiel zeigt, wie das STT-Modul (Speech-to-Text) auf dem PiCrawler verwendet wird. Der Roboter hört über das eingebaute Mikrofon auf Ihre Stimme und wandelt sie in Echtzeit in Text um. **Code ausführen** .. raw:: html .. code-block:: cd ~/picrawler/examples sudo python3 15_stt.py Nach dem Start des Programms sehen Sie die Spracheinstellung und eine Eingabeaufforderung. Der Roboter beginnt zuzuhören — sprechen Sie in das Mikrofon und der erkannte Text wird im Terminal ausgegeben. Wenn keine Sprache erkannt wird, erscheint ``(no speech detected)``. Drücken Sie **Strg+C** zum Beenden. **Bevor Sie beginnen** Stellen Sie sicher, dass Sie Folgendes abgeschlossen haben: * :ref:`install_all_modules` — Installieren Sie die Module ``robot-hat``, ``vilib``, ``picrawler`` und führen Sie dann das Skript ``i2samp.sh`` aus. **Code** .. note:: Sie können den folgenden Code **Ändern/Zurücksetzen/Kopieren/Ausführen/Stoppen**. Navigieren Sie dazu zum Quellcode-Pfad wie ``picrawler\examples``. Nach dem Ändern des Codes können Sie ihn direkt ausführen, um das Ergebnis zu sehen. .. raw:: html .. code-block:: python #!/usr/bin/env python3 from robot_hat.stt import STT # Sprachsteuerungs-Demo mit dem STT-Modul von sunfounder_voice_assistant # Strg+C zum Beenden # Sprache konfigurieren: "en-us", "zh-cn", etc. LANGUAGE = "en-us" def main(): print("=== PiCrawler Speech-to-Text Demo ===") print(f"Sprache: {LANGUAGE}") print("Strg+C zum Beenden") print() stt = STT(language=LANGUAGE) try: while True: print("Höre zu... (jetzt sprechen)") text = stt.listen() if text: print(f">>> {text}") else: print("(keine Sprache erkannt)") except KeyboardInterrupt: print("\nBeenden...") if __name__ == "__main__": main() **Wie funktioniert es?** #. Importieren des STT-Moduls .. code-block:: python from robot_hat.stt import STT Die ``STT``-Klasse ist Teil des ``robot_hat``-Pakets. Sie übernimmt die gesamte Low-Level-Audioaufnahme und Sprachverarbeitung. #. Festlegen der Sprache .. code-block:: python LANGUAGE = "en-us" Die ``LANGUAGE``-Variable konfiguriert die Erkennungssprache. Sie können sie je nach Bedarf in andere unterstützte Codes wie ``"zh-cn"`` (Chinesisch) oder ``"de-de"`` (Deutsch) ändern. #. Erstellen der STT-Instanz .. code-block:: python stt = STT(language=LANGUAGE) Dies erstellt ein STT-Objekt, das für die gewählte Sprache konfiguriert ist. Das Objekt initialisiert das Mikrofon und die Spracherkennungs-Engine. #. Die Hörschleife .. code-block:: python while True: print("Höre zu... (jetzt sprechen)") text = stt.listen() if text: print(f">>> {text}") else: print("(keine Sprache erkannt)") Das Programm läuft in einer Endlosschleife, wobei jede Iteration: - Den Benutzer zum Sprechen auffordert. - ``stt.listen()`` aufruft, das blockiert, bis Sprache erkannt und verarbeitet wird. - Den erkannten Text als String zurückgibt, oder ``None`` / leer, wenn nichts verstanden wurde. - Das Ergebnis im Terminal ausgibt. #. Sauberes Beenden .. code-block:: python except KeyboardInterrupt: print("\nBeenden...") **Strg+C** löst einen ``KeyboardInterrupt`` aus, der abgefangen wird, um eine Beenden-Nachricht auszugeben und das Programm sauber zu beenden.