Installation de snips sur raspberry

Configuration de snips

Maintenant que nous savons que le son est correctement configuré, nous allons nous attaquer à la config de snips à l’aide du petit outil « sam » que l’on a installé précédemment.

Pour cela on va demander à sam de se connecter à notre snips :

$ sam connect localhost

le login, tu laisses « pi » en appuyant directement sur « Entrée » puis en mot de passe, et bien tu rentres ton mot de passe, logique

v Connected to localhost
Generating public/private rsa key pair.
Created directory '/home/pi/.ssh'.
Your identification has been saved in /home/pi/.ssh/id_rsa_snips.
Your public key has been saved in /home/pi/.ssh/id_rsa_snips.pub.
The key fingerprint is:
SHA256:pLVlw74CxyFnm/Vr6V9qxiYr5MV+K1YlURHgjI1zfag Snips RSA key
The key's randomart image is:
+---[RSA 4096]----+
|             ..++|
|         .  * o. |
|      . * *+ =.o.|
|       O X oo.. o|
|      o S ..E  o |
|       o  ..oo.  |
|        .o.o+o  .|
|         .oo= *o |
|           ooX+. |
+----[SHA256]-----+
i A public key has been generated and copied to the device at localhost:~/.ssh/authorized_keys
pi@raspberrypi:~ $

Comme c’est la première fois que tu te connectes, il a fait un truc bizarre de clé RSA tout ça, ne t’inquiète pas, c’est normal.

La commande qui nous permet de savoir comment va snips c’est « sam status ». Alors lançons et regardons le résultat :

pi@raspberrypi:~ $ sam status

Connected to device localhost

OS version ................... Raspbian GNU/Linux 9 (stretch)
Installed assistant .......... Not installed
Status ....................... Live (no assistant)

Service status:

snips-analytics .............. 0.60.8 (not running)
snips-asr .................... 0.60.8 (not running)
snips-audio-server ........... 0.60.8 (running)
snips-dialogue ............... 0.60.8 (not running)
snips-hotword ................ 0.60.8 (not running)
snips-nlu .................... 0.60.8 (not running)
snips-skill-server ........... (not running)
snips-tts .................... 0.60.8 (running)

pi@raspberrypi:~ $

Ok, les seuls services en verts sont actuellement « snips-audio-server » et « snips-tts ». C’est normal.

Pour te rassurer sur le fait qu’au niveau du son, tout va bien, tu peux faire un « sam test speaker »

pi@raspberrypi:~ $ sam test speaker
Testing speaker
v Playing sound on your speaker. Press Enter to stop...
Playing sound on your speaker. Press Enter to stop... done
i Didn't hear anything ? Run : sam setup audio
pi@raspberrypi:~ $ sam status

et pour le micro un « sam test microphone »

pi@raspberrypi:~ $ sam test microphone
i Plug in your microphone and turn on your speaker
Stopping snips audio server
v Say something in the microphone, then press a key to continue...

Baragouine une jolie phrase puis appuie sur une touche de ton clavier. Tu devrais entendre ce que tu viens de dire.

Création d’un compte snips.

Maintenant que snips est prêt, on va lui ajouter des compétences, en langage assistant vocal, on appelle ça des « skills ». Pour ça, il faut aller sur le site de snips, se créer un compte. C’est parti en cliquant sur le lien
https://console.snips.ai/login

Enregistrement d’un compte snips

On clique sur « Sign Up » en bas à droite en bleu.

Enregistrement d’un compte snips (suite)

Dans le champ « Username », tu mets ton pseudo (que tu n’oublieras pas de préférence)
Dans le champ « Email », bon je pense que c’est clair.
Dans le champ « Password », tu mets un mot de passe (que tu n’oublieras pas non plus…)
Tu gères le captcha et clique sur « Sign up »

Compte créé

Si tu es bilingue, n’hésite pas à aller lire le tutoriel complet. Si tu souhaites continuer cet article, clique sur « Let’s Get Started ».
Normalement, tu as aussi reçu un mail pour activer ton compte. Je te conseille d’aller le faire dès maintenant.

Création du premier assistant

Là, il nous demande de créer notre premier assistant. En effet, il est possible d’avoir plusieurs assistants dans son compte snips, même si tous ne peuvent être déployés en même temps sur un snips. Pratique quand on veut essayer un assistant en test sans casser celui qui fonctionne.

Appelons-le « coxprod_diy » et sélectionnons la langue « French »

Création du premier assistant (suite)

Hop ! Il est temps de cliquer sur « Create »

Création avec succès

Bon, tu commences à devenir bilingue, donc je te laisse cliquer sur « Add Some Apps »

Sélection d’une application

Bon, dans un premier temps, on va prendre une application très simple qui s’appelle « Heure » écrite par « Joseph ». On clique sur « Add App » puis on va tout en bas à droite et on clique sur « Add Apps »

Première « Apps » installée

Et voilà ! Notre premier assistant est créé et on lui a ajouté la compétence de donner l’heure quand on lui demande :).
Ce que nous allons essayer de ce pas évidemment.

19 Comments

  1. Hello
    Super projet ça a l’air top et le tuto bien fait. J’arrive à l’étape sam install assistant et il me demande enter the path to home assistant. De quel répertoire s’agit-il ?
    Merci de votre aide
    Mathieu

    • Bonjour matthieu,

      C’est tout simplement parce que tu as dans ton assistant une application qui s’appuie sur home-assistant dans ces actions. Au vu de ta question, tu n’as pas home assistant (concurrent jeedom, eedomus, openhab etc…).
      Il faut donc que tu trouves cette application et que tu l’enlèves de l’assistant. Pour cela, tu dois Forké toutes tes applications ainsi que les intents et regarder chaque action.
      Il y’a plusieurs possibilité : Snipplets, github et home assistant. Si ton action fait appel à home assistant, ce n’est pas bon 🙂

      Ced

    • Bonjour
      Effectivement je suis aller un peu vite j’ai voulu essayer pleins d’app snips 😆.
      Par contre j’ai maintenant pleins d’erreurs de ce type quand je fait Sam install assistant.
      Une idée ?
      Certaines apps ont besoin de l’assistant Google ? Je peux faire un mix de snips et de Google ?
      Merci


      Cloning skill bluevert.Heure from url: https://github.com/JDureau/snips-skill-heure
      error: impossible d’ouvrir .git/FETCH_HEAD: Permission non accordée

      Running setup.sh & generating virtual environment for snips-skill-heure
      ✖ Error setting up virtualenv, one or more actions might not be able to run. Reason :
      Traceback (most recent call last):
      File « /usr/lib/python3/dist-packages/virtualenv.py », line 2379, in

    • Bonjour Mathieu,

      Nettoie tout et refait un sam install assistant :
      pi@raspberrypi:~ $ sudo rm -r /usr/share/snips/assistant/*
      pi@raspberrypi:~ $ sudo rm -r /var/lib/snips/skills/*

      Ced

    • Bonjour Pour information j’ai du repartir de zéro et réinstallé ma distribution. Quand j’installe qu’une seule application cela marche sans problème par contre des que j’essaye d’installer une application qui nécessite home assistant cela plante tout. Cela capte bien la voix mais ne répond plus.
      A priori des bugs ont été saisies sur ce problème.

    • Bonjour Mathieu,

      Effectivement, si tu n’as pas home-assistant, il ne faut pas installer les applications qui nécessitent en pré-requis home-assistant.
      C’est vrai que le store d’application de snips est excessivement mal fait à l’heure d’aujourd’hui car il n’est pas possible de trier les applications par la technologie des actions (avec ou sans, HA, github, snippets).
      Il n’y a plus qu’à espérer que ce soit une futur mise à jour proche !

      Ced

  2. Hello,

    Genial tes tutos. Il manque l’integration a Jeedom ! 😀
    petite coquille, page 4, juste avant le paragraphe « l’installation de sam » il faudrait modifier la commande
    sudo apt-get install -y snips-platform-voice snips-skill-server
    par
    sudo apt-get install -y snips-platform-voice snips-skill-server snips-watch

    Sinon il manque un bout;

    Bon je sais que maintenant il y a sam init mais bon…

    Freddy

    • Bonjour Freddy,

      Effectivement, mais tu remarqueras que l’install de snips-watc est page 7 😉
      J’avais déjà remarqué ce détail mais commme l’install est donnée un peu plus loin, j’ai laissé l’article comme il est 🙂

      En tout cas merci pour la relecture ! 🙂

      Ced

  3. Bonsoir Ced,
    J’ai fait un rpi-update et je m’en mors les doigts GRRRRR
    Mon respeaker 2 mic tirer sa révérence.J’ai essayé de ré-installer les pilotes rien n’y fait.
    Problème connu et une solution existe? ou suis-je le seul?

  4. Merci Ced
    Il me manquait un argument dans l’ajout de mon utilisateur dans le groupe sudo.
    Je faisait usermod -G sudo Nouvel utilisateur au lieu de
    usermod -a -G sudo Nouvel utilisateur je teste ça aujourd’hui.

  5. Bonjour,
    Merci pour ce Tuto clair et précis.
    J’ai 2 soucis :
    Si je choisi un autre nom d’utilisateur que pi tout se passe bien jusqu’au reboot post install de mon respeaker2mic; lsmod | grep seeed ne retourne rien aplay -l et arecord -l idem par contre si aplay -l et arecord -l exécuté en sudo ma carte est bien présente ( utilisateur crée au départ appartenant au groupe sudo et pi supprimé avant toute install)
    Et deuxièmement si je fait une Maj du kernel dans dernière mouture avec une installation avec user pi par défaut j’ai le même souci qu’en haut.
    Avez vous une idée ?
    Merci
    Hervé

    • Bonsoir,

      Il ne faut pas oublier d’ajouter ce nouvel utilisateur dans les mêmes groupes natifs que pi. Pour en obtenir la liste :
      cat /etc/group | grep pi

      ensuite il faut exécuter cette commande pour chaque groupe :
      usermod -a -G groupe nouvel_utilisateur

      où « groupe » est le nom du groupe à affecter au nouvel utilisateur et « nouvel_utilisateur » le login du nouvel utilisateur.

      Si cela n’est pas fait, le nouvel utilisateur créé n’a pas accès à certaines ressources (audio, gpio etc…)

      Ced

  6. Bonjour,
    Merci pour ce tuto. J’ai bien suivi toutes les étapes mais lors du test du micro, j’ai un fort grésillement et ma voix est quasi inaudible.
    Tu sais d’ou ca peut venir ?
    Merci

    • Bonjour Pang,

      Il me faudrait plus d’info sur le matériel utilisé mais là, il semblerait que cela soit un problème matériel. Surtout si tu entends ta voix dans le fond.

      Cela peut-être dû à un défaut de masse ou une pollution de ton alimentation. Ce sont là que des suppositions, mais si j’étais toi, j’essaierai de changer d’alimentation et de micro dans un premier temps pour voir le résultat.

      Ced

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.