[linux-audio-dev] mpu401 fifo scheduling on linux2.4.18

Frank van de Pol fvdpol at home.nl
Thu Nov 21 18:36:00 UTC 2002


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 at home.nl                    /\\  Sounds good!
| http://www.alsa-project.org      _\_v
| Linux - Why use Windows if we have doors available?



More information about the Linux-audio-dev mailing list