Reconnaissance vocale : SARAH, Raspberry et le Kinect

sarah-logo-raspberry

Suite de mes péripéties autour de SARAH. J’ai installé non sans problèmes le Kinect sur le Raspberry et tester rapidement tout ça, voici le retour :

Installation du Kinect sur le Raspberry

Tout ce qui concerne le Raspberry ici peut être fait sur une autre machine Linux. J’ai réalisé tous mes tests sur Archlinux.

Tout d’abord il vous faut l’adaptateur auto alimenté pour brancher le Kinect sur un port USB. Ensuite il faut savoir que même si le Kinect ainsi raccordé possède une alimentation secteur, le moteur du Kinect reste alimenté par le port USB (sont assez couillons chez Microsoft :/ ) et que le Raspberry ne délivre pas assez de courant sur ces ports USB (ils nous aides pas non plus). Du coup pour pouvoir utiliser le Kinect sur le Rpi, il faut passer par un HUB USB auto-alimenté. Ça marche mais ça commence à faire quelques km de câbles :/ J’ai quelques pistes pour limiter ça, certaines nécessites de bidouiller le Rpi ou le Kinect, d’autres plus simple, j’attends une commande ebay pour éviter l’utilisation du HUB USB.

Bref, une fois le bazard branché, il va falloir apprendre au Rpi à parler avec Mr Kinect. Antonio Ospite a écrit un outil permettant, depuis Linux, d’uploader un firmware dans le Kinect afin de le voir en tant que périphérique Audio. Cet outil c’est kinect-audio-setup.

[adsGrandRectangleHTexte]

 

  • J’ai fais l’installation à partir des sources mais il existe des paquets pour certaines distributions. Avant l’installation, il vous faudra installer gcc, make, 7zip (j’en oublie peut être)
  • On commence par télécharger les sources. Ce dépôt contient un script (kinect_fetch_fw) pour télécharger le fameux firmware chez Microsoft, l’outil pour l’uploader (kinect_upload_fw) et un fichier de règles udev permettant d’appeler kinect_upload_fw automatiquement lorsque l’on brache le Kinect.
# git clone http://git.ao2.it/kinect-audio-setup.git/
  • On se déplace dans le répertoire créé pour lancer l’installation. Je vous invite à lire le README.
# cd kinect-audio-setup
# make install
  • Si tout se passe bien, on peut ensuite lancer le téléchargement du firmware puis le chargement des nouvelles règles udev
# ./kinect_fetch_fw /lib/firmware/kinect
# udevadm control --reload-rules

Le firmware sera téléchargé puis extrait dans /lib/firmware/kinect/UACFirmware.C9C6E852_35A3_41DC_A57D_BDDEB43DFD04

Si la commande udevadm ne fonctionnait pas, vous pouvez uploader le firmware manuellement :

# kinect_upload_fw /lib/firmware/kinect/UACFirmware.C9C6E852_35A3_41DC_A57D_BDDEB43DFD04
  • Pour finir, on peut vérifier la présence de nouveaux devices USB
# lsusb

Bus 002 Device 003: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor 
Bus 002 Device 004: ID 045e:02ad Microsoft Corp. Xbox NUI Audio 
Bus 002 Device 005: ID 045e:02ae Microsoft Corp. Xbox NUI Camera

Et voila, le micro array du Kinect est maintenant à notre porté 🙂

Note: Pour une raison obscure, la ligne « Xbox NUI Audio » n’apparait plus chez moi après un reboot ? pour qui pour quoi, aucune idée. Toujours est il qu’un « cat /proc/asound/cards » affiche tjs le Kinect et tout fonctionne. Si quelqu’un a une explication ?

Streamer le son du Kinect vers SARAH

Dans l’article précédant, j’avais streamé le son d’un micro casque USB avec la commande

ffmpeg -f alsa -i hw:1 -ar 16000 -acodec pcm_s16le -f rtp rtp://ip_sarah:7887

Seulement voila, si ça marchait avec le Kinect ça aurait été trop simple :). Avec cette commande ffmpeg nous retourne une erreur et nous dit en gros: remballe tes billes et va jouer ailleurs petit …

[alsa @ 0x1cec0e0] cannot set sample format 0x10000 2 (Invalid argument)
hw:1: Input/output error

J’ai essayé un tas de truc, pas moyen. Je ne sais plus pourquoi mais j’ai testé avec arecord et j’ai réussi à enregistrer le son du Kinect avec cette commande :

# arecord -D hw:1,0 -f S32_LE -r 16000 -c 4 test.wav

Je vous rappelle que pour connaitre le numéro du device (hw:1,0) il faut faire un cat /proc/asound/cards)

Quelques cafetières plus tard, TADA!! vive les pipe ! (prononcez à l’anglaise ça fait mieux … dans ce contexte) :

# arecord -D hw:1,0 -f S32_LE -r 16000 -c 4 -t wav | ffmpeg -i pipe:0 -ac 2 -ar 16000 -acodec pcm_s16le -f rtp rtp://ip_sarah:7887

« Sarah, quelle heure est il » ! et Sarah nous répond, c’est formidable ! et dire qu’il y a des gens qui utilisent ces choses accrochées autour de leur poignets, vous savez .. ? y’a plus qu’a mettre tout ça sur batterie 🙂

Quelques réglages pour améliorer la distance de détection

Par défaut j’ai eu de bons résultats entre 0 et 2.5m environ. Via alsamixer on ne peut pas régler le gain du micro du Kinect, il n’affiche rien de réglable. J’ai par contre trouvé un paramètre ffmpeg pour augmenter le volume : -af « volume=xdB » (avec x le nb de dB) et ça marche plutôt bien. Dans la vidéo (voir plus bas), j’utilise 20dB et je suis dans une pièce à environ 4m du kinect avec un mur entre nous.

# arecord -D hw:1,0 -f S32_LE -r 16000 -c 4 -t wav | ffmpeg -i pipe:0 -af "volume=20dB" -ac 2 -ar 16000 -acodec pcm_s16le -f rtp rtp://ip_sarah:7887

Démonstration

Une petite vidéo (, attention c’est court!) pour se rendre compte du temps de latence (~2s entre la fin de la diction et le début de la réponse). Ici le retour se fait sur un troisième PC (en wifi), car le Rpi n’a pas encore d’enceintes. Comme je le disais plus haut, le Kinect et le Rpi se trouvent à environ 4m.

On ne voit pas très bien mais à droite c’est la console du Windows virtualisée qui accueille SARAH et un shell qui stream le son de la machine. A gauche sur fond bleu c’est le Rpi qui stream le son du Kinect vers SARAH et sur fond noir (tjs à gauche) c’est un shell du portable qui réceptionne le son de SARAH.

faites pas attention au bordel et monter un peu le son (la réponse de SARAH est faiblarde)

Coté occupation processeur sur le Rapsberry, le couple arecord/ffmpeg prend environ 10% du cpu. Il faut ajouter encore 10% si vous renvoyez le son vers le Raspberry. Je ne sais si c’est compatible avec l’utilisation de XBMC en même temps ?
Sur le Windows virtualisé (l’hôte est un N40L), le ffmpeg qui sort le son produit prend ~3%.

Sarah serait elle jalouse ?

Rien à voir avec le Raspberry mais tout content de moi j’ai voulu faire tester à ma femme et là merci l’effet Bonaldi … si la détection marche bien avec moi, avec ma femme, SARAH ne veut rien savoir … elle boude :/ . J’ai vu plusieurs posts à ce sujet déjà.

D’après les logs, les phrases sont reconnues mais avec un taux de fiabilité faible :

REJECTED Speech: 0.4881652 < 0.6 Device: SARAH quelle heure est il

Baissez le niveau de confidence génère t’il beaucoup de faux positifs ?

[adsGrandRectangleHTexte]

Améliorations

Cette solution permet de déporter le Kinect loin du PC qui fait tourner SARAH, et pourquoi pas en mettre plusieurs. A voir comment gérer cela coté SARAH, comment le faire répondre dans la bonne pièce, etc… c’est un autre problème.

Il reste à trouver une solution pour le nombre important de câbles. Trois adaptateurs secteur pour ça c’est abusé. J’ai trouvé un câble USB que l’on peut alimenter, ça permet déjà de supprimer le HUB.

Je vais essayer de packager un peut tout ça coté SARAH pour éviter le lancement sauvage des ffmpeg. Pour le Raspberry, j’utilise Archlinux mais si vous souhaitez des paquets openelec, raspbmc, etc… n’hésitez pas à vous manifester, je verrai ce que je peux faire.

 

Vous aimerez aussi...

108 réponses

  1. Nico33 dit :

    Excellent article !
    Il faudrait que je teste à l’occasion mais je dois refaire une carte SD car je suis sur openelec.
    Crois-tu pouvoir exporter ta solution vers openelec ?

    • Olivier dit :

      Je ne connais pas trop Openelec mais je pense que oui, a priori il n’y a rien d’exotique à ajouter.
      Je ne sais pas s’il y a un système de paquet dessus, pas l’impression (?). Je vais me pencher dessus, je te tiens au courant.

  2. kornflex dit :

    J’ai un peu réfléchi a cela. J’étais plutôt dans l’optique d utiliser le raspberry comme contrôleur usb via usbip.
    Cela fait comme si ta kinect était connectée en USB sur ta machine windows via le reseau.
    Voir cet article http://raspberrypi.stackexchange.com/questions/4433/how-do-i-make-my-raspberry-pi-act-as-a-wireless-usb-controller

    N’ayant pas de kinect je n’ai pas pu tester :/

    • Olivier dit :

      Je ne connaissais pas usbip, ça semble pas mal! Je vais essayer. J’ai trouvé un post où quelqu’un semble faire fonctionner un Kinect de cette façon (pas sur Rpi), donc ça semble ok.
      Merci

      • Cédric dit :

        Intéressant, en effet, cette solution ! J’ai essayé il y a quelques jours avec le Hub Usb réseau de Belkin, mais ca n’arrête pas de se déconnecter, c’est inutilisable. Si ca marche comme ca avec un Rapsberry, ce serait top ! En plus ca revient moins cher :p

  3. kornflex dit :

    Tiens moi au courant 🙂

    De mon côté, je suis en train de refaire mon installation serveur multimédia avec xpenology au lieu de openmediavault. Une fois fait, je compte bien tenter SARAH avec raspberry pi 🙂

  4. Nico33 dit :

    J’ai une autre question.
    Crois tu que ce soit adaptable au synology ?

  5. Loïc dit :

    Bonjour,

    Je viens d’essayer ta solution mais chez moi les résultat ne sont pas terrible :
    – Quand je lance le streaming du flux j’ai : Resampling output channel count must be 1 or 2 for mono input; 1, 2 or 6 for stereo input; or N for N channel input.
    Can not resample 4 channels @ 16000 Hz to 2 channels @ 16000 Hz
    J’arrive a corriger en mettant -ac 4 au lieu de -ac 2
    Le flux semble bien être envoyer vers SARAH (j’ai quelques trace dans les logs) mais jamais de reconnaissance de la phrase (j’ai des concordance < 0.2).
    Je suis sous cubian (cubieboard) avec comme version de ffmpeg : ffmpeg 0.8.10-6:0.8.10-1. Peut être qu'elle est trop veille et que c'est de la que vient mon probleme ?

    • Olivier dit :

      Bonjour Loïc,

      As tu essayé d’enregistrer le son dans un fichier au lieu de le streamer pour voir ce que ça donne à l’écoute (son clair, fort, trop faible ?)

      Tu peux le faire via un arecord -D hw:1,0 -f S32_LE -r 16000 -c 4 test.wav si je ne me trompe pas, puis l’écouter avec vlc par exemple.

      Concernant le nb de canaux, je suis obligé de mettre 2 chez moi, en laissant les 4 canaux de mémoire sarah ne reconnaissait rien.
      Mais j’utilise un ffmpeg bcp plus récent : v2.1.4 (le paquet fournis par archlinux), avec la version 0.8 (version fournie par défaut sur raspbian) je n’ai pas réussi à streamer le son d’un micro (cf article précédant) mais je ne me souviens plus quel était le problème.

      • Olfax dit :

        Bonjour Olivier,

        je galère toujours sur le stream RDP.
        grosso modo, je vois que je stream des données, mais je me demande si le son est correcte.

        dans la raspbian, le ffmpeg est une vieille version ( 0.8.13) , j’ai donc recompilé une version afin d’avoir le support alsa mais j’ai un doute sur son bon fonctionnement

        Tu parles d’une version récupérée sur ArchLinux (cool je ne connaissais pas) mais sur le site http://archlinuxarm.org/platforms/armv6/raspberry-pi il ne me semble pas que l’on puisse récupérer des paquets directement compilés pour ARM V6. Es tu parti d’une raspbian avec un ffmpeg récupéré sur ArchLinux ?

        Merci d’avance

        • Olivier dit :

          Salut,
          Non non, j’ai utilisé directement la distrib Archlinux. J’ai abandonné la raspbian quand j’ai vu qu’il fallait recompiler ffmpeg. Je ne voulais pas prendre trop de temps et c’est d’ailleurs une des raisons qui m’avais fait abandonner Debian au profit de Archlinux sur mon PC (il y a pas mal d’années).

  6. Bzh69 dit :

    Bonsoir Olivier,

    Tout d’abord merci pour vos partages sur votre site.
    Étant novice sur la banquise, je me permets de vous poser quelques questions.

    Voilà, j’ai un raspberry et un kinect (branché sur hub usb avec alim).

    J’installe Sarah suivant ce tuto:
    https://plus.google.com/+J%C3%A9r%C3%A9myHOCD%C3%89/posts/XfF92r2xw2N

    Suivant ce post, il y aurait un fichier ‘custom.ini’ à renseigner: je ne parviens à le trouver ?

    Je connecte le kinect suivant votre site:
    http://dev.argosoft.fr/connectingstuff/reconnaissance-vocale-sarah-raspberry-et-le-kinect/#comment-19463

    Je parviens via ‘lsusb’ à le voir bien connecté (audio, camera et motor).

    après … que faire pour envoyer le son de la voix, faire parler SARAH ? Je me sens perdu …

    Le Rpi + kinect suffisent-ils pour faire interagir les commandes vocales et la réponse de SARAH ?

    Merci de votre aide,

    Christian

    • Olivier dit :

      Salut,

      Le custom.ini est le fichier de config du client. Le client s’installe sur une machine windows, c’est lui qui s’occupe de faire la reconnaissance et la synthèse vocale.

      Pour sarah j’ai fais une installation « normale » (tout sous windows et sur la même machine).

      Donc le Rpi va envoyer le son du kinect sur le client (windows) et le client windows va envoyer sa réponse vocale au rpi.

      Est ce plus clair ?

  7. Bzh69 dit :

    Bonjour Olivier,

    J’ai compilé ffmpeg.
    Sur la console, avec:
    cat /proc/asound/cards

    j’ai:
    0 [ALSA ]: BRCM bcm2835 ALSbcm2835 ALSA – bcm2835 ALSA
    bcm2835 ALSA

    Avec (avec IP Sarah changée):
    ffmpeg -f alsa -i hw:1 -ar 16000 -acodec pcm_s16le -f rtp rtp://ip_sarah:7887

    J’ai:

    ffmpeg version N-62246-g02497a5 Copyright (c) 2000-2014 the FFmpeg developers
    built on Apr 7 2014 14:11:23 with gcc 4.6 (Debian 4.6.3-14+rpi1)
    configuration:
    libavutil 52. 74.100 / 52. 74.100
    libavcodec 55. 58.102 / 55. 58.102
    libavformat 55. 36.102 / 55. 36.102
    libavdevice 55. 11.100 / 55. 11.100
    libavfilter 4. 3.100 / 4. 3.100
    libswscale 2. 6.100 / 2. 6.100
    libswresample 0. 18.100 / 0. 18.100
    Unknown input format: ‘alsa’

    Et enfin, avec:
    arecord -D hw:1,0 -f S32_LE -r 16000 -c 4 -t wav | ffmpeg -i pipe:0 -ac 2 -ar 16000 -acodec pcm_s16le -f rtp rtp://ip_sarah:7887

    J’ai:

    ffmpeg version N-62246-g02497a5 Copyright (c) 2000-2014 the FFmpeg developers
    built on Apr 7 2014 14:11:23 with gcc 4.6 (Debian 4.6.3-14+rpi1)
    configuration:
    libavutil 52. 74.100 / 52. 74.100
    libavcodec 55. 58.102 / 55. 58.102
    libavformat 55. 36.102 / 55. 36.102
    libavdevice 55. 11.100 / 55. 11.100
    libavfilter 4. 3.100 / 4. 3.100
    libswscale 2. 6.100 / 2. 6.100
    libswresample 0. 18.100 / 0. 18.100
    ALSA lib pcm_hw.c:1401:(_snd_pcm_hw_open) Invalid value for card
    arecord: main:682: erreur à l’ouverture audio: Aucun fichier ou dossier de ce type
    pipe:0: Invalid data found when processing input

    Où est mon erreur ?

    Merci,

    Christian.

    • Olivier dit :

      As tu compiler ffmpeg avec le support d’alsa ? au vu de ton erreur : Unknown input format: ‘alsa’ , il semble que non.

      Lorsque tu as compilé ffmpeg il devait te manquer les lib de dev d’alsa je suppose.

      Quelle distribution utilise tu ?

      ensuite, le résultat du cat /proc/asound/cards ne semble pas faire apparaitre le kinect. Normalement tu devrais avoir une autre carte (je ne me souviens plus du nom, je rebranche mon rpi pour te dire ça tout à l’heure.

      • Christian dit :

        J’ai installé le dernier SARAH 3.1.4 suivant tuto de Jérôme.
        Compilé avec alsa ? J’ai suivi ton tuto …
        J’utilise le whezee raspbian de janvier 2014.
        Quand j’installe le kinect suivant ton tuto, je parviens via ‘lsusb’ à le voir bien connecté (audio, camera et motor): qu’ai je oublié ?

        • Olivier dit :

          Un peu dur de te répondre sans autres informations (message d’erreur?)

          Mais déjà, cette version de SARAH comporte un bug (j’en parle dans l’article précédant) qui empêche la reconnaissance de fonctionner avec un stream RTP, j’utilise pour l’instant la 2.95.

          • Christian dit :

            Pour Raspbian… pas de soucis particulier alors ?

          • Olivier dit :

            La version ffmpeg par défaut de raspbian est très vieille. Donc si tu veux absolument utiliser rapsbian, il faut compiler la dernière version de ffmpeg (avec support alsa).
            C’est pour cela que je suis passer sur une archlinux, le paquet ffmpeg y est à jour, je ne voulais pas n’embêter.

      • Christian dit :

        Comment dois-je installer ffmpeg avec alsa alors ?

        • Olivier dit :

          Sans entrer dans les détails car je n’utilise pas raspbian. Tu dois le compiler avec le support alsa. Pour cela il te faut installer les paquets de développement de alsa avant de compiler ffmpeg.

          • Christian dit :

            Quelle version me conseillerais-tu pour arch linux ? Celle dispo sur le site de raspberrypi.org ? Aurais tu un lien pour ffmpeg et la compilation ?
            Arch linux reconnais bien apt-get ?

          • Olivier dit :

            Archlinux pour raspberry est dispo ici : http://archlinuxarm.org/platforms/armv6/raspberry-pi mais tu peux prendre l’autre également et mettre à jour vers la dernière version. Archlinux n’est pas une distribution à version, elle est basée sur un modèle de publication continue (rolling release), Arch Linux s’efforce de rester à jour en offrant en général les dernières versions stables de la plupart des logiciels (cf http://wiki.archlinux.fr/Arch_Linux#Gestion_des_paquets ). Pour moi une des meilleures distrib.

            Pas de apt-get sur archlinux, ce n’est pas un distribution basée sur Debian. Le gestionnaire de paquet s’appelle pacman.
            Pour installer ffmpeg tu peux faire un : pacman -S ffmpeg

  8. Bzh69 dit :

    Existerait-il un package complet permettant l’installation de SARAH ?

    Merci,

    Christian

  9. Christian dit :

    Bonjour Olivier,

    J’avais bien lu de travers: je pensais que ta config était:
    Serveur SARAH installé sur RPI… alors que non. Voilà pourquoi je recherchais la façon d’installer la 2.9.5 sur le RPI.
    Donc voilà où j’en suis. J’ai serveur et client sur un pc avec Windows 7.
    J’ai le kinect branché sur hub usb qui a son alimentation.? Ce hub usb est branché sur le RPI.
    Quand je fais lsusb, un coup j’ai :
    Bus 002 Device 003: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor
    Bus 002 Device 003: ID 045e:02b0 Microsoft Corp. Xbox NUI Camera
    sans le » Bus 002 Device 003: ID 045e:02b0 Microsoft Corp. Xbox NUI Audio »

    Un lsusb suivant j’ai aucun des trois
    un lsudb suivant j’ai que:
    Bus 002 Device 003: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor

    Le hub usb déconne ? ou autre raison ?

    • Olivier dit :

      Salut Christian,
      Ok, oui j’ai tout laissé sur windows car je voulais avoir le minimun sur le raspberry pour pouvoir le « dupliquer » et en mettre un peu partout 🙂
      Concernant ton problème avec lsusb, dans l’article un peu plus haut il y a une note la dessus car j’ai eu le même soucis :

      Note: Pour une raison obscure, la ligne « Xbox NUI Audio » n’apparait plus chez moi après un reboot ? pour qui pour quoi, aucune idée. Toujours est il qu’un « cat /proc/asound/cards » affiche tjs le Kinect et tout fonctionne. Si quelqu’un a une explication ?

      Alors je ne sais pas pourquoi il ne s’affiche plus mais tout fonctionne toujours.
      Est ce que un cat /proc/asound/card t’affiche la carte du raspberry + le kinect ?

    • Alto dit :

      J’ai le même résultats que toi Christian ! Ma kinect est bien branchée, mais seul l mmoteur ee et reconnu … pourquoi ?

  10. Christian dit :

    « … et en mettre un peu partout »: tu as un RPI+KINECT un peu partout ? quel micro array utilises tu sinon ?
    pour le cat/proc/asound/card, je verrai ce soir.
    J’ai sinon commandé sur Pi Hut un Hub 7 ports avec son alim: particularité: il ne renvoie pas de courrant au RPI… cela résoudrai peut-être le problème lors du lsusb ?
    Sinon, une image de ton package ARch Linux installé sur le RPI est-elle possible ?
    Les commandes que tu donnes comment faire pour les automatiser ?
    Y a t-il un fichier de config sur le RPI ? ports ? IP ? …
    Tu bascules sur plusieurs versions ? pourquoi si le RTP ne fonctionne que sur la 2.9.5 ?
    Et enfin, vas tu faire un tuto 😀
    Merci à toi,
    Christian

    • Olivier dit :

      Salut Christian,

      Je n’ai qu’un seul RPI+kinect pour le moment mais ce que j’aimerai faire, si ça fonctionne bien en production (pour l’instant je suis tjs « en test » en location mais je déménage bientôt) c’est de mettre plusieurs RPI+Kinect (ou autre micro array abordable), un dans chaque pièce « stratégiques » histoire de couvrir une bonne partie de la maison.

      Pour l’image je ne sais pas, il faudrait que j’essaie. Sinon j’avais l’intention de faire un paquet tout fait pour raspbian (au moins) pour faciliter l’installation et l’utilisation (éviter de devoir se taper les lignes de commande ffmpeg à rallonge) mais je n’ai pas bcp de temps en ce moment.

      Je n’utilise que la version 2.9.5. En fait dans la dernière (3.1.4 au moment de mes tests) la réception de flux RTP dans SARAH est buggée. J’ai remonté le problème à Jean-Philippe. Je pense pouvoir le corriger mais comme pour le paquet raspbian, je manque un peu de tps en ce moment, c’est pourquoi je reste sur la 2.9.5.

      Oui je ferai un tuto tout propre une fois tout ça en place chez moi

  11. dias dit :

    Salut , je comprend pas trop ont peut faire tourner Sarah + la kinect avec le rpi ? Ou il y t il besoin d un PC windows en plus du rpi. j ai suivi le tuto mais quand je tape mâle installé j ai une erreur (raspbian est installé sur mon rpi)

    • Olivier dit :

      Salut,
      Il y a besoin d’un PC sous Windows pour faire tourner le client SARAH car il s’appuie sur la techno de reconnaissance vocale de Microsoft.
      L’idée ici c’est de pouvoir déporter le Kinect, le brancher sur une autre machine, en l’occurrence le Raspberry et de streamer le son capturé par le kinect vers le client SARAH qui pourra se trouver n’importe où (Moi j’ai déjà un serveur avec une VM windows ds mon garage et je ne souhaite pas mettre un PC dans mon salon).
      Cela permet(tra) également de faire du multiroom (plusieurs kinect dans la maison), sans avoir à déployer des PC relativement cher sous windows.

      Est ce plus clair ?

  12. Lolo69 dit :

    Question : le Kinect 2 est-il compatible avec SARAH ?

  13. yecine dit :

    Bonjour,

    J’ai reussi a avoir a peut pret tous qui fonctionne ma commande « piper » s’execture


    Received signal 2: terminating.
    ~ ❯❯❯ arecord -D hw:1 -f S32_LE -r 16000 -c 4 -t wav | ffmpeg -i pipe:0 -af « volume=20dB » -ac 2 -ar 16000 -acodec pcm_s16le -f rtp rtp://192.168.0.26:7887 ⏎
    Recording WAVE ‘stdin’ : Signed 32 bit Little Endian, Rate 16000 Hz, Channels 4
    ffmpeg version N-58037-g355cea8 Copyright (c) 2000-2013 the FFmpeg developers
    built on Nov 12 2013 01:00:36 with gcc 4.6 (Debian 4.6.3-14+rpi1)
    configuration: –enable-shared –enable-gpl –prefix=/usr –enable-nonfree –enable-libmp3lame –enable-libfaac –enable-libx264 –enable-version3 –disable-mmx
    libavutil 52. 52.100 / 52. 52.100
    libavcodec 55. 41.100 / 55. 41.100
    libavformat 55. 21.100 / 55. 21.100
    libavdevice 55. 5.100 / 55. 5.100
    libavfilter 3. 90.102 / 3. 90.102
    libswscale 2. 5.101 / 2. 5.101
    libswresample 0. 17.104 / 0. 17.104
    libpostproc 52. 3.100 / 52. 3.100
    Guessed Channel Layout for Input Stream #0.0 : 4.0
    Input #0, wav, from ‘pipe:0’:
    Duration: N/A, bitrate: 2048 kb/s
    Stream #0:0: Audio: pcm_s32le ([1][0][0][0] / 0x0001), 16000 Hz, 4.0, s32, 2048 kb/s
    [rtp @ 0xf89400] Cannot respect max delay: frame size = 0
    Output #0, rtp, to ‘rtp://192.168.0.26:7887’:
    Metadata:
    encoder : Lavf55.21.100
    Stream #0:0: Audio: pcm_s16le, 16000 Hz, stereo, s16, 512 kb/s
    Stream mapping:
    Stream #0:0 -> #0:0 (pcm_s32le -> pcm_s16le)
    SDP:
    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=No Name
    c=IN IP4 192.168.0.26
    t=0 0
    a=tool:libavformat 55.21.100
    m=audio 7887 RTP/AVP 97
    b=AS:512

    Par contre j’ai l’impression qu’il ne se passe rien coté sarah … Comment faire pour vérifié si le son arrive bien

    Aussi j’ai fait un test d’enregistrement et meme a 50cm du kinect le son enregistré est vraiment faible … voici un enregistrement : http://cl.ly/3y1a3O2k2v1c

    J’y suis presque je pense 🙂

    • Olivier dit :

      Salut,
      Sur le PC avec SARAH tu dois pouvoir enregistrer le son avec vlc je pense pour vérifier qu’il arrive bien (je ne me souviens plus, il faudrait que je test). Et dans les logs de SARAH on doit voir passer les paquet RTP aussi lorsqu’on lui envoi le flux.

      Tout est dans un carton depuis mon déménagement, j’essaierai de regarder à mon retour de vacance.

      bon courage 🙂

    • hviricel dit :

      Bonjour,

      Je rencontre le même problème que toi (ce message d’erreur apparait aussi chez moi : Cannot respect max delay: frame size = 0 ..)

      J’ai testé avec VLC pour récupérer le flux réseau mais un message d’erreur m’indique que cela n’est pas possible (main error: socket bind error (Cannot assign requested address)
      main error: open of `rtp://192.168.1.11:7887′ failed)

      l’enregistrement depuis ffmpeg dans un fichier fonctionne bien.

      Mais coté SARAH, rien. pas de trace dans les logs non plus..

      Est ce que tu as résolu ce problème ?

      Merci

    • Steve dit :

      Salut, super tuto !
      J’en suis au même point que vous.
      Mon Rpi avec Archlinux tourne impeccable, le kinect est installé et bien reconnu, et j’arrive à enregistrer mon test.wav.
      Par contre, pas moyen d’utiliser le rtp et j’ai le même message que yecine.
      Si quelqu’un a du neuf ! Merci d’avance.

      • Steve dit :

        Je me réponds à moi-même !
        En fait, j’étais sur la version 3.1.6 de SARAH, donc je pensais que le souci RTP était réglé depuis la 3.1.5.
        Donc j’ai juste mis en place la version 2.9.5, et boum, ça a marché du premier coup !
        Je peux à présent donner mes ordres du salon/cuisine/chambre sans souci, le kinect branché sur mon Rpi reçoit, transmet à mon pc toujours allumé et exécute (j’ai Jeedom en box domotique).

        • Olivier dit :

          Félicitation 🙂

          • Steve dit :

            Félicitations à toi de nous avoir mâché le travail 🙂
            Du coup je creuse la question du retour vocal de Sarah sur le Rpi (pour l’instant, le son sort les HP du pc à l’autre bout de la maison).
            Faut que je trouve un truc sous windows qui redirige vers le Rpi (et donc voir la configuration nécessaire sur le Rpi).

          • Olivier dit :

            de rien 🙂
            Tu peux utiliser le même principe. Sur le windows un ffmpeg qui stream le son de la carte son du window vers un serveur RTP sur le rapsberry (ffplay par exemple qui est fourni avec ffmepg).

            Je l’ai fais car pas de son sur Esxi mais vers une troisième machine. Ca marche très bien (c’est ce qui ce passe dans la vidéo d’ailleurs)

            ++

          • Steve dit :

            Salut ! Désolé de te déranger encore un coup, je cale vraiment sur le renvoi du son de mon pc vers le Rpi.
            Dans l’idéal, j’essaie depuis quelques jours de faire fonctionner airfoil (que j’utilise sur mon Win) vers mon Rpi.
            Avec Airfoil l’avantage, c’est que je peux rediriger le son d’une application précise vers un client upnp.
            Mais pas moyen d’arriver à quelque chose pour l’instant.
            Je suis à 2 doigts d’installer carrément un xbmc pour avoir un client upnp fonctionnel (je connais mieux plex mais ce dernier n’est pas au top sur arm apparemment).
            Merci d’avance si tu peux m’aiguiller un peu.

          • Steve dit :

            Bon, en fait dans un ultime test, j’ai pu faire fonctionner Airfoil (Windows) vers airfoilspeakers (pour linux, fourni par la société éditrice).
            Mais la qualité est vraiment pourri sur l’enceinte connectée au Rpi, et en plus, je ne peux pas rediriger ‘que’ Sarah.
            Je continue mes tests…

          • Olivier dit :

            Dans mes souvenirs, j’avais tenter d’envoyer le son de Sarah vers une squeezebox en upnp il me semble et le résultat n’était pas top. Ça ajoutait plusieurs secondes de décalage dans le retour mais je ne sais plus si c’était lié au client, au serveur upnp ou au protocole lui même qui imposai(erai)t un cache. Il me semble que j’avais utilisé ça http://www.streamwhatyouhear.com/download/.

            C’est pour ça que je suis repassé avec un simple ffplay coté raspberry et un ffmpeg coté windows qui stream le flux de la carte son.

          • Steve dit :

            Salut, merci de répondre à chaque fois rapidement 🙂
            Sans vouloir abuser, à l’occasion, tu pourras me donner tes commandes utilisées sur Win et sur le Rpi ?
            Quand j’aurai le son qui sortira sous ma tv, je serai le roi du pétrole 🙂

          • Olivier dit :

            Salut,
            J’ai mis les commandes utilisées pour renvoyer le son via virtual audio grabber en rtp sur le rpi ici :
            http://connectingstuff.net/blog/reconnaissance-vocale-sarah-raspberry-et-le-kinect/#comment-29041

          • Steve dit :

            Merci ! Je regarde ça et je reviendrai donner mes résultats 🙂

  14. SimonT dit :

    Hello
    Savez vous si avec le nouveau RPi B+ , n’y aurait pas besoin d’avoir un hub alimenté que ca marcherait en direct?

    Sinon je suis raspbian, les commandes d’installation sont-il les même

    le top serait quelqu’un fasse une image avec tous d’installé, ou on aurait juste a modifier l’ip de sarah server et l’avoir en partage pour une install hyper simple avec WinDisk32

  15. Thibault dit :

    Bonjour Olivier,

    Merci pour cet article vraiment très intéressant, et qui marche nickel … jusqu’au changement de volume !

    J’essaie d’utiliser le Kinect sur ma machine sous Debian, car mon Windows est dans une VM VirtualBox, et la Kinect XBOX n’est pas reconnue correctement quand Windows est dans une VM.

    Du coup ta méthode m’intéresse fortement !

    Un problème pour moi cependant, ma version ffmpeg (v0.8.15 de 2014) ne supporte pas l’option « -af « volume=20dB » ». J’obtiens le message « Unrecognized option ‘af’ »

    J’ai essayé avec « -filter:a « volume=20dB » » ou avec la commande avconv à la place. Sans succès.

    Je n’ai pour l’instant rien trouvé pour remplacer ce changement de volume à la volée. Quelle est ta version de ffmpeg ?

    As-tu une solution de contournement ?

    Autre question : As-tu modifier quelques chose dans le custom.ini de Sarah pour pouvoir lui envoyer le flux rtp ? Démarres tu Sarah en mode microphone ou en mode Kinect Audio ou en mode Kinect complet ?

    Merci d’avance.

    • Olivier dit :

      Salut Thibault,
      J’utilise ffmpeg v2.1.4 (le paquet fournis par archlinux à l’époque de l’écriture de l’article). La 0.8.15 date de octobre 2013, il me semble que tu as des paquets debian plus récent que les officiels sur https://www.ffmpeg.org/download.html (je n’ai pas testé).

      Il faut utiliser le binaire pour micro simple (pas les version kinect) -> WSRMicro.cmd.
      Ensuite, il faut juste indiquer un numéro de port dans le config.ini (variable rtpport) puis relancer WSRMicro.cmd (j’utilise la version 2.95 de sarah, les versions supérieures ont un bug avec le RTP pour le moment).

      Bon courage!

      PS: J’essaierai de faire un paquet raspbian et archlinux dès que je commencerai la domotisation de ma nouvelle maison.

      • Thibault dit :

        Merci beaucoup pour ta réponse rapide.

        Je vais voir pour utiliser une version plus récente de ffmpeg.

        J’ai pour l’instant la version 3.1.5 de S.A.R.A.H. Je vais donc regarder pour downgrader aussi à ce niveau.

        Merci en tout cas pour tes conseils.

        Bonne continuation pour ton projet de domotique dans ta nouvelle maison, j’ai un projet similaire un peu plus lointain, et cela s’annonce pas commode 🙂

  16. Shodan dit :

    Salut et merci pour ce tuto.

    J’arrive à streamer le kinect vers Sarah, cependant, j’ai l’impression que arecord s’arrête tout seul au bout d’un moment.
    En effet, la commande s’arrête systématiquement ainsi au bout de 2h19;48.60 avec le message suivant :
    Size = 530478kB time=02:19:48.60 bitrate=518.0kBits/s
    Video:0kB audio:524288kB Subtitle:0kB other streams:0kB global headers:0kB muxing avoerhead: 1.180616%

    Si je relance la commande, elle repart pour 2h20 et s’arrête à nouveau avec le même message.

    Es-ce que quelqu’un a le même soucis ? Y a-t-il une solution ?

    Merci.

    • Kalimasta dit :

      Bonsoir,

      Je rencontre exactement le même problème. Je pense que nous ne sommes pas que 2 😉
      Si une bonne âme pouvait nous aider..
      Salutations

    • Olivier dit :

      Salut,
      Je n’ai fais que des tests, mon équipement n’est pas encore réinstallé dans ma nouvelle maison. Je n’ai pas trouvé grand chose la dessus pour l’instant. cela dit, un petit script qui tourne en fond ou à lancer via cron qui relance la commande lorsque celle ci s’arrête devrait permettre de contourner le pb, quelque chose du genre (pas testé avec la commande en question) :


      #! /bin/bash

      case "$(pidof arecord | wc -w)" in

      0) echo "Restarting acrecord: $(date)" >> /var/log/sarah-arecord.log
      la_commande_a relancer &
      ;;
      1) # all ok
      ;;
      *) echo "Removed double arecord: $(date)" >> /var/log/sarah-arecord.log
      kill $(pidof arecord | awk '{print $1}')
      ;;
      esac

    • Steve dit :

      Salut, dans la doc on a ça :
      -d, –duration=#
      Interrupt after # seconds. A value of zero means infinity. The
      default is zero, so if this option is omitted then the arecord
      process will run until it is killed.

      A tester ?

  17. electrolivier dit :

    Bon après 3 heures de bataille pour installer le kinect sous raspbian tout les commande d’installation fonctionne mais je n’arrive pas l’avoir avec la commande cat
    pi@raspberrypi ~/kinect-audio-setup $ cat /proc/asound/cards
    0 [ALSA ]: bcm2835 – bcm2835 ALSA
    bcm2835 ALSA

    et donc forcément je ne peux pas lancer le stream.

    Un coup de main est le bienvenue car là je voit pas comment faire et je trouve rien sur google pour m’aider.

    Merci
    Olivier

    • Olivier dit :

      Salut,
      Ton Kinect est bien branché via un hub usb alimenté ? à part cela je ne vois pas vraiment :/

      Qu’est ce que t’affiche lsusb ?

      • electrolivier dit :

        Oui oui, via un hub

        Et pour lsusb ça me semble bon

        pi@raspberrypi ~/kinect-audio-setup $ lsusb
        Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
        Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
        Bus 001 Device 009: ID 045e:02ad Microsoft Corp. Xbox NUI Audio
        Bus 001 Device 008: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor
        Bus 001 Device 010: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
        Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
        Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
        Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
        Bus 001 Device 006: ID 0409:005a NEC Corp. HighSpeed Hub
        Bus 001 Device 007: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB

        • electrolivier dit :

          Si tu as un iso de ta solution par contre je suis preneur car en fait je n’ai pas trop compris comment installer Archlinux sur la SD, je suis sur windows et la manip doit pas être exactement la même.

          Ou alors il y a un iso de Archlinux mais je ne l’ai pas trouvé.

          • electrolivier dit :

            Ho désolé, je parlais d’une image bien sur

          • Olivier dit :

            C’est bizard, le kinect semble être reconnu pourtant. Par contre même si tu vas plus loin, il te faudra compiler la dernière version de ffmpeg sur la raspbian car la version fournie est super vieille et ne fonctionne pas avec le flux du kinect.

            Sinon pour installer archilinux, le plus simple est de passer par là http://www.raspberrypi.org/help/noobs-setup/ C’est une image contenant plusieurs distrib, au premier démarrage du rasp tu peux choisir laquelle installer et c’est fini 🙂

  18. electrolivier dit :

    Finalement j’ai trouvé une image de Archlinux donc je vais refaire ton tuto, je verrais peut-être plus tard pour le refaire sur Raspbian
    Merci

  19. electrolivier dit :

    Pour ceux que ça intéresse voilà une image de Archlinux pour le raspberry à écrire sur la sd avec win32diskimager
    http://downloads.raspberrypi.org/arch/images/arch-2014-06-22/ArchLinuxARM-2014.06-rpi.img.zip

    J’ai d’abord fait un upgrade avec pacman -Syyu

    puis pacman -S gcc make git pkg-config p7zip

    j’en suis arrivé à la fin de ton tuto d’install mais toujours rien en faisant cat…

    j’ai rebooté et finalement ça redémarre même plus

    • electrolivier dit :

      bon j’ai fait une nouvelle install sur une carte SD de meilleurs qualité, l’autre doit être trop vieille. Après avoir fait l’install du kinect, il faut rebooter pour qu’il soit pris en compte avec la commande cat /proc/asound/cards

      Ensuite il faut encore installer ffmpeg et alsa-utils (pacman -S ffmpeg alsa-utils)

      Et youpi ça marche

      • Olivier dit :

        Ah super, heureux que ça est fonctionné pour toi. Je ne me souvenais pas pour le reboot, désolé, je vais mettre une note dans l’article.

        Merci pour ton retour
        ++

        • electrolivier dit :

          Je vais t’embêter un peux encore lol

          J’ai pas compris comment télécharger virtual audio capture, C’est bien un soft pour windows?

          • electrolivier dit :

            Pour ffmpeg ça fonctionne et j’ai enfin trouvé comment télécharger virtual audio grabber mais pas encore comment l’utiliser donc forcément ffmpeg ne renvoi rien lol.

            Un coup de pouce pour finir l’installation serais super 😀

          • Olivier dit :

            Tu veux renvoyer le son de sarah vers le rpi c’est ça ?

            Sur la doc de virtual audio grabber ils donne ça pour la capture dans un fichier:
            ffmpeg -f dshow -i audio= »virtual-audio-capturer » yo.mp3

            donc si tu veux envoyer le son du pc (capturé par virtual audio grabber) vers une autre machine (le rpi par ex), tu peux faire :

            ffmpeg -f dshow -i audio= »virtual-audio-capturer » rtp://ip_rpi:1234
            et sur le rpi il faut faire tourner un serveur rtp sur le port correspondant :
            ffplay rtp://ip_rasp:1234

            Je n’ai pas testé les commande (mon installation est tjs dans les cartons :/) mais ça devrait pas être loin.

          • electrolivier dit :

            Et virtual audio grabber on en fait quoi? faux le mettre dans un dossier particulier?

            Sinon grace à toi sarah exécute mes commandes et ça c’est bien.
            Et en plus elle répond pas et finalement c’est peut-être pas plus mal mdrrrrr

          • Olivier dit :

            Il faut que je rallume ma VM car je ne sais plus trop si j’utilisais ça ?
            Je te tiens au courant.

          • electrolivier dit :

            Merçi

  20. Olivierdomo dit :

    Bonjour,

    Dans votre article, vous faites reference a une livraison ebay pour eviter l’utilisation d un hub usb auto alimenté, qu’en est-il ? (Quel est le produit commandé ? Est ce fonctionnel ? …

    Par ailleurs, pour un hub usb auto alimenté, quel modele acquerir ?

    Merci d avance pour vos reponses.

    • Steve dit :

      Salut, je peux te répondre pour le hub, j’ai commandé celui-ci
      « D-Link DUB H4 Hub 4 ports USB 2.0 pour PC et Mac USB Noir » sur amazon, 13€, livraison gratuite.

    • Olivier dit :

      Salut,
      C’était un câble USB avec un reprise d’alimentation secteur (je n’ai plus le lien) mais je ne l’ai jamais reçu :/
      Pour le hub usb, n’importe quel hub alimenté via son propre adaptateur devrait fonctionner.

    • electrolivier dit :

      Petite astuce pour le nombre de transfo, c’est mon hub qui alimente le raspberry directement via l’une des deux prise usb. Du coup il n’y a plus que le transfo du hub et celui du kinect. Je ne sais pas si ça marche avec tout les hubs ou non.

      Sinon j’ai toujours le problème de coupure au bout de 2h19, quelqu’un a trouvé la commande pour ne pas avoir de limite? Chez moi l’option -d 0 ne fonctionne pas.
      Merci

  21. mollkov dit :

    Bonsoir
    merci pour ce tuto pour ma part je suis bloqué à l’installation du setup kinect :

    ici je télécharge bien:

    ./kinect_fetch_fw /lib/firmware/kinect

    mais quand je fais ça:

    cd kinect-audio-setup

    puis ça:

    make install

    il me met :

    make -C kinect_upload_fw install
    make[1]: Entering directory ‘/home/pi/kinect-audio-setup/kinect_upload_fw’
    Package libusb-1.0 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libusb-1.0.pc’
    to the PKG_CONFIG_PATH environment variable
    No package ‘libusb-1.0’ found
    cc -std=c99 -pedantic -Wall -Wextra -O2 -fno-common -Wall -Wextra -Wformat=2 -Winit-self -Winline -Wpacked -Wp,-D_FORTIFY_SOURCE=2 -Wpointer-arith -Wlarger-than-65500 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wredundant-decls -Wsign-compare -Wstrict-aliasing=2 -Wstrict-prototypes -Wswitch-enum -Wundef -Wunreachable-code -Wunsafe-loop-optimizations -Wwrite-strings -c -o kinect_upload_fw.o kinect_upload_fw.c
    kinect_upload_fw.c:37:20: fatal error: libusb.h: No such file or directory
    compilation terminated.
    : recipe for target ‘kinect_upload_fw.o’ failed
    make[1]: *** [kinect_upload_fw.o] Error 1
    make[1]: Leaving directory ‘/home/pi/kinect-audio-setup/kinect_upload_fw’
    Makefile:5: recipe for target ‘install’ failed
    make: *** [install] Error 2

    je reste bloqué ici.

    voila .

    quelqu’un sait comment faire pour réussir l’installation ?

    mercis d’avance

    • Olivier dit :

      Salut, tu utilise quelle distrib ?

      • mollkov dit :

        raspbian

      • mollkov dit :

        bjr

        Raspbian

        • Olivier dit :

          essaie d’installer la libusb-dev

          sudo apt-get update
          sudo apt-get install libusb-dev

          Il te faudra compiler la dernière version de ffmpeg également (ou changer de distrib), car celle fournie par raspbian est super vieille et ne fonctionne pas avec le flux du kinect.

        • mollkov dit :

          j ‘ai réessayé et maintenant quand je fais lsusb je n’est que ça:

          Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
          Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

          Bus 001 Device 007: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor

          Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
          Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
          Bus 001 Device 005: ID 062a:4101 Creative Labs
          Bus 001 Device 006: ID 0409:005a NEC Corp. HighSpeed Hub

          soit que le « motor » Xbox

          cordialement,

  22. electrolivier dit :

    Salut Olivier,

    Je reviens vers toi pour savoir si tu as pu regarder pour le problème des 2h19?

    Mon système fonctionne mais pas en production à cause de ce problème et je suis une daube en linux pour faire un cron ou autre fonctionnel.

    Merci

  23. Matthieu dit :

    Bonjour ! Merci pour ce super tuto !
    Mais j’ai un soucis d’installation qu’aucune de mes recherches ne m’a permis pour le moment de résoudre. L’installation du kinect plante au make install :

    ============================================

    root@mediacenter:/home/pi/kinect/kinect-audio-setup# make install
    make -C kinect_upload_fw install
    make[1]: Entering directory `/home/pi/kinect/kinect-audio-setup/kinect_upload_fw’
    cc -std=c99 -pedantic -Wall -Wextra -O2 -fno-common -Wall -Wextra -Wformat=2 -Winit-self -Winline -Wpacked -Wp,-D_FORTIFY_SOURCE=2 -Wpointer-arith -Wlarger-than-65500 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wredundant-decls -Wsign-compare -Wstrict-aliasing=2 -Wstrict-prototypes -Wswitch-enum -Wundef -Wunreachable-code -Wunsafe-loop-optimizations -Wwrite-strings -I/usr/include/libusb-1.0 -c -o endian.o endian.c
    make[1]: cc: Command not found
    make[1]: *** [endian.o] Error 127
    make[1]: Leaving directory `/home/pi/kinect/kinect-audio-setup/kinect_upload_fw’
    make: *** [install] Error 2

    ===================================

    Je précise être sur un rpi tournant sous rspbmc, et avoir dû installer manuellement make et libusb suite à de précédentes erreurs.

    Merci d’avance !

  24. help dit :

    bonjour:
    j’essaye d’installer sous debian (serveur nas mais version intégrale de debian)
    j’ai bien les 3 devices avec un lsusb, il y a t’il un test pour le micro à faire? car ça marche pas avec sarah…
    avec cat /proc/asound/cards il me met no soundcard…
    la led verte clignote si ça peu aider

  25. hi dit :

    bonjour,
    s’il vous plait j’essaie d’utilisé mon mic et ca me donne l’erreur suivante :
    ~# arecord -D plughw:1,0 test.wav
    ALSA lib pcm_hw.c:1401:(_snd_pcm_hw_open) Invalid value for card
    arecord: main:682: erreur à l’ouverture audio: Aucun fichier ou dossier de ce type

    qlq1 peut m’aider ?

  26. Boivin dit :

    Bonour,
    super tutoriel mais j’aimerai savoir si c’est possible de faire pareil avec arduino et surtout comment faire svp Merci et bonne journée à tous.

  27. Boivin dit :

    Pourquoi ?

    • Olivier dit :

      Car il n’existe pas de drivers kinect pour arduino et qu’il ne serait surement pas assez puissant pour réaliser le streaming audio, sans compter de trouver une librairie pour réaliser ce streaming.

  28. Boivin dit :

    J’ai une petite question si j’utilise un module sans fil et que je dois créer mon protocole est-ce que je peux utiliser le protocole RTP pour la transmission ?

    • Olivier dit :

      Tu veux dire sur Arduino toujours ?
      Qu’entends tu par module sans fil ? wifi ou RF433(ou équivalent) ?
      Tout dépend du type de données que tu dois transmettre. le RTP est fait pour transporter des flux audio ou vidéo.
      Si la plateforme le permet techniquement, oui c’est possible. Mais encore une fois avec un Arduino ça me semble compliqué.

  29. Alucard29 dit :

    Bonjour,

    Est-ce que une fois le firmware uploadé on peut toujours utiliser la kinect pour sa fonction initiale sur sa xbox ?

    Merci

    • Olivier dit :

      Bonjour,
      Je ne peux pas te répondre à 100% car je n’ai pas de xbox mais je suppose que oui car l’upload doit être fait à chaque démarrage de la machine ce qui laisse penser que ce n’est pas permanent.

  30. alors dit :

    bonjour:
    je n’arrive pas à installer ffmepg si j’ai bien compris j’entre l’adresse rtp et dans sarah server / websocket je tape la même adresse et il devrait se reconnaitre??

    j’ai le sarah server sur mon raspberry, ça peut marcher?

  31. Anthony dit :

    Oulalalalal, je suis désolé, je suis pas très fort, mais je comprends rien a l’installation xDDD
    Je me sens perdu :'(

  32. Ovlseep dit :

    Hi… thanks for the tutorial. But I’m stuck at compiling it. When I do >make install I get this error:

    kinect_upload_fw.c:(.text.startup+0x94): undefined reference to `libusb_set_auto_detach_kernel_driver’

    I’ve tried installing different versions of libusb and none seems to work. if I run pkg-config –list-all I get:
    libusb-1.0 libusb-1.0 – C API for USB device access from Linux userspace
    udisks udisks – udisks storage daemon
    udev udev – udev
    systemd systemd – systemd System and Service Manager
    connman connman – Connection Manager
    libusb libusb – USB access library (libusb-1.0 compat wrapper)

    So libusb seems to be installed correctly, but there’s no way this compiles. Any suggestion?

    Thanks,
    Ovsleep

  33. Quantik dit :

    Bonjour,
    J’ai rencontré des problèmes lors de la mise en place, notamment l’erreur pipe:0: Invalid data found when processing input.
    Lors de la commande cat /proc/asound/cards je ne voyait pas le kinect.
    Celà était dû au fait que la commande udevadm control –reload-rules ne renvoyait rien, ce que je ne considérait pas comme une erreur alors que c’en est une.

    par contre, la commande re remplacement dans le tuto:
    kinect_upload_fw /lib/firmware/kinect/UACFirmware.C9C6E852_35A3_41DC_A57D_BDDEB43DFD04

    N’est pas correcte.
    Il faut saisir:
    kinect_upload_fw /lib/firmware/kinect/UACFirmware

    Et là, je vois le kinect lors de la commande cat /proc/asound/cards.

    Ensuite le reste du tuto est ok, le son est bien streamé. reste à tester sarah

    Si ca peut aider certains.

  34. Bruno dit :

    Bonjour,
    Quelqu’un aurait un lien pour d/l la 2.95, elle est introuvable aujourd’hui.
    Merci.

  1. 10 mars 2014

    […] Rien à voir avec la domotique mais je vais mettre en place un ESXi chez moi pour avoir mon serveur perso (Jeedom, NAS, backup….) d’un coté sur un Linux et un serveur Windows (S.A.R.A.H et Weezo) d’un autre sans avoir 2 serveurs. Dans l’idéal ça devrait me permettre de déployer S.A.R.A.H dans toutes les pièces à moindre coût (juste un raspberry + kinect + haut parleur). Je ferai un article pour le déploiement d’un ESXi et pour S.A.R.A.H voici plus d’info : ici et là. […]

Répondre à Olivier Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *