Note
Bonjour, bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder sur Facebook ! Approfondissez vos connaissances sur Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Support d’experts : Résolvez les problèmes post-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprenez et partagez : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.
Remises spéciales : Profitez de remises exclusives sur nos nouveaux produits.
Promotions festives et cadeaux : Participez à des concours et des promotions de vacances.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [here] et rejoignez-nous dès aujourd’hui !
16. STT avec Vosk (hors ligne)
Vosk est un moteur léger de reconnaissance vocale (STT) qui prend en charge de nombreuses langues et fonctionne entièrement hors ligne sur Raspberry Pi. Vous n’avez besoin d’un accès Internet qu’une seule fois pour télécharger un modèle de langue. Ensuite, tout fonctionne sans connexion réseau.
Dans cette leçon, nous allons :
Vérifier le microphone sur Raspberry Pi.
Installer et tester Vosk avec un modèle de langue de votre choix.
Avant de commencer
Assurez-vous d’avoir terminé :
Installer tous les modules (Important) — Installez les modules
robot-hat,vilib,pidog, puis exécutez le scripti2samp.sh.
1. Vérifier votre microphone
Avant d’utiliser la reconnaissance vocale, assurez-vous que votre microphone USB fonctionne correctement.
Listez les périphériques d’enregistrement disponibles :
arecord -lRecherchez une ligne comme
card 1: ... device 0.Enregistrez un court échantillon (remplacez
1,0par les numéros que vous avez trouvés) :arecord -D plughw:1,0 -f S16_LE -r 16000 -d 3 test.wav
Exemple : si votre périphérique est
card 2, device 0, utilisez :
arecord -D plughw:2,0 -f S16_LE -r 16000 -d 3 test.wav
Écoutez-le pour confirmer l’enregistrement :
aplay test.wavAjustez le volume du microphone si nécessaire :
alsamixer
Appuyez sur F6 pour sélectionner votre microphone USB.
Trouvez le canal Mic ou Capture.
Assurez-vous qu’il n’est pas muet ([MM] signifie muet, appuyez sur
Mpour activer le son → devrait afficher [OO]).Utilisez les touches ↑ / ↓ pour modifier le volume d’enregistrement.
2. Tester Vosk
Étapes pour essayer :
Créez un nouveau fichier :
cd ~/pidog/examples sudo nano test_stt_vosk.py
Copiez-y le code d’exemple. Appuyez sur
Ctrl+X, puisY, etEnterpour enregistrer et quitter.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)
Exécutez le programme :
sudo python3 test_stt_vosk.py
La première fois que vous exécutez ce code avec une nouvelle langue, Vosk téléchargera automatiquement le modèle de langue (par défaut, il téléchargera la version small). En même temps, il affichera également la liste des langues prises en charge. Ensuite, vous verrez :
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
Cela signifie :
Le fichier du modèle (
vosk-model-small-en-us-0.15) a été téléchargé.La liste des langues prises en charge a été affichée.
Le système écoute maintenant — dites quelque chose dans le microphone du Pidog, et le texte reconnu apparaîtra dans le terminal.
Conseils :
Gardez le microphone à environ 15–30 cm de distance.
Choisissez un modèle qui correspond à votre langue et à votre accent.
Mode flux (streaming) (optionnel)
Vous pouvez également diffuser la parole en continu pour voir les résultats partiels pendant que vous parlez :
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)
Dépannage
No such file or directory (lors de l’exécution de `arecord`)
Vous avez peut-être utilisé un mauvais numéro de carte/périphérique. Exécutez :
arecord -let remplacez
1,0par les numéros affichés pour votre microphone USB.Le fichier enregistré n’a pas de son
Ouvrez le mélangeur et vérifiez le volume du microphone :
alsamixer
Appuyez sur F6 pour sélectionner votre microphone USB.
Assurez-vous que Mic/Capture n’est pas muet ([OO] au lieu de [MM]).
Augmentez le niveau avec ↑.
Vosk ne reconnaît pas la parole
Assurez-vous que le code de langue correspond à votre modèle (p. ex.
en-uspour l’anglais,zh-cnpour le chinois).Gardez le microphone à 15–30 cm et évitez le bruit de fond.
Parlez clairement et lentement.
Latence élevée / reconnaissance lente
Le téléchargement automatique par défaut est un petit modèle (plus rapide, mais moins précis).
Si c’est encore lent, fermez les autres programmes pour libérer du CPU.