Blockestra
Blockestra is a client-side Fabric mod for Minecraft 1.21 that reads Standard MIDI Files and plays their pitched notes with the vanilla note-block piano sound.
Requirements
- Minecraft 1.21
- Fabric Loader 0.19.3 or newer
- Fabric API
- Java 21
Usage
After launching the client, run:
/blockestra play "C:\Music\example.mid"
/blockestra stop
/blockestra volume
/blockestra volume 250
/blockestra volume 37.5
/blockestra volume reload
Run volume without an argument to show the current volume. Any non-negative
percentage is applied immediately and saved to config/blockestra.json in the
Fabric configuration directory. You can also edit that file and run
/blockestra volume reload. The default volume is 100.
The loader uses the JDK MIDI parser and supports .mid and .midi Type 0/1
files. It reads tempo changes, PPQ or SMPTE timing, note velocity, channel volume,
expression, and overlapping notes. Up to eight simultaneous notes are played in
one client tick, with a shared power limit so dense chords do not become
excessively loud.
Every pitched MIDI channel uses BLOCK_NOTE_BLOCK_HARP; Program Change events
do not change the output sound. The General MIDI percussion channel (channel 10)
is skipped because its note numbers represent drum types rather than musical
pitches. MIDI Type 2 contains independent songs per track and is rejected instead
of incorrectly mixing them together.
MP3 and WAV input is no longer supported.