A midi player for playing backing tracks while practicing.
See Releases for experimental builds. Download one for your operating system, unzip it and:
- On macOS: Run
image/bin/midi-tuutti
- On Linux: Run
image/bin/midi-tuutti
- On Windows: Run
image/bin/midi-tuutti.bat
For developers: see build and run instructions below.
- Mixer (controls note velocities instead of channel volume)
- For each mixer track, show instruments in a tooltip
- Click track that can be muted in the mixer
- Tempo multiplier (adjust song tempo by a multiplier)
- Constant tempo (override song's tempo)
- Jump to next/prev measure
- Remember latest program (instrument) changes, pan, pitch and other channel specific adjustments at the beginning of each measure. Meaning: even if you skip measures, these adjustments are not skipped.
- Repeat infinitely
- Keyboard shortcuts
- A bit unreliable playback
- Play/stop -
space
- Prev/next measure -
left
/right
- First measure -
home
- Tempo adjustment or fixed tempo up/down -
up
/down
- Switch tempo mode -
ctrl + space
- Switch between player and mixer:
tab
- Mixer controls:
- Tracks 1-10 -
1
/Q
to0
/P
- Tracks 11-16 + click -
A
/Z
toJ
/M
- Example for track 1:
- volume up -
1
- volume down -
Q
- toggle solo -
shift + 1
- toggle mute -
shift + Q
- volume up -
- Tracks 1-10 -
- Full screen -
f11
- Open file -
ctrl + o
Currently only the default Java Runtime midi device is supported. You can get
better sounds by copying a sound bank to $JAVA_HOME/jre/lib/audio
. See
Java Sound API: Soundbanks for details.
- Remember last n files
- Select click sounds
- Play click for one/two measures before playback
- Skip empty measures (ones without any notes) at the beginning of a song
Requires Java 11 (OpenJDK works), uses Kotlin, TornadoFX and java-midi-decoder.
Start with: ./gradlew run
.
Enable engine trace logging with: -Dmidituutti.engine.trace=true
TornadoFX layout debugger: ctrl+shift+d
Build a jar with: ./gradlew build
You need to have JDK 11 and OpenJFX installed. Run with:
# Example for Ubuntu 18.04
java \
--module-path /usr/share/openjfx/lib \
--add-modules=javafx.base,javafx.controls,javafx.graphics \
-jar ./build/libs/midi-tuutti.jar