Как я могу использовать Kinect в качестве микрофона в Linux?

14

Я использую Ubuntu 14.04 LTS, и камера Kinect имеет тип Microsoft_Xbox_NUI_Sensor_043367545147-02-Sensor.

Я могу получить доступ к камере Kinect из программы для Linux, которую я пишу, но я также хотел бы использовать ее микрофон для голосовой связи. Как я могу это сделать?

the_naive
источник
3
Я не уверен, что это будет возможно с альтернативным драйвером NUI. Обычно в Windows микрофон - это другое отдельное устройство, и API напрямую не существует, потому что вы можете получить к нему доступ как к обычному микрофону, поскольку другие могут присутствовать.
Йош Синерги
Вы уже ознакомились с этими драйверами OpenSource Kinect? github.com/OpenKinect/libfreenect для Kinect v1 и github.com/OpenKinect/libfreenect2 для Kinect v2. Как заявляет автор, как минимум libfreenect1 поддерживает аудио.
МакЛовин
Очевидно, это можно сделать с помощью HARK-KINECT - кто-нибудь попробует.
Theraot
1
Вы, ребята, должны сделать ответы из этих комментариев.
Густаво Масиэль

Ответы:

0

На основании того, что другие сказали в комментариях, и некоторых исследований, которые я провел, вот мои предложения.

HARK-KINCET должен выполнить эту работу, хотя он требует установки. Существует возможность, что вы можете связать установку в своей игре, хотя вам, вероятно, потребуется разрешение от разработчиков. [На основании ответа Theraot ]

Другой вариант, представленный здесь, использует библиотеки здесь и код программы, которая подключается к этим библиотекам. [На основании ответа Макловина ]

Решение, которое будет работать только для вас, будет использовать код, размещенный здесь, и затем установить его в вашем ядре. Вы можете проверить, что на сайте говорится о некоторых микрофонах, имеющих ошибку, которая мешает полной настройке; если это так, используйте эту команду настройки:

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

Если у вас есть эта ошибка, вы получите эту ошибку:

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)

Из того, что я прочитал, это, вероятно, проблема, с которой вы столкнулись. Вы можете исправить это, загрузив исходный код и отредактировав его, а затем загрузив прошивку.

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

Отсюда вы должны выполнить шаги, представленные в ссылке , так как мои объяснения могут немного запутать. Если вы хотите продолжить мое объяснение, отредактируйте файл с именем «kinect_upload_fw.c» так, чтобы он читался как:

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;

Сохраните изменения, а затем соберите и установите их. Это должно решить проблему.

Vaillancourt
источник