Wie kann ich den Kinect unter Linux als Mikrofon verwenden?

14

Ich benutze Ubuntu 14.04 LTS und die Kinect-Kamera hat Typ Microsoft_Xbox_NUI_Sensor_043367545147-02-Sensor.

Ich kann mit einem Linux-Programm, das ich gerade schreibe, auf die Kamera des Kinect zugreifen, möchte aber auch das Mikrofon für die Sprachkommunikation verwenden. Wie kann ich das machen?

the_naive
quelle
3
Ich bin nicht sicher, ob dies mit dem alternativen NUI-Treiber möglich sein wird. Normalerweise handelt es sich bei dem Mikrofon unter Windows um ein anderes separates Gerät, und es gibt keine direkte API, da Sie auf das Mikrofon zugreifen können, wenn andere vorhanden sind.
Yosh Synergi
Haben Sie sich diese OpenSource Kinect-Treiber bereits angesehen? github.com/OpenKinect/libfreenect für Kinect v1 und github.com/OpenKinect/libfreenect2 für Kinect v2. Wie vom Autor angegeben, unterstützt mindestens libfreenect1 Audio.
McLovin
Anscheinend geht das mit HARK-KINECT - jemand probiert es aus.
Theraot
1
Ihr solltet Antworten aus diesen Kommentaren machen.
Gustavo Maciel

Antworten:

0

Basierend auf dem, was andere in den Kommentaren gesagt haben und was ich recherchiert habe, sind hier meine Vorschläge.

HARK-KINCET sollte den Job erledigen, obwohl es eine Installation erfordert. Es besteht die Möglichkeit, dass Sie die Installation in Ihrem Spiel bündeln, obwohl Sie wahrscheinlich die Erlaubnis der Entwickler benötigen. [Basierend auf Theraots Antwort]

Die andere hier vorgestellte Option besteht darin, die Bibliotheken hier zu verwenden und ein Programm zu codieren, das eine Verbindung zu diesen Bibliotheken herstellt. [Basierend auf McLovins Antwort]

Eine Lösung , die nur für Sie arbeiten würde, den Code zu verwenden gepostet hier und dann , dass bis in Ihrem Kernel aktiviert. Vielleicht möchten Sie überprüfen, was die Site über einige Mikrofone gesagt hat, die einen Fehler aufweisen, der eine vollständige Einrichtung verhindert. Verwenden Sie in diesem Fall den folgenden Setup-Befehl:

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

Wenn Sie diesen Fehler haben, erhalten Sie folgende Fehlermeldung:

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)

Nach dem, was ich gelesen habe, ist dies wahrscheinlich das Problem, das Sie haben. Sie können das Problem beheben, indem Sie die Quelle herunterladen und bearbeiten und anschließend die Firmware abrufen.

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

Von hier aus sollten Sie die im Link angegebenen Schritte ausführen , da meine Erklärungen möglicherweise etwas verwirrend werden. Wenn Sie mit meiner Erklärung fortfahren möchten, bearbeiten Sie die Datei "kinect_upload_fw.c" so, dass sie wie folgt lautet:

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;

Speichern Sie die Änderungen und erstellen und installieren Sie sie. Dies sollte das Problem beheben.

Vaillancourt
quelle