midi123 is a command line MIDI player and MIDI->WAV converter that uses CL-MeltySynth for its audio engine. It has minimal dependencies and is written entirely in Common Lisp.
Wanna support me? Buy me a coffee on Ko-Fi
- Warcraft 2's "Human 1" by Glenn Stafford (CL-MeltySynth v2.0.0)
- Rise of The Triad's "Spray" by Lee Jackson (CL-MeltySynth v2.0.0)
- Doom E1M1 "At Doom's Gate" by Bobby Prince (CL-MeltySynth v1.0.0)
# Play a MIDI file using a SoundFont, and stop after it finishes. $ midi123 -s TimGM6mb.sf2 "24 - I Choose the Stairs.mid" # Play a MIDI file using a SoundFont, and loop at the end. $ midi123 --loop -s sc-55.sf2 "11 - Goin' Down the Fast Way.mid" # Render multiple MIDI files to WAVs in parallel. $ midi123 --render -s "Arachno SoundFont.sf2" "15 - Spray.mid" "07 - How'd I Do.mid" # Show the help information. $ midi123 --help # Show version information $ midi123 --version
- [x] Supports both MIDI and RMI files
- [x] Multiple MIDIs can be specified and they will play one after the other
- [x] Loop support
- [x] Rendering multiple MIDI files to WAV files in parallel without excess memory usage
- [x] Support for multiple bit depths and sample rates, and both integer and floating point WAVs
- [x] Control over the reverb and chorus effects
Building from Source
Check out the Building page for instructions.
- Remilia Scarlet - creator and maintainer
Links and Licenses
midi123 is under the GNU Affero General Public License version 3.