Hi Bruce,
the cmpci cards have the same hardware design error as the older soundblaster
cards (eg. SB16/AWE64). The cards lack the ability to generate interrupts on
transmit fio empty, and have only one byte of fifo (hmmm.. that should be
named register instead of fifo :-).
If you want to drive your external MIDI gear, just use an interface which
has a decent MIDI port. In case you do not have the option to fix the
hardware, you can work around the defect using a polling driver or (in case
of ALSA) use a high (2 kHz) timer frequency instead of the standard 100 Hz.
Frank.
On Thu, Nov 21, 2002 at 09:42:09PM +0000, Bruce M Beach wrote:
Hello All
I'm sending some midi data to synthesizer for playback
and it appears that the fifo /dev/midi (cmpci mpu401 driver)
is not emptying as fast as it should(could), since the play back
is highly irregular. Here are some numbers.
1) The timeing slice remains constant at 30 msec +/- 3usec,
timed both at the beginning and end of the loop,
so the irregularities are not due to loop variations.
2) A maximum of 64 bytes burst, with around 5 bytes normal
and an average of 1 byte (say) (ie many slices do nothing)
can occur during a slice, the buffer for the driver is
128 bytes with around a maximum capability of around 116 bytes
transmitted per slice, so the midi channel can easily sustain
the transmission rate at the rate I am sending information.
4) System load while the program is running is around 0.1%
5) The midi performance remains the same even if I do something
like build the kernel, and untar some package say glibc at
the same time.
When I say irregular I mean, for instance on a run of 16th notes
the notes will radically speed up and slow down. The notes all
have the correct pitches and voice changes etc. are all happening
correctly. Just this strange tempo problem.
Any thoughts or suggestions would be welcome.
Bruce
--
+---- --- -- - - - -
| Frank van de Pol -o) A-L-S-A
| FvdPol(a)home.nl /\\ Sounds good!
|
http://www.alsa-project.org _\_v
| Linux - Why use Windows if we have doors available?