Short: Soft audio synthetiser for MIDI Uploader: tcheko@no-log.org (Antoine Dubourg) Author: tcheko(at)no-log.org (Antoine Dubourg) Type: mus/play Version: 1.2 Architecture: ppc-morphos >= 3.15 Replace: FrozenLiquid-1.1.lha FrozenLiquid allows MIDI playback without any physical MIDI enabled devices. Audio synthesis is now provided by FluidSynth-Lite instead of FluidLite. The CPU usage has been greatly reduced allowing more complex MIDI songs to be played. It still requires a fast CPU nonetheless. o - Installation & Requirements No installer required. Just copy FrozenLiquid to C: FrozenLiquid relies on CAMD for MIDI processing and Reggae for audio playback. FrozenLiquid also requires what's called a 'soundfont', which is a container for sound samples. Only SF2 version is supported for the time being. A 'fast' CPU is advised: software audio synthesis isn't a cheap operation at all. A serious amount of RAM is also required depending on the soundfont used. o - FrozenLiquid Usage FrozenLiquid File/A FrozenLiquid will try to load the soundfont provided under the File argument. o - Theory of Operation Once the soundfont is successfully loaded, FrozenLiquid will setup two system components: - A CAMD MIDI cluster named against the filename - A custom Reggae class that will feed an audio.output Sending MIDI events to FrozenLiquid MIDI cluster will trigger the FluidLite audio synthesis. Due to the current design, all MIDI events are quantized to AHI audio buffer size which default to 20ms which can be somewhat audible. o - Supported MIDI events Following CAMD MIDI events are currently supported and sent to FluidLite audio synthesis API: - MS_NoteOn - MS_NoteOff - MS_Prog - MS_Ctrl - MS_ChanPress - MS_PitchBend - MS_PolyPress o - Multiple instances Multiple instances of FrozenLiquid can operate simultaneously. That is, loading two different soundfonts will instanciate two CAMD MIDI clusters. o - Usage Example Playing a MIDI song. 1. Setting up FrozenLiquid Sys:> FrozenLiquid myfavoritesoundfont.sf2 2. Playback a MIDI song file with MorphOS PlayMidi command Sys:> PlayMIDI midisong.smf myfavoritesoundfont.sf2 o - Bugs - MIDI quantization Due to the internal design, all MIDI events are quantized to 20ms quantum which is a 'bit' large time slice. o - Future - None at the time being. Ask for feature. o - Acknowledgments My warn thanks to BeWorld for providing port of FluidLite. Those sources are freely available on morphos-storage.net. o - Licences FrozenLiquid makes use of FluidLite which is LGPL. No modifications have been made to the original work. FrozenLiquid is built against a statically linked FluidLite archive.