Come posso usare Kinect come microfono in Linux?


14

Sto usando Ubuntu 14.04 LTS e la fotocamera Kinect ha il tipo Microsoft_Xbox_NUI_Sensor_043367545147-02-Sensor.

Posso accedere alla fotocamera di Kinect da un programma Linux che sto scrivendo, ma mi piacerebbe anche usare il suo microfono per la comunicazione vocale. Come posso fare ciò?


3
Non sono sicuro se questo sarà possibile con il driver NUI alternativo. Normalmente su Windows il microfono è un altro dispositivo separato e non esiste direttamente un'API, poiché è possibile accedervi come un normale microfono poiché potrebbero esserci altri.
Yosh Synergi,

Hai già dato un'occhiata a questi driver Kinect OpenSource? github.com/OpenKinect/libfreenect per Kinect v1 e github.com/OpenKinect/libfreenect2 per Kinect v2. Come affermato dall'autore, almeno libfreenect1 supporta l'audio.
McLovin,

Apparentemente può essere fatto con HARK-KINECT - qualcuno ci prova.
Theraot,

1
Ragazzi, dovreste rispondere a questi commenti.
Gustavo Maciel,

Risposte:


0

Sulla base di ciò che altri hanno detto nei commenti e alcune ricerche che ho fatto, ecco i miei suggerimenti.

HARK-KINCET dovrebbe fare il lavoro, anche se richiede installazione. C'è la possibilità che tu possa raggruppare l'installazione nel tuo gioco, anche se probabilmente avrai bisogno dell'autorizzazione degli sviluppatori. [Basato sulla risposta di Theraot ]

L'altra opzione qui presentata sta usando le librerie qui e codifica un programma che si collega a quelle librerie. [Basato sulla risposta di McLovin ]

Una soluzione che funzionerà solo per te sarebbe quella di usare il codice pubblicato qui e configurarlo nel tuo kernel. Potresti voler controllare ciò che il sito ha detto su alcuni microfoni che hanno un bug che impedisce la configurazione completa; in tal caso, utilizzare questo comando di installazione:

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

Se hai questo bug, otterrai questo errore:

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)

Da quello che ho letto, questo è probabilmente il problema che stai riscontrando. Puoi risolverlo scaricando il sorgente e modificandolo, quindi recuperando il firmware.

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

Da qui dovresti seguire i passaggi presentati nel link , poiché le mie spiegazioni potrebbero diventare leggermente confuse. Se desideri continuare con la mia spiegazione, modifica il file chiamato "kinect_upload_fw.c" in modo che sia:

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;

Salvare le modifiche, quindi crearlo e installarlo. Questo dovrebbe risolvere il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.