Nota
Ciao! Benvenuto nella Community di appassionati di Raspberry Pi, Arduino e ESP32 di SunFounder su Facebook! Approfondisci il mondo di Raspberry Pi, Arduino ed ESP32 insieme ad altri entusiasti.
Perché unirti?
Supporto Esperto: Risolvi problemi post-vendita e supera le sfide tecniche con l’aiuto del nostro team e della comunità.
Impara e Condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Accedi in anticipo agli annunci dei nuovi prodotti e scopri in anteprima le novità.
Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni e Concorsi Festivi: Partecipa a concorsi e promozioni speciali durante le festività.
👉 Sei pronto a esplorare e creare con noi? Clicca su [here] e unisciti oggi stesso!
16. STT con Vosk (Offline)
Vosk è un motore di riconoscimento vocale (STT) leggero che supporta molte lingue e funziona completamente offline su Raspberry Pi. Hai bisogno di una connessione internet solo la prima volta per scaricare un modello linguistico. Dopodiché tutto funziona senza rete.
In questa lezione imparerai a:
Controllare il microfono su Raspberry Pi.
Installare e testare Vosk con un modello linguistico scelto.
Prima di iniziare
Assicurati di aver completato:
Installare tutti i moduli (Importante) — Installa i moduli
robot-hat,vilib,pidog, poi esegui lo scripti2samp.sh.
1. Controlla il Microfono
Prima di usare il riconoscimento vocale, assicurati che il tuo microfono USB funzioni correttamente.
Elenca i dispositivi di registrazione disponibili:
arecord -lCerca una riga simile a
card 1: ... device 0.Registra un breve campione (sostituisci
1,0con i numeri trovati):arecord -D plughw:1,0 -f S16_LE -r 16000 -d 3 test.wav
Esempio: se il tuo dispositivo è
card 2, device 0usa:
arecord -D plughw:2,0 -f S16_LE -r 16000 -d 3 test.wav
Riproduci per confermare la registrazione:
aplay test.wavRegola il volume del microfono se necessario:
alsamixer
Premi F6 per selezionare il microfono USB.
Trova il canale Mic o Capture.
Assicurati che non sia disattivato ([MM] significa muto — premi
Mper riattivare → deve mostrare [OO]).Usa le frecce ↑ / ↓ per regolare il volume di registrazione.
2. Test Vosk
Passaggi per provarlo:
Crea un nuovo file:
cd ~/pidog/examples sudo nano test_stt_vosk.py
Copia il codice di esempio al suo interno. Premi
Ctrl+X, poiYeEnterper salvare e uscire.from pidog.stt import Vosk vosk = Vosk(language="en-us") print(vosk.available_languages) while True: print("Say something") result = vosk.listen(stream=False) print(result)
Esegui il programma:
sudo python3 test_stt_vosk.py
La prima volta che esegui il codice con una nuova lingua, Vosk scaricherà automaticamente il modello linguistico (per impostazione predefinita scaricherà la versione small). Allo stesso tempo stamperà l’elenco delle lingue supportate. Poi vedrai:
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
Questo significa:
Il file del modello (
vosk-model-small-en-us-0.15) è stato scaricato.L’elenco delle lingue supportate è stato stampato.
Il sistema è ora in ascolto — parla nel microfono del Pidog e il testo riconosciuto apparirà nel terminale.
Suggerimenti:
Mantieni il microfono a 15–30 cm dalla bocca.
Scegli un modello che corrisponda alla tua lingua e al tuo accento.
Modalità Streaming (opzionale)
Puoi anche trasmettere la voce in tempo reale per vedere i risultati parziali mentre parli:
from pidog.stt import Vosk
vosk = Vosk(language="en-us")
while True:
print("Say something")
for result in vosk.listen(stream=True):
if result["done"]:
print(f"final: {result['final']}")
else:
print(f"partial: {result['partial']}", end="\r", flush=True)
Risoluzione dei problemi
Nessun file o directory (quando si esegue `arecord`)
Potresti aver usato il numero di scheda/dispositivo sbagliato. Esegui:
arecord -le sostituisci
1,0con i numeri mostrati per il tuo microfono USB.Il file registrato non ha audio
Apri il mixer e controlla il volume del microfono:
alsamixer
Premi F6 per selezionare il microfono USB.
Assicurati che Mic/Capture non sia disattivato ([OO] invece di [MM]).
Aumenta il livello con la freccia ↑.
Vosk non riconosce la voce
Assicurati che il codice lingua corrisponda al modello (ad es.
en-usper inglese,zh-cnper cinese).Mantieni il microfono a 15–30 cm di distanza ed evita rumori di fondo.
Parla chiaramente e lentamente.
Alta latenza / riconoscimento lento
Il download automatico predefinito è un modello small (più veloce, ma meno accurato).
Se è ancora lento, chiudi altri programmi per liberare CPU.