BUG: ALSA snd-virmidi: snd-virmidi is not MIDI 1.0 specification compliant
Andreas Steinmetz
ast at domdv.de
Sun Mar 15 12:57:13 CET 2020
snd-virmidi, as of kernel 5.4.23, does not adhere to the MIDI
specification:
>From MIDI 1.0 Detailed Specification, Document Version 4.2, Appendix A-
1 (RUNNING STATUS), Page A-2:
"3. Buffer is cleared when a System Exclusive or Common status message
is received."
snd-virmidi does not clear the running status in case of a SysEx
message.
How to test:
Load snd-virmidi module and get the card number of the module.
In the following 5 is assumed as the card number and device 1 is used.
You need two shells, in shell 1 do:
aconnect 'Virtual Raw MIDI 5-1':0 'Virtual Raw MIDI 5-1':0
amidi -p hw:VirMIDI,1 -d
Now, in shell 2 do:
amidi -p hw:VirMIDI,1 -S '80 01 02 F0 01 F7 80 02 03'
This sends a note off, followed by a SysEx, followed by another note
off. The result in shell 1 is:
80 01 02
F0 01 F7
02
03
So snd-virmidi did not clear the running status. The correct result
would be:
80 01 02
F0 01 F7
80 02 03
More information about the Alsa-devel
mailing list