Id like to translate in realtime a midi sequence into another midi sequence. I am not completely sure but I think this is possible with jack or alsa (more jack, right?) for example with this haskell library.
But assuming I have such a program that for example listens on traditional unix ports. How do I make it appear in software like qjackctl or helvum as a device to which I can connect various midi sources? Ideally id like to know at what abstraction level this sits and with what audio library I should set this up programatically. So, how to make a virtual midi device?
Thanks!
It seems to me like the answer (on linux) is ALSA. That's the level of abstraction where audio devices are created and managed.
Also Jack: jack devices are a similar abstraction but one that's managed by jack. Not certain if jack devices are wrappers over alsa devices, though there seem to be at least an option to create ALSA devices alongside jack ones with jack (as viewed with qjackctl).
Ill update if i get more clarity.