¿Cómo puedo usar el Kinect como micrófono en Linux?

14

Estoy usando Ubuntu 14.04 LTS, y la cámara Kinect tiene tipo Microsoft_Xbox_NUI_Sensor_043367545147-02-Sensor.

Puedo acceder a la cámara del Kinect desde un programa de Linux que estoy escribiendo, pero también me gustaría usar su micrófono para la comunicación de voz. ¿Cómo puedo hacer eso?

the_naive
fuente
3
No estoy seguro de si esto será posible con el controlador NUI alternativo. Normalmente en Windows, el micrófono es otro dispositivo separado y no hay API directamente, porque puede acceder a él como un micrófono normal, ya que pueden estar presentes otros.
Yosh Synergi
¿Ya has visto estos controladores OpenSource Kinect? github.com/OpenKinect/libfreenect para Kinect v1 y github.com/OpenKinect/libfreenect2 para Kinect v2. Según lo declarado por el autor, al menos libfreenect1 admite audio.
McLovin el
Aparentemente se puede hacer con HARK-KINECT ; alguien lo pruebe.
Theraot
1
Ustedes deberían responder a estos comentarios.
Gustavo Maciel

Respuestas:

0

Basado en lo que otros han dicho en los comentarios y algunas investigaciones que he hecho, aquí están mis sugerencias.

HARK-KINCET debería hacer el trabajo, aunque requiere instalación. Existe la posibilidad de que pueda agrupar la instalación en su juego, aunque probablemente requerirá permiso de los desarrolladores. [Basado en la respuesta de Theraot ]

La otra opción presentada aquí es usar las bibliotecas aquí y codificar un programa que se conecta a esas bibliotecas. [Basado en la respuesta de McLovin ]

Una solución que solo funcionará para usted sería usar el código publicado aquí y luego configurarlo en su núcleo. Es posible que desee verificar lo que dice el sitio sobre algunos micrófonos que tienen un error que impide la configuración completa; Si es así, use este comando de configuración:

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

Si tiene este error, obtendrá este error:

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)

Por lo que he leído, este es probablemente el problema que tienes. Puede solucionarlo descargando la fuente y editándola, luego recuperando el firmware.

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

Desde aquí, debe seguir los pasos presentados en el enlace , ya que mis explicaciones pueden ser un poco confusas. Si desea continuar con mi explicación, edite el archivo llamado "kinect_upload_fw.c" para que se lea como:

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;

Guarde los cambios y luego compílelo e instálelo. Esto debería solucionar el problema.

Vaillancourt
fuente