All Projects → koppi → alsa-midi-latency-test

koppi / alsa-midi-latency-test

Licence: GPL-2.0 license
Measure the roundtrip time of MIDI messages.

Programming Languages

M4
1887 projects
c
50402 projects - #5 most used programming language
shell
77523 projects
Roff
2310 projects
Makefile
30231 projects

Projects that are alternatives of or similar to alsa-midi-latency-test

Managed Midi
[Past project] Cross-platform MIDI processing library for mono and .NET (ALSA, CoreMIDI, Android, WinMM and UWP).
Stars: ✭ 130 (+550%)
Mutual labels:  midi, alsa
rtpmidid
RTP MIDI (AppleMIDI) daemon for Linux
Stars: ✭ 109 (+445%)
Mutual labels:  midi, alsa
Python Rtmidi
Python bindings for the cross-platform MIDI I/O library RtMidi
Stars: ✭ 189 (+845%)
Mutual labels:  midi, alsa
Libremidi
A modern C++ MIDI real-time & file I/O library. Supports Windows, macOS, Linux and WebMIDI.
Stars: ✭ 69 (+245%)
Mutual labels:  midi, alsa
Unimidi
Realtime MIDI IO for Ruby
Stars: ✭ 229 (+1045%)
Mutual labels:  midi, alsa
digitakt-song-mode
Song mode for Elektron Digitakt
Stars: ✭ 29 (+45%)
Mutual labels:  midi
midi-eye
Ruby MIDI input event listener
Stars: ✭ 24 (+20%)
Mutual labels:  midi
CureSynth Whip
Polyphonic MIDI Synthesizer for STM32F7
Stars: ✭ 45 (+125%)
Mutual labels:  midi
esp32 basic synth
ESP32 based simple synthesizer project
Stars: ✭ 134 (+570%)
Mutual labels:  midi
ADLMIDI-Player-Java
Simple MIDI-player for Android based on libADLMIDI library
Stars: ✭ 24 (+20%)
Mutual labels:  midi
Robatim
a hard-coded music generator
Stars: ✭ 29 (+45%)
Mutual labels:  midi
Raspberry-MIDI-Controller
A python script that sends MIDI signals from the Raspberry (client) to a Computer (host)
Stars: ✭ 44 (+120%)
Mutual labels:  midi
mpe-player
Browser Based Audio Oscillators using MPE devices & MPE.js
Stars: ✭ 16 (-20%)
Mutual labels:  midi
synthrs
Toy audio synthesizer library in Rust with basic MIDI support.
Stars: ✭ 73 (+265%)
Mutual labels:  midi
ofxOscMidi
Midi in, OSC out with Midi thru. Based on openFrameworks
Stars: ✭ 66 (+230%)
Mutual labels:  midi
HitNotes
Rhythm-based mobile game
Stars: ✭ 24 (+20%)
Mutual labels:  midi
models
Programmatically control Elektron's model:cycles & model:samples via midi using Go.
Stars: ✭ 26 (+30%)
Mutual labels:  midi
Kazedan
A Synthesia styled MIDI visualization.
Stars: ✭ 18 (-10%)
Mutual labels:  midi
funcd
Daemon for functional keys (works without X11)
Stars: ✭ 14 (-30%)
Mutual labels:  alsa
midibus.js
🚌💨🎶 Web MIDI API wrapper based on themidibus
Stars: ✭ 24 (+20%)
Mutual labels:  midi

alsa-midi-latency-test

alsa-midi-latency-test measures the roundtrip time of a MIDI message in the alsa subsystem of the Linux kernel using a high precision timer. It calculates the worst case roundtrip time of all sent MIDI messages and displays a histogram of the roundtrip time jitter:

alsa-midi-latency-test

Install from source code

git clone https://github.com/koppi/alsa-midi-latency-test.git
cd alsa-midi-latency-test/

The following packages are required to build alsa-midi-latency-test:

sudo apt -y install debhelper autotools-dev automake libasound2-dev

Compile alsa-midi-latency-test as follows:

sh autogen.sh
./configure
make

Install alsa-midi-latency-test as follows:

sudo make install

or build and install an Ubuntu / Debian package:

sudo apt -y install devscripts
debuild -uc -us
sudo dpkg -i ../alsa-midi-latency-test*.deb
sudo apt -f install # for linux-sound-base package

– Tested on Ubuntu 22.04 .github/workflows/ubuntu.yml

Run alsa-midi-latency-test

  • $ alsa-midi-latency-test -l

    Lists available MIDI input and output ports.

  • $ alsa-midi-latency-test -i [input port] -o [output port]

    This runs the benchmark with the given input and output port. Note, that the input and output ports have to be connected using a MIDI cable in the real hardware to loop the MIDI message back.

  • $ man alsa-midi-latency-test

    The man page contains documentation for all available command line switches.

Benchmark Results

Please share your results in the Wiki.

Definitions

See also

Thanks

  • to Arnout Engelen - raboof for initial testing and giving feedback.
  • to Clemens Ladisch - cladisch for a number of fixes with the high precision timer and alsa midi event handling.
  • to Giulio Moro - giuliomoro for code cleanup and various fixes and support for UART I/O.

BUGS and AUTHORS

Please report bugs to the authors.

-- November, 2009, last updated Mai 2022.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].