为什么我不能从/ dev / snd / midi *中读取数据?

时间:2013-08-29 23:19:35

标签: linux usb midi alsa

为什么这个USB MIDI设备(Korg Nanokontrol)产生的数据可以在旋转旋钮时从/ dev / snd / midiC2D0读取

enter image description here

但是这个不是吗? (Egosys MIDIMATE II)

enter image description here

箭头表示当midi数据进入时闪烁的LED指示灯。在这种情况下,MIDI消息的类型是“midi clock”,我试图用它来表示正在其他地方播放的歌曲的节奏到这台电脑。

也可以通过Wireshark USB嗅探确认正确的数据通过USB传输到计算机(至少我认为是正确的)。

enter image description here

我也确定设备midiC1D0是正确的设备,因为当我插拔设备时它会出现并消失。

那么,即使有数据进入,为什么数据永远不会达到/ dev / snd / midiC1D0?

我也尝试直接使用alsa函数as shown in this code example但结果是一样的:read函数什么都不读。

1 个答案:

答案 0 :(得分:1)

CL的评论是正确的。 Amidi显示了正确的数据。所以现在我只需编写与amidi相同的代码。谢谢!

apaksi@extruder:/dev/snd$ amidi -l
Dir Device    Name
IO  hw:0,0,0  nanoKONTROL MIDI 1
IO  hw:1,0,0  MIDIMATE II MIDI 1
IO  hw:1,0,1  MIDIMATE II MIDI 2
apaksi@extruder:/dev/snd$ amidi -d -p hw:1,0,1 

F8
F8
F8
F8
F8
F8
F8
F8