[LAD] [Fwd: Re: No nagging, a serious question]

Dan Mills dmills at exponent.myzen.co.uk
Sun Jul 4 21:16:01 UTC 2010


On Sun, 2010-07-04 at 22:56 +0200, Ralf Mardorf wrote:
 
> Good to read about this issue. I always disable the on-board audio
> devices, but I would add a second PCI card to my PC and sync it with
the
> already installed sound card, so I better don't do it. It at least
would
> be nice to have several MIDI IO by simply using some cheap Envy24
cards.
> Unfortunately those cheap cards seems to use just one of the two MPUs
> supported by the Envy24.

Note that I didn't say Linux does this (it would break separation
between the midi and audio subsystems), just that you can do it if you
know when developing the midi ISR exactly what hardware you have
available on the audio side (Specifically what address the cards
playback position register is).

The thing is you really want that timestamp to be based on the soundcard
clock that will ultimately be outputting the samples generated as a
result of that midi, difficult with things like Pulse (and to an extent
Jack) in the way and obviously unworkable with netjack. 

This sort of issue is what the ALSA midi sequencer is really intended to
fix, by making midi timing a kernel problem rather then a user space
one. It sort of solves HALF the problem, in that it makes getting midi
messages out on time more or less possible (at least on paper), but it
does nothing for reliably timestamping incoming midi using a clock that
can be related simply to the audio sample clock and which would thus be
useful when building software synths. 

You could probably hack a multi serial port card to do multiple midi
ports (Change the rock to give a suitable divider for 31250 baud
(4MHz?), add current loop interfaces)... 

Regards, Dan.






More information about the Linux-audio-dev mailing list