integrer VOSK speechtotext rapberry

Vous souhaitez piloter votre framboise à partir d'une page web ? Ou mieux encore à partir d'un smartphone ou d'une tablette Android ? Venez donc visiter cette rubrique...

Modérateur : Francois

Répondre
spearman
Messages : 5
Enregistré le : ven. 6 janv. 2023 18:44

integrer VOSK speechtotext rapberry

Message par spearman » lun. 10 mars 2025 12:19

Bonjour,
(desole mais impossible d'avoir bbcode activé malgré activé dans preferences forum ?)
Apres usage interface ReconnaissanceVocale(RV) en online(sous android) pour commande de mon logiciel domotique,
je trouve necessaire de trouver une solution de reconnaissance vocale OFFLine pour client et serveur.
Apres test, VOSK apparait la bonne solution car integrable sur divers OS( Linux,Windows,android,...).
Mon environnement est:
-Server Raspberry Raspbian GNU/Linux 11 (bullseye) avec developpement Lazarus et un peu de C
-Controleur:PC/W11 et Smartphone/Android12 avec dev multiplateforme sous Delphi11.2
-microphone:micro USB WOODBRASS UM1
Le logiciel est opérationnel depuis qqles années maintenant.
================================================================
VOSK:
Les tests en python(exemples fournis) sous W11 et Debian sont super corrects.
Aussi, j'ai besoin de generer libvosk.so pour integrer à mon logiciel server raspi(et controleur sous delphi hors sujet pour l'instant).
Pour cela:
1)Installer Kaldi: (OK apres nbrx echecs et 3h de compilation sur raspi pour eviter crosscompil)
lien utilisé pour install Kaldi: https://github.com/buichidunggithub/Spe ... INSTALL.md
-apres Augmenter swapfile(à 2048), overclock à 1500mhz, besoin dispo SD de 12Go(pour openfst)
-apres correction des Makefiles concernés, avec ajout -latomic

Code : Tout sélectionner

....
c++  -Wl,-rpath=/home/pi/dev/kaldi/tools/openfst-1.8.4/lib -rdynamic  -Wl,-rpath=/home/pi/dev/kaldi/src/lib  rnnlm-sentence-probs.o   ../rnnlm/libkaldi-rnnlm.so  ../nnet3/libkaldi-nnet3.so  ../cudamatrix/libkaldi-cudamatrix.so  ../decoder/libkaldi-decoder.so  ../lat/libkaldi-lat.so  ../lm/libkaldi-lm.so  ../fstext/libkaldi-fstext.so  ../hmm/libkaldi-hmm.so  ../transform/libkaldi-transform.so  ../gmm/libkaldi-gmm.so  ../tree/libkaldi-tree.so  ../util/libkaldi-util.so  ../matrix/libkaldi-matrix.so  ../base/libkaldi-base.so /home/pi/dev/kaldi/tools/openfst-1.8.4/lib/libfst.so -L/home/pi/dev/kaldi/tools/OpenBLAS/install/lib -lopenblas -lgfortran -Wl,-rpath=/home/pi/dev/kaldi/tools/OpenBLAS/install/lib -lm -lpthread -ldl -latomic  -o rnnlm-sentence-probs
make[1] : on quitte le répertoire « /home/pi/dev/kaldi/src/rnnlmbin »
make -C matrix test
make[1] : on entre dans le répertoire « /home/pi/dev/kaldi/src/matrix »
Running matrix-lib-test ... 20s... SUCCESS matrix-lib-test
Running sparse-matrix-test ... 0s... SUCCESS sparse-matrix-test
Running numpy-array-test ... 0s... SUCCESS numpy-array-test
make[1] : on quitte le répertoire « /home/pi/dev/kaldi/src/matrix »
Done
pi@pi3:~/dev/kaldi/src $ 
2)Generer un libvosk.so:

Code : Tout sélectionner

pi@pi1:~/dev $ git clone https://github.com/alphacep/vosk-api --depth=1
Clonage dans 'vosk-api'...
remote: Enumerating objects: 332, done.
remote: Counting objects: 100% (332/332), done.
remote: Compressing objects: 100% (262/262), done.
remote: Total 332 (delta 68), reused 179 (delta 14), pack-reused 0 (from 0)
Réception d'objets: 100% (332/332), 672.34 KiB | 0 bytes/s, fait.
Résolution des deltas: 100% (68/68), fait.
pi@pi1:~/dev $ cd vosk_api/src
pi@pi1:~/dev/vosk-api/src $ ls
batch_model.cc  batch_recognizer.cc  json.h             language_model.h  model.cc  postprocessor.cc  recognizer.cc  spk_model.cc  vosk_api.cc
batch_model.h   batch_recognizer.h   language_model.cc  Makefile          model.h   postprocessor.h   recognizer.h   spk_model.h   vosk_api.h
pi@pi1:~/dev/vosk-api/src $ make
g++ -g -O3 -std=c++17 -Wno-deprecated-declarations -fPIC -DFST_NO_DYNAMIC_LINKING -I. -I/home/pi/dev/kaldi/src -I/home/pi/dev/kaldi/tools/openfst/include  -I/home/pi/dev/kaldi/tools/OpenBLAS/install/include -c -o recognizer.o recognizer.cc
In file included from /home/pi/dev/kaldi/src/base/kaldi-error.h:34:0,
                 from /home/pi/dev/kaldi/src/base/kaldi-common.h:35,
                 from recognizer.h:18,
                 from recognizer.cc:15:
/home/pi/dev/kaldi/src/base/kaldi-types.h:55:23: fatal error: fst/types.h: Aucun fichier ou dossier de ce type
 #include <fst/types.h>
                       ^
compilation terminated.
Makefile:113 : la recette pour la cible « recognizer.o » a échouée
make: *** [recognizer.o] Erreur 1
pi@pi1:~/dev/vosk-api/src $

Mon probleme est là ! :( je suis un peu..beaucoup perdu avec les nombreux repo de https://alphacephei.com/vosk/install
Quelqu'un saurait'il m'aider , soit pour generer le libvosk.so, soit recuperer un build libvosk.so tout fait Raspberry :idea: ?

Merci.

piper
Modérateur
Messages : 725
Enregistré le : sam. 5 juin 2021 18:57

Re: integrer VOSK speechtotext rapberry

Message par piper » ven. 14 mars 2025 22:30

Salutation, pascalien, ça fait plaisir d'en voir un : à part dans le monde pro, ça devient rare. Pourtant, la communauté n'a jamais cessé d'être dynamique et EMbarcadero a sorti une nouvelle version de Delphi il y a quelques mois.
Je pratique le pascal (depuis le turbo pascal 7.0, en 1993), puis delphi (actuellement j'ai la XE8...oui, on est un peu en retard) , et lazarus

Pour en revenir à ton problème, le message est clair : fst/types.h est requis et manquant
Une recherche sur google montre que open-fst ne fournis plus ce fichier.
Donc problème de dépendance non mise à jour dans le dépôt , voir si une version antérieur règle le problème.
Je n'ai pas cherché plus sur google mais c'est une piste à creuser

Bon courage
3 Pi5 : Emby / Samba , Librelec, Android TV
3 Pi4 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi3 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Répondre

Retourner vers « Des interfaces pour le Raspberry Pi »