2013-08-29 96 views
3

當旋鈕轉動爲什麼我無法從/ dev/snd/midi *讀取數據?

enter image description here

爲什麼這個USB MIDI設備(Korg的Nanokontrol)產生可以從/ dev/SND/midiC2D0讀取數據,但是這一次不? (Egosys MIDIMATE II)

enter image description here

箭頭指示其閃爍作爲MIDI數據的LED用武之地。類型在這種情況下,MIDI信息是「MIDI時鐘」那我試圖使用告訴一個正在其他地方播放到這臺電腦的歌曲的節奏。

它也可以通過Wireshark USB嗅探確認正確的數據類型通過USB傳輸到計算機(至少我認爲它是正確的)。

enter image description here

我也確保該設備midiC1D0是正確的設備,因爲它出現時,我插拔設備消失。

那麼即使有數據進入,爲什麼數據永遠不會到達/ dev/snd/midiC1D0?

我也嘗試過直接使用alsa函數as shown in this code example但結果是一樣的:read函數什麼都不讀。

+1

'1f f8'是第二個端口上用於MIDI時鐘消息的有效USB MIDI數據包。 ('amidi -l'顯示兩個輸入端口嗎?)可能'cat'不會顯示不能被解釋爲UTF-8字符的數據;使用[amidi](http://linux.die.net/man/1/amidi)或[aseqdump](http://linux.die.net/man/1/aseqdump)顯示傳入的MIDI信息。 –

回答

1

CL的評論是正確的。 Amidi展示了正確的數據。所以現在我只需要編寫與amidi相同的東西。謝謝!

[email protected]:/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 
[email protected]:/dev/snd$ amidi -d -p hw:1,0,1 

F8 
F8 
F8 
F8 
F8 
F8 
F8 
F8 
相關問題