如何在Linux中将Kinect用作麦克风?


14

我正在使用Ubuntu 14.04 LTS,并且Kinect摄像机的类型为Microsoft_Xbox_NUI_Sensor_043367545147-02-Sensor

我可以从正在编写的Linux程序中访问Kinect的摄像头,但我也想使用其麦克风进行语音通信。我怎样才能做到这一点?


3
我不确定使用替代NUI驱动程序是否可以实现。通常,在Windows上,麦克风是另一个单独的设备,并且没有直接API,因为您可以像其他麦克风一样将其作为普通麦克风来访问。
Yosh Synergi

您是否已经看过这些OpenSource Kinect驱动程序?适用于Kinect v1的github.com/OpenKinect/libfreenect适用于Kinect v2的github.com/OpenKinect/libfreenect2。如作者所述,至少libfreenect1支持音频。
McLovin

显然,可以使用HARK-KINECT来完成-有人尝试一下。
Theraot

1
你们应该从这些评论中做出答案。
Gustavo Maciel

Answers:


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;

保存更改,然后构建并安装它。这应该可以解决问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.