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