I'm trying to wire together a few MIDI apps via virtual MIDI ports, and I found the kernel module snd_virmidi that's supposed to manage such ports on Linux.

As a trial, I connect the first virtual MIDI port to the TiMidity output port, then play a MIDI file to the virtual port. I should hear sound, if I understand correctly:

aconnect 24:0 128:0 # connect VirMIDI 2-0 to TiMidity port 0 aplaymidi file.mid --port 24:0 # play MIDI file to VirMIDI 2-0

But I am not hearing anything. Playing the same MIDI file to --port 128:0 does generate sound.

What am I doing wrong, or how can I troubleshoot my setup?

  • For what it's worth, the above works when I replace VirMIDI 2-0 with Midi Through Port-0 (provided by kernel module snd-seq-dummy). Am I misunderstanding the intended function of snd-virmidi? – infojunkie Dec 24 '16 at 20:09
  • 1
    You might have more luck over at unix.stackexchange.com – Richard Dec 24 '16 at 22:46

The purpose of the "Midi Through Port"s is to reflect back any events sent to it.
The purpose of the "VirMIDI" ports is to interface between ALSA sequencer ports (e.g., 24:0) and OSS MIDI devices (e.g., /dev/midi0*).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.