Comment puis-je utiliser le Kinect comme microphone sous Linux?

14

J'utilise Ubuntu 14.04 LTS et la caméra Kinect est de type Microsoft_Xbox_NUI_Sensor_043367545147-02-Sensor.

Je peux accéder à la caméra du Kinect à partir d'un programme Linux que j'écris, mais j'aimerais également utiliser son microphone pour la communication vocale. Comment puis je faire ça?

the_naive
la source
3
Je ne sais pas si cela sera possible avec le pilote NUI alternatif. Normalement, sous Windows, le microphone est un autre appareil distinct et il n'y a pas d'API directement, car vous pouvez y accéder comme un microphone normal car d'autres peuvent être présents.
Yosh Synergi
Avez-vous déjà regardé ces pilotes OpenSource Kinect? github.com/OpenKinect/libfreenect pour Kinect v1 et github.com/OpenKinect/libfreenect2 pour Kinect v2. Comme l'a déclaré l'auteur, au moins libfreenect1 prend en charge l'audio.
McLovin
Apparemment, cela peut être fait avec HARK-KINECT - quelqu'un essaie.
Theraot
1
Vous devriez répondre à ces commentaires.
Gustavo Maciel le

Réponses:

0

Sur la base de ce que d'autres ont dit dans les commentaires et des recherches que j'ai faites, voici mes suggestions.

HARK-KINCET devrait faire le travail, bien qu'il nécessite une installation. Il est possible que vous puissiez regrouper l'installation dans votre jeu, bien que vous ayez probablement besoin de l'autorisation des développeurs. [Basé sur la réponse de Theraot ]

L'autre option présentée ici utilise les bibliothèques ici et code un programme qui se connecte à ces bibliothèques. [D'après la réponse de McLovin ]

Une solution qui ne fonctionnera que pour vous serait d'utiliser le code publié ici et de le configurer dans votre noyau. Vous voudrez peut-être vérifier ce que le site a dit à propos de certains microphones ayant un bogue qui empêche la configuration complète; si c'est le cas, utilisez cette commande de configuration:

sudo kinect_upload_fw /lib/firmware/kinect/UACFirmware.C9C6E852_35A3_41DC_A57D_BDDEB43DFD04

Si vous avez ce bug, vous obtiendrez cette erreur:

libusbx: error [op_set_configuration] failed, error -1 errno 110
  About to send: 09 20 02 06 01 00 00 00 60 00 00 00 00 00 00 00 15 00 00 00 00 00 00 00
  libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=2
  Error: res: -1    transferred: 0 (expected 24)

D'après ce que j'ai lu, c'est probablement le problème que vous rencontrez. Vous pouvez le corriger en téléchargeant la source et en l'éditant, puis en récupérant le firmware.

cd ~/Downloads
wget https://launchpad.net/ubuntu/+archive/primary/+files/kinect-audio-
setup_0.3.orig.tar.gz

À partir de là, vous devez suivre les étapes présentées dans le lien , car mes explications peuvent devenir légèrement déroutantes. Si vous souhaitez continuer mon explication, éditez le fichier appelé "kinect_upload_fw.c" afin qu'il se lise comme suit:

index b2188d6..e3b72db 100644 (file)
b/kinect_upload_fw/kinect_upload_fw.c
@@ -155,9 +155,19 @@ int main(int argc, char** argv) {
            goto fail_libusb_open;
    }

   int current_configuration = 0;
   libusb_get_configuration(dev, &current_configuration);
   if (current_configuration != 1)
           libusb_set_configuration(dev, 1);

   libusb_claim_interface(dev, 0);

   libusb_get_configuration(dev, &current_configuration);
   if (current_configuration != 1) {
           res = -ENODEV;
           goto cleanup;
   }

    seq = 1;

    bootloader_command cmd;

Enregistrez les modifications, puis générez-le et installez-le. Cela devrait résoudre le problème.

Vaillancourt
la source