Do you want to measure the latency/jitter performance of your MIDI interface on Windows, Mac, Linux, iOS, Android, Arduino, Raspberry and any black-box?

BenchmarkMIDI lets you do this through alsa-midi-latency-test software within a real-time embedded linux OS. The accuracy of measurement can drop to a few microseconds with the best MIDI hardware. The next version will support network protocols: Multicast-MIDI and RTP-MIDI.

In a nutshell, you need to measure jitter and latency of a ALSA compatible MIDI interface on BenchmarkMIDI linux box. The ALSA MIDI interface will be used as a measuring instrument. In this way you can measure any external MIDI device with an accuracy similar to the already measured jitter. If you subtract the latency of the measuring instrument then you get the latency of the black box. Of course you need to create a loopback between MIDI-OUT and MIDI-IN: with a simple DIN5 MIDI cable, with a patchbay application (MIDI Patchbay, MIDI-OX, Bome MIDI Translator) or in any other way.

You can start with any USB-MIDI class-compliant interface and then switch to a PCI interface for greater accuracy. Check the forum for more details: Performance: Latency/Jitter measuring tools.

The system is built on Buildroot to share the development and customize each element in a simple way.

Download the software from the Download section.

 

Supported ALSA Audio/MIDI devices on linux kernel 4.1.5

--- USB sound devices 
[ ]   USB Audio/MIDI driver  (usb-audio)  USB-MIDI class-compliant
[ ]   Edirol UA-101/UA-1000 driver (usb-ua101)
[ ]   Tascam US-122, US-224 and US-428 USB driver (usb-usx2y)
[ ]   Native Instruments USB audio devices (usb-caiaq) 
[ ]   Tascam US-122L USB driver (usb-us122l)
[ ]   TerraTec DMX 6Fire USB (usb-6fire)
[ ]   M2Tech hiFace USB-SPDIF driver (usb-hiface)
[ ]   Behringer BCD2000 MIDI driver (usb-bcd2000)
[ ]   Line 6 POD USB support (usb-pod)
[ ]   Line 6 POD HD300/400/500 USB support (usb-podhd) 
[ ]   TonePort GX, UX1 and UX2 USB support (usb-toneport)
[ ]   Variax Workbench USB support (usb-variax)

--- FireWire sound devices
[ ]   DICE-based DACs support (dice)
[ ]   Oxford Semiconductor FW970/971 chipset support (oxfw)
[ ]   Apple iSight microphone (isight)
[ ]   Stanton Control System 1 MIDI (scs1x)
[ ]   Echo Fireworks board module support (fireworks)
[ ]   BridgeCo DM1000/DM1100/DM1500 with BeBoB firmware
(bebob)
 
 
 
 


 

--- PCI sound devices 
[ ]   Analog Devices AD1889 (ad1889)
[ ]   Avance Logic ALS300/ALS300+ (als300)
[ ]   Avance Logic ALS4000 (als4000)
[ ]   ALi M5451 PCI Audio Controller (ali5451)
[ ]   AudioScience ASIxxxx (asihpi)
[ ]   ATI IXP AC97 Controller (atiixp)
[ ]   ATI IXP Modem (atiixp-modem)
[ ]   Aureal Advantage (au8810)
[ ]   Aureal Vortex (au8820)
[ ]   Aureal Vortex 2 (au8830)
[ ]   Emagic Audiowerk 2 (aw2)
[ ]   Aztech AZF3328 / PCI168 (azt3328)
[ ]   Bt87x Audio Capture (bt87x)
[ ]   SB Audigy LS / Live 24bit (ca0106)
[ ]   C-Media 8338, 8738, 8768, 8770 (cmipci)
[ ]   C-Media 8786, 8787, 8788 (Oxygen) (oxygen)
[ ]   Cirrus Logic (Sound Fusion) CS4281 (cs4281)
[ ]   Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x (cs46xx)
[ ]   Creative Sound Blaster X-Fi (ctxfi)
[ ]   (Echoaudio) Darla20 (darla20)
[ ]   (Echoaudio) Gina20 (gina20)
[ ]   (Echoaudio) Layla20 (layla20)
[ ]   (Echoaudio) Darla24 (darla24)
[ ]   (Echoaudio) Gina24 (gina24)
[ ]   (Echoaudio) Layla24 (layla24)
[ ]   (Echoaudio) Mona (mona)
[ ]   (Echoaudio) Mia (mia)
[ ]   (Echoaudio) 3G cards (echo3g) 
[ ]   (Echoaudio) Indigo (indigo)
[ ]   (Echoaudio) Indigo IO (indigoio)
[ ]   (Echoaudio) Indigo DJ (indigodj)
[ ]   (Echoaudio) Indigo IOx (indogoiox)
[ ]   (Echoaudio) Indigo DJx (indogodjx)
[ ]   Emu10k1 (SB Live!, Audigy, E-mu APS) (emu10k1)
[ ]   Emu10k1X (Dell OEM Version) (emu10k1x)
[ ]   (Creative) Ensoniq AudioPCI 1370 (ens1370)
[ ]   (Creative) Ensoniq AudioPCI 1371/1373 (ens1371)
[ ]   ESS ES1938/1946/1969 (Solo-1) (es1938)
[ ]   ESS ES1968/1978 (Maestro-1/2/2E) (es1968)
[ ]   ForteMedia FM801 (fm801)
[ ]   RME Hammerfall DSP Audio (hdsp)
[ ]   RME Hammerfall DSP MADI/RayDAT/AIO (hdspm)      
[ ]   ICEnsemble ICE1712 (Envy24) (ice1712)
[ ]   ICE/VT1724/1720 (Envy24HT/PT) (ice1724)
[ ]   Intel/SiS/nVidia/AMD/ALi AC97 Controller (intel8x0)
[ ]   Intel/SiS/nVidia/AMD MC97 Modem (intel8x0m)
[ ]   Korg 1212 IO (korg1212)
[ ]   Digigram Lola (lola)
[ ]   Digigram LX6464ES (lx6464es)
[ ]   ESS Allegro/Maestro3 (maestro3)
[ ]   Digigram miXart (mixart)
[ ]   NeoMagic NM256AV/ZX (nm256)
[ ]   Digigram PCXHR (pcxhr)
[ ]   Conexant Riptide (riptide)
[ ]   RME Digi32, 32/8, 32 PRO (rme32)
[ ]   RME Digi96, 96/8, 96/8 PRO (rme96)
[ ]   RME Digi9652 (Hammerfall) (rme9652)
[ ]   Studio Evolution SE6X (se6x)
[ ]   S3 SonicVibes (sonicvibes)
[ ]   Trident 4D-Wave DX/NX; SiS 7018 (trident)
[ ]   VIA 82C686A/B, 8233/8235 AC97 Controller (via82xx)    
[ ]   VIA 82C686A/B, 8233 based Modems (via82xx-modem)
[ ]   Asus Virtuoso 66/100/200 (Xonar) (virtuoso)
[ ]   Digigram VX222 (vx222)
[ ]   Yamaha YMF724/740/744/754 (ymfpci)