在 Windows 中将 Ubuntu 设备检测为 MIDI keyboard/Interface
Detect Ubuntu device as a MIDI keyboard/Interface in Windows
我正在使用 Ubuntu 15.04 Lite 在我的 Odroid XU3 上创建一个小实验应用程序。
http://dn.odroid.com/homebackup/201407071058089142.jpg
设备 (Odroid) 通过可用 USB 主机端口之一连接的键盘接收 midi 作为输入(这部分没问题),并向计算机发送一些其他 midi 指令(也通过 USB,但 USB OTG)创造和谐(这部分不行)。
用例是:
你在你的 midi 键盘上弹奏一些音符,odroid 收到它们,嵌入式应用程序代码分析它们,找到新的音符(midi 指令)并将它们发送到你的 Windows PC,你可以将它们根植到你选择的 VST .
我遇到的问题是,为了实现这一点,我需要 Odroid 设备在 Windows 中显示为 MIDI 键盘,以便人们可以将设备添加到他们的数字音频工作站中。
市场上出售的大多数 midi 控制器都有自己的驱动程序,但有些是 class 兼容设备。
如何让 Windows 检测到这个 Odroid 板是一个 midi 键盘?如果我需要为此编写特定的驱动程序,从哪里开始?
编辑:找到 g_midi 个驱动程序但未找到 usb_f_midi
odroid@odroid:/lib/modules/3.10.72-23/kernel/drivers/usb/gadget$ ls -al
total 628
drwxr-xr-x 2 root root 4096 May 23 21:28 .
drwxr-xr-x 8 root root 4096 May 23 21:27 ..
-rw-r--r-- 1 root root 37544 May 23 21:11 g_acm_ms.ko
-rw-r--r-- 1 root root 17468 May 23 21:11 g_audio.ko
-rw-r--r-- 1 root root 24164 May 23 21:11 g_cdc.ko
-rw-r--r-- 1 root root 44488 May 23 21:11 g_ether.ko
-rw-r--r-- 1 root root 63552 May 23 21:11 g_ffs.ko
-rw-r--r-- 1 root root 16672 May 23 21:11 g_hid.ko
-rw-r--r-- 1 root root 37084 May 23 21:11 g_mass_storage.ko
-rw-r--r-- 1 root root 17468 May 23 21:11 g_midi.ko
-rw-r--r-- 1 root root 69752 May 23 21:11 g_multi.ko
-rw-r--r-- 1 root root 28164 May 23 21:11 g_ncm.ko
-rw-r--r-- 1 root root 35396 May 23 21:11 g_nokia.ko
-rw-r--r-- 1 root root 20944 May 23 21:11 g_printer.ko
-rw-r--r-- 1 root root 9016 May 23 21:11 g_serial.ko
-rw-r--r-- 1 root root 26628 May 23 21:11 g_webcam.ko
-rw-r--r-- 1 root root 11408 May 23 21:11 g_zero.ko
-rw-r--r-- 1 root root 25380 May 23 21:11 gadgetfs.ko
-rw-r--r-- 1 root root 45940 May 23 21:11 libcomposite.ko
-rw-r--r-- 1 root root 15244 May 23 21:11 u_serial.ko
-rw-r--r-- 1 root root 9972 May 23 21:11 usb_f_acm.ko
-rw-r--r-- 1 root root 8060 May 23 21:11 usb_f_obex.ko
-rw-r--r-- 1 root root 6928 May 23 21:11 usb_f_serial.ko
-rw-r--r-- 1 root root 14584 May 23 21:11 usb_f_ss_lb.ko
第二次编辑:感谢 CL
试用 g_midi 驱动程序
odroid@odroid:/proc/asound$ cat cards
0 [odroidaudio ]: odroid-audio - odroid-audio odroid-audio
1 [MPK225 ]: USB-Audio - MPK225 Akai MPK225 at usb-12110000.usb-1.2, full speed
2 [K61 ]: USB-Audio - Keystation 61 M-Audio Keystation 61 at usb-12110000.usb-1.3, full speed.
$ modprobe g_midi in_ports=1 out_ports=1
错误:
modprobe : ERROR : could not insert 'g_midi' : Device Or Ressource busy.
其他端口(3,4 等)出现同样的错误
移除 Midi 键盘时:
odroid@odroid:/proc/asound$ cat cards
0 [odroidaudio ]: odroid-audio - odroid-audio odroid-audio
$ modprobe g_midi in_ports=1 out_ports=1
同样的错误:
modprobe : ERROR : could not insert 'g_midi' : Device Or Ressource busy.
只需加载 g_midi
模块:
$ modprobe g_midi in_ports=1 out_ports=1
(1 和 1 是默认值。)
这将创建一个 class 兼容的 USB MIDI 接口,它像普通声卡一样在 Odroid 上可见:
$ cat /proc/asound/cards
0 [whatever ]: ...
1 [gmidi ]: MIDI Gadget - g_midi
MIDI Gadget
... 并且可以使用正常的 Linux MIDI API 进行访问。
我正在使用 Ubuntu 15.04 Lite 在我的 Odroid XU3 上创建一个小实验应用程序。 http://dn.odroid.com/homebackup/201407071058089142.jpg
设备 (Odroid) 通过可用 USB 主机端口之一连接的键盘接收 midi 作为输入(这部分没问题),并向计算机发送一些其他 midi 指令(也通过 USB,但 USB OTG)创造和谐(这部分不行)。
用例是: 你在你的 midi 键盘上弹奏一些音符,odroid 收到它们,嵌入式应用程序代码分析它们,找到新的音符(midi 指令)并将它们发送到你的 Windows PC,你可以将它们根植到你选择的 VST .
我遇到的问题是,为了实现这一点,我需要 Odroid 设备在 Windows 中显示为 MIDI 键盘,以便人们可以将设备添加到他们的数字音频工作站中。
市场上出售的大多数 midi 控制器都有自己的驱动程序,但有些是 class 兼容设备。
如何让 Windows 检测到这个 Odroid 板是一个 midi 键盘?如果我需要为此编写特定的驱动程序,从哪里开始?
编辑:找到 g_midi 个驱动程序但未找到 usb_f_midi
odroid@odroid:/lib/modules/3.10.72-23/kernel/drivers/usb/gadget$ ls -al
total 628
drwxr-xr-x 2 root root 4096 May 23 21:28 .
drwxr-xr-x 8 root root 4096 May 23 21:27 ..
-rw-r--r-- 1 root root 37544 May 23 21:11 g_acm_ms.ko
-rw-r--r-- 1 root root 17468 May 23 21:11 g_audio.ko
-rw-r--r-- 1 root root 24164 May 23 21:11 g_cdc.ko
-rw-r--r-- 1 root root 44488 May 23 21:11 g_ether.ko
-rw-r--r-- 1 root root 63552 May 23 21:11 g_ffs.ko
-rw-r--r-- 1 root root 16672 May 23 21:11 g_hid.ko
-rw-r--r-- 1 root root 37084 May 23 21:11 g_mass_storage.ko
-rw-r--r-- 1 root root 17468 May 23 21:11 g_midi.ko
-rw-r--r-- 1 root root 69752 May 23 21:11 g_multi.ko
-rw-r--r-- 1 root root 28164 May 23 21:11 g_ncm.ko
-rw-r--r-- 1 root root 35396 May 23 21:11 g_nokia.ko
-rw-r--r-- 1 root root 20944 May 23 21:11 g_printer.ko
-rw-r--r-- 1 root root 9016 May 23 21:11 g_serial.ko
-rw-r--r-- 1 root root 26628 May 23 21:11 g_webcam.ko
-rw-r--r-- 1 root root 11408 May 23 21:11 g_zero.ko
-rw-r--r-- 1 root root 25380 May 23 21:11 gadgetfs.ko
-rw-r--r-- 1 root root 45940 May 23 21:11 libcomposite.ko
-rw-r--r-- 1 root root 15244 May 23 21:11 u_serial.ko
-rw-r--r-- 1 root root 9972 May 23 21:11 usb_f_acm.ko
-rw-r--r-- 1 root root 8060 May 23 21:11 usb_f_obex.ko
-rw-r--r-- 1 root root 6928 May 23 21:11 usb_f_serial.ko
-rw-r--r-- 1 root root 14584 May 23 21:11 usb_f_ss_lb.ko
第二次编辑:感谢 CL 试用 g_midi 驱动程序
odroid@odroid:/proc/asound$ cat cards
0 [odroidaudio ]: odroid-audio - odroid-audio odroid-audio
1 [MPK225 ]: USB-Audio - MPK225 Akai MPK225 at usb-12110000.usb-1.2, full speed
2 [K61 ]: USB-Audio - Keystation 61 M-Audio Keystation 61 at usb-12110000.usb-1.3, full speed.
$ modprobe g_midi in_ports=1 out_ports=1
错误:
modprobe : ERROR : could not insert 'g_midi' : Device Or Ressource busy.
其他端口(3,4 等)出现同样的错误
移除 Midi 键盘时:
odroid@odroid:/proc/asound$ cat cards
0 [odroidaudio ]: odroid-audio - odroid-audio odroid-audio
$ modprobe g_midi in_ports=1 out_ports=1
同样的错误:
modprobe : ERROR : could not insert 'g_midi' : Device Or Ressource busy.
只需加载 g_midi
模块:
$ modprobe g_midi in_ports=1 out_ports=1
(1 和 1 是默认值。)
这将创建一个 class 兼容的 USB MIDI 接口,它像普通声卡一样在 Odroid 上可见:
$ cat /proc/asound/cards
0 [whatever ]: ...
1 [gmidi ]: MIDI Gadget - g_midi
MIDI Gadget
... 并且可以使用正常的 Linux MIDI API 进行访问。