Bemerkung

Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community auf Facebook! Tauchen Sie gemeinsam mit anderen Enthusiasten tiefer in Raspberry Pi, Arduino und ESP32 ein.

Warum mitmachen?

  • Experten-Support : Lösen Sie After-Sales-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.

  • Sonderrabatte : Profitieren Sie von exklusiven Rabatten auf unsere neuesten Produkte.

  • Festliche Aktionen und Gewinnspiele : Nehmen Sie an Gewinnspielen und saisonalen Aktionen teil.

👉 Bereit, mit uns zu entdecken und zu erschaffen? Klicken Sie auf [here] und treten Sie noch heute bei!

3. STT mit Vosk ( Offline )

Vosk ist eine leichtgewichtige Speech-to-Text ( STT )-Engine, die viele Sprachen unterstützt und auf dem Raspberry Pi vollständig offline läuft. Sie benötigen nur einmal Internetzugang, um ein Sprachmodell herunterzuladen. Danach funktioniert alles ohne Netzwerkverbindung.

In dieser Lektion werden wir:

  • Das Mikrofon auf dem Raspberry Pi überprüfen.

  • Vosk mit einem ausgewählten Sprachmodell installieren und testen.

1. Mikrofon überprüfen

Bevor Sie die Spracherkennung verwenden, stellen Sie sicher, dass Ihr USB-Mikrofon korrekt funktioniert.

  1. Verfügbare Aufnahmegeräte auflisten:

    arecord -l
    

    Suchen Sie nach einer Zeile wie card 1: ... device 0 .

  2. Nehmen Sie eine kurze Probe auf ( ersetzen Sie 1,0 durch die Zahlen, die Sie gefunden haben ):

    arecord -D plughw:1,0 -f S16_LE -r 16000 -d 3 test.wav
    
    • Beispiel: Wenn Ihr Gerät card 2, device 0 ist, verwenden Sie:

    arecord -D plughw:2,0 -f S16_LE -r 16000 -d 3 test.wav
    
  3. Spielen Sie die Aufnahme ab, um sie zu bestätigen:

    aplay test.wav
    
  4. Passen Sie bei Bedarf die Mikrofonlautstärke an:

    alsamixer
    
    • Drücken Sie F6 , um Ihr USB-Mikrofon auszuwählen.

    • Suchen Sie den Kanal Mic oder Capture .

    • Stellen Sie sicher, dass es nicht stummgeschaltet ist ( [MM] bedeutet stumm; drücken Sie M zum Aufheben → es sollte [OO] anzeigen ).

    • Verwenden Sie die Pfeiltasten ↑ / ↓, um die Aufnahme-Lautstärke zu ändern.

2. Vosk testen

Programm ausführen

cd ~/fusion-hat/examples
sudo python3 stt_vosk_stream.py

Wenn Sie diesen Code zum ersten Mal mit einer neuen Sprache ausführen, wird Vosk:

  • Das Sprachmodell automatisch herunterladen ( standardmäßig die kleine Version ).

  • Die Liste der unterstützten Sprachen ausgeben .

  • Mit dem Zuhören auf Audioeingaben über das Mikrofon beginnen.

Im Terminal sehen Sie etwas wie folgt:

vosk-model-small-en-us-0.15.zip: 100%|███████████████████| 39.3M/39.3M [00:05<00:00, 7.85MB/s]
['ar', 'ar-tn', 'ca', 'cn', 'cs', 'de', 'en-gb', 'en-in', 'en-us', 'eo', 'es', 'fa', 'fr', 'gu', 'hi', 'it', 'ja', 'ko', 'kz', 'nl', 'pl', 'pt', 'ru', 'sv', 'te', 'tg', 'tr', 'ua', 'uz', 'vn']
Say something

Das bedeutet:

  • Die Modelldatei ( vosk-model-small-en-us-0.15 ) wurde heruntergeladen.

  • Die Liste der unterstützten Sprachen wurde ausgegeben.

  • Das System hört jetzt zu — sagen Sie etwas in das Fusion HAT+ -Mikrofon, und der erkannte Text erscheint im Terminal.

Tipps:

  • Halten Sie das Mikrofon etwa 15–30 cm entfernt, um eine bessere Genauigkeit zu erzielen.

  • Wählen Sie ein Modell, das zu Ihrer Sprache und Ihrem Akzent passt .

  • Verwenden Sie eine ruhige Umgebung, um die Erkennung zu verbessern.

Code

from fusion_hat.stt import Vosk as STT

stt = STT(language="en-us")

while True:
   print("Say something")
   for result in stt.listen(stream=True):
      if result["done"]:
            print(f"final:   {result['final']}")
      else:
            print(f"partial: {result['partial']}", end="\r", flush=True)

Code-Erklärung:

  • stt.listen(stream=True) — Startet die Streaming-Spracherkennung und liefert Zwischenergebnisse, während Sie sprechen.

  • result["partial"] — Zeigt den in Echtzeit erkannten Text an ( fortlaufend aktualisiert ).

  • result["final"] — Zeigt den final erkannten Satz an, wenn Sie aufhören zu sprechen.

  • Die Schleife läuft kontinuierlich und ermöglicht eine freihändige Echtzeit-Transkription .

Tipp: Dieser Streaming-Modus ist perfekt für Sprachassistenten , Befehlssteuerung oder Live-Transkription .

Fehlerbehebung

  • No such file or directory ( beim Ausführen von `arecord` )

    Möglicherweise haben Sie die falsche Card/Device-Nummer verwendet. Führen Sie aus:

    arecord -l
    

    und ersetzen Sie 1,0 durch die Zahlen, die für Ihr USB-Mikrofon angezeigt werden.

  • Aufgenommene Datei hat keinen Ton

    Öffnen Sie den Mixer und prüfen Sie die Mikrofonlautstärke:

    alsamixer
    
    • Drücken Sie F6 , um Ihr USB-Mikrofon auszuwählen.

    • Stellen Sie sicher, dass Mic/Capture nicht stummgeschaltet ist ( [OO] statt [MM] ).

    • Erhöhen Sie den Pegel mit ↑.

  • Vosk erkennt Sprache nicht

    • Stellen Sie sicher, dass der Sprachcode zu Ihrem Modell passt ( z. B. en-us für Englisch, zh-cn für Chinesisch ).

    • Halten Sie das Mikrofon 15–30 cm entfernt und vermeiden Sie Hintergrundgeräusche.

    • Sprechen Sie klar und langsam.

  • Hohe Latenz / langsame Erkennung

    • Der automatische Standard-Download ist ein kleines Modell ( schneller, aber weniger genau ).

    • Wenn es immer noch langsam ist, schließen Sie andere Programme, um CPU-Ressourcen freizugeben.