为什么当旋转旋钮时,此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