Bemerkung
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 [hier] und treten Sie noch heute bei!
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
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:
Installieren aller Module (Wichtig) — Installieren Sie die Module
robot-hat,vilib,picrawlerund führen Sie dann das Skripti2samp.shaus.
Code
Bemerkung
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.
#!/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
from robot_hat.stt import STT
Die
STT-Klasse ist Teil desrobot_hat-Pakets. Sie übernimmt die gesamte Low-Level-Audioaufnahme und Sprachverarbeitung.Festlegen der Sprache
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
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
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
except KeyboardInterrupt: print("\nBeenden...")
Strg+C löst einen
KeyboardInterruptaus, der abgefangen wird, um eine Beenden-Nachricht auszugeben und das Programm sauber zu beenden.