Làm cách nào tôi có thể sử dụng Kinect làm micrô trong Linux?


14

Tôi đang sử dụng Ubuntu 14.04 LTS và máy ảnh Kinect có loại Microsoft_Xbox_NUI_Sensor_043367545147-02-Sensor.

Tôi có thể truy cập máy ảnh của Kinect từ một chương trình Linux mà tôi đang viết, nhưng tôi cũng muốn sử dụng micrô của nó để liên lạc bằng giọng nói. Làm thế nào tôi có thể làm điều đó?


3
Tôi không chắc chắn nếu điều này sẽ có thể với trình điều khiển NUI thay thế. Thông thường trên Windows, micrô là một thiết bị riêng biệt khác và không có API trực tiếp, bởi vì bạn có thể truy cập nó như một micrô bình thường như những người khác có thể có mặt.
Yosh Synergi

Bạn đã xem qua các Trình điều khiển Kinect OpenSource này chưa? github.com/OpenKinect/libfreenect cho Kinect v1 và github.com/OpenKinect/libfreenect2 cho Kinect v2. Như tác giả đã nêu, ít nhất libfreenect1 hỗ trợ âm thanh.
McLovin

Rõ ràng nó có thể được thực hiện với HARK-KINECT - ai đó hãy thử xem.
Theraot

1
Các bạn nên đưa ra câu trả lời từ những bình luận này.
Gustavo Maciel

Câu trả lời:


0

Dựa trên những gì người khác đã nói trong các bình luận và một số nghiên cứu tôi đã thực hiện, đây là những gợi ý của tôi.

HARK-KINCET nên thực hiện công việc, mặc dù nó yêu cầu cài đặt. Có khả năng bạn có thể gói cài đặt trong trò chơi của mình, mặc dù bạn có thể sẽ phải xin phép nhà phát triển. [Dựa trên câu trả lời của Theraot ]

Tùy chọn khác được trình bày ở đây là sử dụng các thư viện ở đây và mã hóa chương trình kết nối với các thư viện đó. [Dựa trên câu trả lời của McLovin ]

Một giải pháp sẽ chỉ hiệu quả với bạn là sử dụng mã được đăng ở đây và sau đó thiết lập mã đó trong kernel của bạn. Bạn có thể muốn kiểm tra những gì trang web nói về một số micrô có lỗi ngăn thiết lập đầy đủ; nếu vậy hãy sử dụng lệnh thiết lập này:

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

Nếu bạn có lỗi này, bạn sẽ gặp lỗi này:

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)

Từ những gì tôi đã đọc, đây có lẽ là vấn đề bạn đang gặp phải. Bạn có thể sửa nó bằng cách tải xuống nguồn và chỉnh sửa nó, sau đó tìm nạp firmware.

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

Từ đây bạn nên làm theo các bước được trình bày trong liên kết , vì những giải thích của tôi có thể hơi khó hiểu. Nếu bạn muốn tiếp tục với lời giải thích của tôi, hãy chỉnh sửa tệp có tên là kin kin_upload_fw.c. Để nó đọc là:

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;

Lưu các thay đổi và sau đó xây dựng và cài đặt nó. Điều này sẽ khắc phục vấn đề.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.