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.
Verfügbare Aufnahmegeräte auflisten:
arecord -lSuchen Sie nach einer Zeile wie
card 1: ... device 0.Nehmen Sie eine kurze Probe auf ( ersetzen Sie
1,0durch 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 0ist, verwenden Sie:
arecord -D plughw:2,0 -f S16_LE -r 16000 -d 3 test.wav
Spielen Sie die Aufnahme ab, um sie zu bestätigen:
aplay test.wavPassen 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
Mzum 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 -lund ersetzen Sie
1,0durch 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-usfür Englisch,zh-cnfü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.