为什么当旋转旋钮时,此USB MIDI设备(Korg Nanokontrol)会生成可从/dev/snd/midiC2D0读取的数据

但这不是吗? (Egosys MIDIMATE II)

箭头指示一个LED,随着midi数据的传入而闪烁。在这种情况下,MIDI消息的类型是“midi clock”,我正试图用它来告诉正在计算机其他位置播放的歌曲的速度。

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

我还确定设备midiC1D0是正确的设备,因为在我插入和拔出设备时,它会显示或消失。

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

我也尝试过直接使用alsa函数as shown in this code example,但结果是相同的:read函数什么也不读取。

最佳答案

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

10-04 15:03