Installation de Rhasspy dans un environnement virtuel python
Alors un environnement virtuel python, c’est un peu comme une bulle dans laquelle nous allons installer Rhasspy et toutes ses dépendances de python dans les versions qui nous intéresse.
En effet, un autre logiciel peut avoir besoin d’un module python dans une version A alors que Rhasspy d’une version B.
Pour être tranquille, on crée notre bulle dans laquelle il y aura donc les bonnes versions de tous les modules python qui nous intéresse.
Tu vas alors me dire que cette histoire de bulle ressemble vachement à Docker. Alors oui mais non. Car, avec Docker, c’est la totalité des dépendances qui sont incluses comme les packages installés par apt. Avec un environnement virtuel python, seuls les modules python sont inclus. Par exemple, si tu as besoin d’une version particulière de “Perl” uniquement pour Rhasspy, avec Docker, cette version sera dans l’image et n’impactera pas la version de Perl installée sur le raspberry. On ne peut pas faire ça avec un environnement virtuel python.
Autre différence, on ne peut pas depuis un shell (fenêtre de commande) accéder aux fichiers qui sont dans la bulle Docker alors qu’on peut accéder aux fichiers qui sont dans notre environnement virtuel python.
Aller, c’est parti.
On commence déjà par récupérer Rhasspy
git clone --recursive https://github.com/rhasspy/rhasspy
On rentre dans le répertoire fraîchement téléchargé
cd rhasspy
Et là, on va configurer l’installation de Rhasspy pour qu’elle n’installe que ce qui nous intéresse. Dans mon cas, je souhaite snowboy
en wake word, kaldi
pour le speech to text
, et la langue française. Ce qui nous donne :
./configure RHASSPY_LANGUAGE=fr RHASSPY_SPEECH_SYSTEM=kaldi RHASSPY_WAKE_SYSTEM=snowboy --enable-in-place
On peut donc constater dans le résultat que nos demandes ont bien été prises en compte :
virtualenv: yes
in-place: yes
language: fr
wake:
mycroft precise: no
porcupine: no
snowboy: yes
raven: yes
pocketsphinx: no
speech to text:
pocketsphinx: no
kaldi: yes (armv7, prebuilt)
deepspeech: no
julius: no
intent recognition:
fuzzywuzzy: yes
snips-nlu: no
text to speech:
nanoTTS: yes (prebuilt)
Wavenet: yes
Larynx: no
training:
opengrm: yes (armv7, prebuilt)
phonetisaurus: yes (armv7, prebuilt)
kenlm: no
Et ensuite on lance l’installation basée sur notre configuration personnalisée.
make
make install
Bon, là, il y en a pour quelques minutes.
Mais si tout se passe bien, cela devrait se finir par ceci :
chmod +x "/home/pi/rhasspy/rhasspy.sh"
pi@rasp-test:~/rhasspy $
il ne nous reste plus qu’à tester que Rhasspy démarre :
./rhasspy.sh --profile fr
Si tout est Ok, cela devrait se terminer par :
[DEBUG:2020-10-31 23:39:55,159] rhasspyserver_hermes: Starting web server at http://0.0.0.0:12101
Running on 0.0.0.0:12101 over http (CTRL + C to quit)
Et si tu ouvres un navigateur et que tu rentres comme adresse : http://<adresse_ip_de_mon_rhasspy>:12101
, tu devrais arriver sur la page d’accueil de Rhasspy.
Bonjour,
Bon, j’ai enfin un Rpi4 ! Installation de Raspberry OS, SSH… J’ai voulu faire l’impasse du ReSpeaker pour installer Rhasspy et recycler une petite enceinte connectée et un micro USB. Les commentaires étant fermés sur la partie “ReSpeaker pour raspberry”, je poste ici (c’est mal?). Je précise avoir réussi à faire sortir du son grâce à cette enceinte connectée en bluetooth (ce qui est déjà un exploit pour moi, débutant sur la question). Donc avant de ma lancer dans le micro USB, peux-tu m’éclairer pour quelle raison privilégies-tu un hat plutôt que du matériel plus “universel” ?
Je te remercie
Bonjour Damien,
Il n’y a aucune raison à choisir un pihat, c’est juste que c’est moins cher pour le 2 pihat ou alors pour les versions plus évoluées, des algorithmes (basiques) de traitement de son. Mais un micro en USB fait tout aussi bien l’affaire. Parfois, il faut plutôt d’assurer que le câble d’alimentation ou le cable usb du micro soient bien blindés car sinon ça fait des parasites.
Donc, non, tu peux jouer avec n’importe quel périph si tu arrives à l’installer sur le raspberry 🙂
Ced
Bon, merci Ced,
Je ne vais pas polluer ton site (très bien fait au demeurant) avec des questions d’installations propres à linux/python.
J’ai posté sur un site mon soucis, si d’autres sont intéressés, ça sera plus lisible…
https://www.developpez.net/forums/d2099242/autres-langages/python/general-python/installation-rhasspy-lien-python/#post11663604
J’ai hâte de tester Rhasspy ! 🙂
Cordialement,
Damien
Merci Ced,
Version 3.5.2
La commande suivante passe sans problème : sudo update-alternatives –install /usr/bin/python python /usr/bin/python3 1
Par contre : sudo update-alternatives –install /usr/bin/pip pip /usr/bin/pip3 1,
renvoie :
update-alternatives: avertissement: forçage de la réinstallation de l’alternative /usr/bin/pip3 car le groupe de liens pip est cassé
update-alternatives: avertissement: /usr/bin/pip ne sera pas remplacé par un lien
Bon, ça ne s’annonce pas simple…
Sinon, en plan B, il y a une autre solution pour installer Rhasspy sur un PC :sous Debian.
Merci
Essaye ça peut être :
sudo apt install python3-pip
Ced
Bonjour,
Je tente d’installer Rhasspy sur mon PC (Linuxmint) pour voir ce que cela donne avant de tenter sur une Raspberry.
A priori la solution d’environnement virtuelle est indiquée pour cette démarche (j’ai un niveau débutant).
Sur l’ordi, les version 2.7, 3 et 3.5 de Python sont installées. J’ai suivi votre tuto… et c’est le drame :
configure:2368: error: in `/home/lincoln/rhasspy’:
configure:2370: error: No compatible Python interpreter found. If you’re sure that you have one, try setting the PYTHON environment variable to the location of the interpreter.
J’ai fait ceci : PYTHON=/usr/lib/python3, sans grand succès.
Bref, je sèche. J’ai l’impression que le système ne trouve pas la bonne version de Python… mais je ne vois pas comment le préciser.
Bonjour Damien,
Ces 2 lignes force python3 par défaut :
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
Ensuite vérifie la version :
pi@rasp-bureau:~ $ python --version
Python 3.7.3
pi@rasp-bureau:~ $
Après est ce une version minimal de python3 mais pour être honnête, je n’ai pas l’info
Ced