CL-MeltySynth v2.1.0 and midi123 v1.3.0 are now released!
- A 64-bit AppImage for Linux of midi123 can be downloaded here.
- For source code, clone this Fossil repository and checkout v2.1.0
fossil clone https://chiselapp.com/user/MistressRemilia/repository/CL-MeltySynth/ && cd CL-MeltySynth && fossil checkout v2.1.0
Notable library changes in v2.1.0:
- RIFF-based MIDI File Support: Also known as .rmi files, these are basically MIDI files wrapped in a special container. Some .rmi files also contain instrument samples, but CL-MeltySynth only loads the MIDI data.
- Added SYNTH-ACTIVE-CHANNELS: This allows you to query which channels currently have active note-on/note-off messages. This is a bit rudimentary at the moment, but it works well enough for basic display information.
Notable changes to midi123 in v1.3.0:
- New Defaults: The default interpolation mode is now cubic spline. Also, looping is now disabled by default and can be enabled with
--loop
. - Multiple MIDI Files: Multiple MIDIs can now be specified on the command line and will be played one after the other automatically if looping is not enabled. Or, when rendering, they will be rendered to WAV files with the same filename as the MIDI (e.g.
foo.mid
->foo.wav
). - Volume Control: The new
--volume
argument controls the main output volume of the synthesizer. This is especially important for certain combinations of songs and SoundFonts (for example, Descent 2 Mission 2's song paired with the WinGroove SoundFont v1.2). - More Information: More information is displayed regarding the SoundFont and MIDI file, including the length of the MIDI and the remaining play time.
- Reverb/Instrument Tails: When a song finishes, and midi123 is not looping, the reverb and instrument "tails" will now be played instead of immediately cutting off.
New Examples!
- Stalker from Duke Nukem 3D, written by Lee Jackson
- At Doom's Gate from Doom, written by Bobby Prince
- God Rest Ye, Deadly Gentlemen from Rise of The Triad, written by Lee Jackson
Other stuff:
- This will be the last release of CL-MeltySynth to include midi123. After this, midi123 will be split off into its own project. The repo will continue to contain the download for v1.3.0, and of course the code up to this point, but future code and downloads will be in its own repo. A new technical note will announce when this happens.
- SBCL is now the only supported Common Lisp implementation for building CL-MeltySynth and midi123. Others might work, but they will not be supported. You'll have to modify the .asd files, and the source code, for a few things to work.
- Building from source? Be sure to update CL-SDM to the latest release first. v0.99.4 is now required.