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

Mark Knecht markknecht at attbi.com
Thu Nov 21 21:06:00 UTC 2002


Frank,
   Where would we find a list of decent MIDI ports? Or alternatively, a list
of interfaces with these known issues?

Mark

-----Original Message-----
From: linux-audio-dev-admin at music.columbia.edu
[mailto:linux-audio-dev-admin at music.columbia.edu]On Behalf Of Frank van
de Pol
Sent: Thursday, November 21, 2002 3:33 PM
To: linux-audio-dev at music.columbia.edu
Subject: Re: [linux-audio-dev] mpu401 fifo scheduling on linux2.4.18



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