Installer snips : Méthode officielle

logo snips
logo snips

Nous avons vu précédemment comment faire une installation de snips pas à pas. Mais il faut savoir que l’installation officielle de snips passe par un outil qu’ils ont développé et qui s’appelle « sam ». Attention, pour le moment, l’installation de snips via « sam » n’est compatible qu’avec raspberry.

Les prérequis



Edit : Comme il est peut être lu plus bas dans les commentaires, l’équipe de dev de snips préfère que sam soit installé sur ton ordinateur plutôt que sur le raspberry 🙂
Ce n’est pas mon choix car je trouve qu’il y a trop de chose à installer sur le poste de travail, surtout quand c’est du test et garder mon OS de travail allégé de toutes mes bidouilles est prioritaire.
Néanmoins, il était important que tu aies cette info avant de lancer l’install de sam sur raspberry 🙂
Je ferai donc un article avec l’install de sam sur Windows pour ceux qui souhaiterai suivre cette voie 🙂


pour installer sam, il nous faut node.js . Pour ça, lance les commandes suivantes :

$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

Puis

$ sudo apt-get install -y nodejs

L’installation par sam

Et on lance l’installation de sam

$ sudo npm install -g snips-sam

Maintenant, nous allons demander à sam d’installer entièrement snips tout seul comme un grand.
Pour ça, on va déjà se connecter à sa

$ sam connect localhost

Ce qui devrait te donner ça :

pi@raspberrypi:~ $ sam connect localhost
? Enter username for the device: pi
? Enter password for the device: [hidden]
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:u460vSRfzEoHTFcSfz68V/ie6LDYm7cNR0P4QbdmWB8 Snips RSA key
The key's randomart image is:
+---[RSA 4096]----+
|          o..  E.|
|           +  = =|
|        . . .o.*.|
|       o .   +=..|
|        S     =+.|
|         =    .+o|
|      o + =. ...o|
|     . O =o +.=o.|
|      o.Bo =++.o.|
+----[SHA256]-----+
i A public key has been generated and copied to the device at localhost:~/.ssh/authorized_keys 
pi@raspberrypi:~ $ 

Et c’est là que tu vas lancer l’installation avec :

$ sam init

Ce qui te donne au bout de 2 ou 3 minutes même pas :

pi@raspberrypi:~ $ sam init
Installing Snips Platform components. This may take a few minutes...
v Updating aptitude repository
v Installing dirmngr
v Adding Snips APT source list
v Adding Snips PGP public key
v Updating aptitude repository
v Installing Snips Platform, this could take a while, grab a cup of tea & relax
v Adding current user to snips-skills-admin group for security
v Successfully installed the Snips Platform
i You can now setup your audio with sam setup audio 
pi@raspberrypi:~ $ 

Et voilà ! snips est installé.

La configuration

Nous allons passer à la configuration audio comme il nous est proposé. Pour ça, on tape :

$ sam setup audio

Voici la première question

pi@raspberrypi:~ $ sam setup audio
? Is it a Snips Makers Kit? (Y/n) 

Si ce n’est pas un snips makers kit, alors on répond non (petit n)

Ensuite, il me dit ceci :

v Found only 1 capture device named: carte 2: seeed4micvoicec [seeed-4mic-voicecard], périphérique 0: bcm2835-i2s-ac10x-codec0 ac10x-codec0-0 []
i Using this device to capture sound 

En version courte, il a vu un respeaker 4 mic en tant que micro, et que comme c’est le seul périphérique en entrée de trouver, il le sélectionne d’office.

Si par contre, tu as ceci :

x Error fetching audio capture device: No capture devices found. Check if your mic is correctly plugged.
i If the microphone is not connected through USB, you might need to install it yourself. See the manufacturers installation guide 
i Using default capture configuration card 1 subdevice 0 

Alors là, ça craint. En gros, il n’a trouvé aucun micro. Donc, si tu as respeaker 2 mic ou 4 mic, je t’invite à aller installer les drivers en lisant cette page . Si c’est un autre micro, alors il va falloir que tu cherches de ton côté car je n’ai pas tous les modèles chez moi 🙂

Ensuite, il nous écrit ceci :

? Found 3 interfaces to output sound.
  Choose the one you want to use as your speaker (Use arrow keys)
> carte 0: ALSA [bcm2835 ALSA], périphérique 0: bcm2835 ALSA [bcm2835 ALSA] 
  carte 0: ALSA [bcm2835 ALSA], périphérique 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] 
  carte 1: Device [USB2.0 Device], périphérique 0: USB Audio [USB Audio] 

En fait, il a vu 3 sorties audio possibles et il nous demande de sélectionner celle que l’on souhaite utiliser (avec les flèche haut et bas).
Dans mon cas, il voit la sortie Jack du raspberry (qui est ultra pourrie, il faut le dire). Il voit aussi la sortie HDMI. Et oui, l’HDMI, ce n’est pas que la connexion à un écran. Et il voit un haut parleur USB; tout pourri lui aussi mais pour les tests c’est très bien. Je vais donc sélectionner ce dernier et taper sur « Entrée »

v Installed /etc/asound.conf
Setting to volume to 90% if possible
Restarting snips-audio-server service done
i You can test your microphone & speaker with sam test microphone / speaker 

Il a donc écrit le fichier de config /etc/asound.conf . Il ne nous reste plus qu’à tester tout ça.

Donc, testons déjà la sortie sur haut parleur

$ 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 

Normalement, tu devrais avoir la douce voix de ttspico qui te dit « Front Left, Front Right » . Donc pour le speaker c’est ok. Essayons le micro maintenant.

$ sam test microphone

Une fois la commande lancée, parle pendant une dizaine de secondes puis appuie sur une touche. Normalement, tu devrais entendre ce que tu viens de dire.

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...
v Playing the recording
Relaunching snips-audio-server
i Didn't hear anything? Check the recording level of your microphone and the volume of the speaker. 
i Alternatively you can run sam setup audio to setup your microphone 

Résumé

Voilà, snips est installé et configuré. Il te reste à créer et installer un assistant.
Là encore, tu trouveras toutes les infos nécessaires pour ça sur cette page.

Amuse toi bien avec snips !

@ pluche


13 Comments

  1. Bonjour
    Super tuto….merci pour le partage.
    je viens de recevoir le matériel nécessaire pour installer snips.Mais il n’est plus possible de se loguer pour les nouveaux arrivants.Quelqu’un aurait-il une solution pour se loguer avant le 30 janvier.
    Merci d’avance
    JeanBa

    • Bonjour Livigni,

      Malheureusement, je ne pense pas. Sonos a envoyé le signal à toute la communauté qu’on pouvait s’assoir sur l’investissement en temps passé pour les aider à améliorer le produit.

      Nous sommes plus ou moins à la recherche d’un remplaçant correct pour le français, mais pour le moment, pas de solution simple :/

      Ced

  2. Salut, merci pour l’article !

    Par contre pour info, SAM n’est pas sensé s’installer sur le device cible (raspi3+, raspi zero, …) mais sur ton desktop/laptop. Il se connecte au device en ssh pour le moment et en http (soon).

    Ca n’a donc pas vraiment de sens de l’installer sur un raspi zero à moins de se compliquer la vie ;).

    • Bonjour Elbywan,

      Si cela a du sens dans plusieurs cas. Si tu souhaites que ton snips soit entièrement autonome (script cron pour mise à jour par exemple), que la version raspberry/linux est plus stable que la version windows, que tu ne souhaites pas installer tous les pré-requis sur ton laptop/desktop.

      Et après, cela peut aussi être pour des questions de philosophie. Personnellement, je n’aime pas dispatché les composants quand cela n’est pas nécessaire.

      Il y a plein de raisons à installer sam sur le device 🙂 et la majorité des utilisateurs expérimentés le font 😉

      Le seul point où je pourrais te rejoindre c’est sur le pi Zéro car, étant un satellite obligatoirement, cela signifie que tu as obligatoirement un maître sur le réseau et tu pourrais faire le sam depuis le snips-maître.

      Mais dans l’ensemble, vu que je vais énormement de tests et de bidouilles avec tout un tas de produits et logiciels, j’essaye toujours de laisser ma machine propre et de bien cloisonner tout ça. Sinon, c’est vite un bord.l sans nom 🙂

      Ced

    • Hello Ced,

      Je faisais particulièrement référence au tuto d’installation de SAM sur raspi zéro sur lequel je suis tombé par hasard (et je n’ai pas pu laisser un commentaire là bas) qui laisser penser qu’il faut l’installer directement sur le raspberry.

      Bien sûr si on a ses raisons, philosophiques ou de sandboxing comme tu l’as souligné, pourquoi pas chacun est libre de faire comme il lui plaît ;).

      Par contre, il ne faudrait vraiment pas que les lecteurs s’imaginent que c’est la manière conseillée de le faire ! Le setup **par défaut** est d’installer SAM sur le laptop/desktop.

    • Si tu suis cet article : https://docs.snips.ai/getting-started/quick-start-raspberry-pi
      L’installation de sam se fait sur le raspberry 🙂 il n y a pas de commande sudo pour windows 🙂
      Et il y a bien écrit « Si sur windows », ce qui n’est donc pas un pré-requis 😉

      Et dans le cadre d’un snips satellite, tu as déjà sam sur ton snips principal 🙂 inutile de l’installer sur ton laptop.

      Je trouve qu’installer sam sur Windows ne fait qu’installer tout un tas de truc inutile si ce n’est que pour snips (git, node etc. )

      Ced

    • Je ne parle pas d’installer sam forcément sur windows. Un ordi. peut tourner sur mac ou linux.

      Si tu lis l’article que tu as linké justement non, l’install de sam se fait sur le laptop (« If you haven’t already, install the Sam Command Line Interface on your computer. « )

      Voilà aussi un lien vers la description de SAM dans la doc (« maintain Raspberry Pi and similar devices right from your computer ») : https://docs.snips.ai/reference/sam

      Et un dernier sur l’action du maker kit (« Using sam to fetch the content of this repo on your laptop ») : https://github.com/snipsco/snips-demo-dev-kit#only-action-code

      Enfin, pour info, je travaille chez Snips et j’ai quelques commits sur SAM. Je pense donc avoir un minimum d’expérience sur le sujet ;).

      Il ne faudrait pas induire les gens en erreur. SAM est fait à la base pour manager un ou plusieurs raspberries depuis un ordi, ce n’est pas la « méthode officielle » de l’installer sur un raspberry.

  3. Bonjour cedox
    Un grand bravo pour ton excellent blog qui me permet de me lancer facilement dans les installations Snips maître et satellite reliés à un Jeedom.
    Bon travail qui rend accessible Snips au plus grand nombre.
    Juste un petit complément :
    tu précises que SAM n’est compatible qu’avec Raspberry. Je précise qu’il n’est pas compatible avec un Raspberry Pi Zero WH en tout cas par la commande que tu donnes :
    curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash –
    qui retourne le message suivant :

    ## Installing the NodeSource Node.js 10.x repo…
    ## You appear to be running on ARMv6 hardware. Unfortunately this is not currently supported by the NodeSource Linux distributions. Please use the ‘linux-armv6l’ binary tarballs available directly from nodejs.org for Node.js 4 and later.

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.