Re: [LAD] [64studio-users] MIDI jitter

From: Niels Mayer <nielsmayer@email-addr-hidden>
Date: Wed Jun 30 2010 - 04:20:30 EEST

On Sat, Jun 19, 2010 at 7:16 AM, Ralf Mardorf
<ralf.mardorf@email-addr-hidden-dsl.net> wrote:
> To bad that there isn't a MPU game port any more on modern boards and that
> e.g. my Terratec EWX 24/96 Envy24's MPU needs opto-couplers for the cable,
> but what ever circuit I build on a brad board, they failed.
> Time to mount my old mobo again and to test the game ports MPU with today
> Linux, resp. to get a service manual for my Terratec.

http://github.com/koppi/alsa-midi-latency-test gives definite figures
showing MPU-401 and Envy24 based MIDI is much faster than USB midi.
Makes sense given there's no USB stack to traverse, and there's
probably a direct PCI-bus interrupt generated by MIDI data,
orchestrated by the plays-nice-with Linux ICE1712/1724 series (
http://alsa.cybermirror.org/manuals/icensemble/envy24.pdf ) which
efficiently implements PCI 2.1 bus-master and burst modes, though I'm
not sure if that would be used or needed for MIDI.

What's interesting to note is that most of the USB MIDI interfaces do
not have consistent latency (Other than the Roland UM2's consistent
2.15ms) whereas MPU-401 (1.13mS) and VT1712 (0.97-1.04mS) have this
consistency. In contrast an M-audio midisport USB has latency ranging
from 3.11-5.38 ms ==> 2ms "jitter" just in the hardware alone, with
the jitter being greater than the total latency of a MPU401 or
ICE1724-based MIDI.

Did I ever mention that firewire and USB are probably the most
bone-headed way of doing low-latency audio ever thought of? It begs
failure both in theory and practice. But since people following
fashion are the quickest lemmings to fall off the cliff
(fashion-following being the losing end of a ponzi scheme), the Linux
community can benefit from their stupidity: With lots of people moving
to USB and Firewire configurations, E-bay is full of used ICE1712 or
ICE1724-based soundcards, many of which have MIDI ports, and some
which have waveblaster headers. For example the VT1712-based $20.00
Terratec DMX6Fire with a front midi port and an internal 26 pin
waveblaster header for my Yamaha db50xg (NEC XR385). Or the
VT1723-based $0.99 Dynex dx-sc51 with a single 26 pin waveblaster MIDI
port (TTL level MIDI in and out).

The only thing lacking on these ten year old designs are a modern A/D
and D/A section and analog section, which is why I started the
following threads on LAU:
http://old.nabble.com/digital-upgrade-of-older-equipment-via-I2S-with-jitter-attenuating-S-PDIF-receiver-evaluation-board----to28997419.html
http://old.nabble.com/turning-a-consumer-soundcard-into-%22prosumer%22-w--quasi-balanced-outs-tp28791831p29011212.html

Bottom line: MIDI implementation on the ICE VT1712 is faster than an
MPU-401 and both are faster than the quickest USB implementation:

http://github.com/koppi/alsa-midi-latency-test/blob/master/benchmarks/m-audio-2496.txt
(ICE vt1712 soundchip, also using realtime prio)
.............................
$ alsa-midi-latency-test -R -i 20:0 -o 20:0
 alsa-midi-latency-test 0.0.3
 set_realtime_priority(SCHED_FIFO, 99).. done.
 clock resolution: 0.000000001 s
[...]
 latency distribution:
  1.0 - 1.1 ms: 10000 ##################################################
[...]
 best latency was 0.97 ms
 worst latency was 1.04 ms, which is great
.............................

http://github.com/koppi/alsa-midi-latency-test/blob/master/benchmarks/mpu401.txt
..............................
 latency distribution:
[...]
  1.0 - 1.1 ms: 3714 ##############################
  1.1 - 1.2 ms: 6286 ##################################################
[...]
 worst latency was 1.13 ms, which is great.
...................................

http://github.com/koppi/alsa-midi-latency-test/blob/master/benchmarks/um2ex.txt
...................................
 latency distribution:
[...]
  1.1 - 1.2 ms: 3 #
  1.2 - 1.3 ms: 19 #
  1.3 - 1.4 ms: 13 #
  1.4 - 1.5 ms: 23 #
  1.5 - 1.6 ms: 88 #
  1.6 - 1.7 ms: 14 #
  1.7 - 1.8 ms: 16 #
  1.8 - 1.9 ms: 20 #
  1.9 - 2.0 ms: 17 #
  2.0 - 2.1 ms: 9773 ##################################################
  2.1 - 2.2 ms: 13 #
[...]
 worst latency was 2.15 ms, which is great.
...................................

-- Niels
http://nielsmayer.com
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Wed Jun 30 08:15:01 2010

This archive was generated by hypermail 2.1.8 : Wed Jun 30 2010 - 08:15:02 EEST