ฉันจะใช้ Kinect เป็นไมโครโฟนใน Linux ได้อย่างไร


14

ฉันใช้อูบุนตู 14.04 LTS และกล้อง Kinect Microsoft_Xbox_NUI_Sensor_043367545147-02-Sensorมีประเภท

ฉันสามารถเข้าถึงกล้องของ Kinect ได้จากโปรแกรม Linux ที่ฉันเขียน แต่ฉันต้องการใช้ไมโครโฟนเพื่อการสื่อสารด้วยเสียง ฉันจะทำสิ่งนั้นได้อย่างไร


3
ฉันไม่แน่ใจว่าจะเป็นไปได้ด้วยไดรเวอร์ NUI อื่น โดยปกติแล้วใน Windows ไมโครโฟนจะเป็นอุปกรณ์แยกต่างหากอีกตัวหนึ่งและไม่มี API โดยตรงเพราะคุณสามารถเข้าถึงได้เหมือนไมโครโฟนปกติเนื่องจากอาจมีอุปกรณ์อื่นอยู่
Yosh Synergi

คุณได้ดู OpenSource Kinect Drivers เหล่านี้แล้วหรือยัง? github.com/OpenKinect/libfreenectสำหรับ Kinect v1 และgithub.com/OpenKinect/libfreenect2สำหรับ Kinect v2 ตามที่ผู้เขียนระบุไว้อย่างน้อย libfreenect1 รองรับเสียง
McLovin

เห็นได้ชัดว่ามันสามารถทำได้กับHARK-KINECT - ใครบางคนลองดู
ธีระโรจน์

1
พวกคุณควรจะตอบคำถามจากความคิดเห็นเหล่านี้
Gustavo Maciel

คำตอบ:


0

จากสิ่งที่ผู้อื่นพูดในความคิดเห็นและงานวิจัยที่ฉันทำไปนี่เป็นคำแนะนำของฉัน

HARK-KINCETควรทำงานแม้ว่ามันจะต้องมีการติดตั้ง มีความเป็นไปได้ที่คุณสามารถรวมการติดตั้งในเกมของคุณแม้ว่าคุณอาจต้องได้รับอนุญาตจากนักพัฒนา [อ้างอิงจากคำตอบของธีรอท ]

ตัวเลือกอื่น ๆ ที่แสดงในที่นี้คือการใช้ไลบรารีที่นี่และรหัสโปรแกรมที่เชื่อมต่อกับไลบรารีเหล่านั้น [อ้างอิงจากคำตอบของ McLovin ]

วิธีแก้ปัญหาที่ใช้ได้ผลสำหรับคุณคือใช้รหัสที่โพสต์ที่นี่จากนั้นตั้งค่าในเคอร์เนลของคุณ คุณอาจต้องการตรวจสอบสิ่งที่ไซต์พูดเกี่ยวกับไมโครโฟนบางตัวที่มีจุดบกพร่องที่ป้องกันการตั้งค่าแบบเต็ม ถ้าเป็นเช่นนั้นใช้คำสั่งการตั้งค่านี้:

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;

บันทึกการเปลี่ยนแปลงจากนั้นสร้างและติดตั้ง สิ่งนี้ควรแก้ไขปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.