| Readme: | FluidSynth Library 2.6.1 Package for version 3.20 or higher of MorphOS system. ******************************************************************************
FLUIDSYNTH.LIBRARY 2.601 18.10.2026 based on FLUIDSYNTH 2.6.1
Library version = FluidSynth version: VERSION = major, REVISION = minor * 100 + micro (FluidSynth 2.6.1 -> 2.601).
FluidSynth **********
What is it? FluidSynth is a real-time software synthesizer based on the SoundFont 2 specifications. It renders MIDI events and MIDI files with the instruments of a SoundFont. It is used by many games, ports and music programs, and by sdl3_mixer.library for its MIDI music.
FluidSynth is distributed under the GNU Lesser General Public License version 2.1 (extras/LICENSE.txt).
https://www.fluidsynth.org/ https://github.com/FluidSynth/fluidsynth
Installation: *************
MorphOS version 3.20 is required to be installed as a minimum. Developer: You need new SDK 3.20!!
Just double-click on the Install icon and read the incremental instructions.
The GeneralUser GS SoundFont (S. Christian Collins) can be installed in LIBS:soundfonts/GeneralUser GS v1.471.sf2: it is the same file as the one of the SDL3 libraries package.
FluidSynth MorphOS Features: ****************************
- Shared library: each program opening fluidsynth.library gets its own data (synths, settings, SoundFonts) - FluidSynth 2.6.1: synth, settings, SoundFont 2 loader, MIDI file player, sequencer, MIDI router, shell commands, file renderer, the reverb engines of FluidSynth 2.6 (FDN, Freeverb, Lexicon, Dattorro), fluid_synth_write_s24() and fluid_synth_write_s32() - No audio or MIDI driver: the program renders the sound itself (fluid_synth_write_float(), fluid_synth_write_s16(), fluid_synth_process()...) and plays it where it wants (SDL audio callback, AHI...) - Optimized for PowerPC (G3, G4, G5, QorIQ e5500), with the same sound as FluidSynth (bit for bit, or within the last bit of the floating point numbers): - no integer to float conversion through the memory in the sample interpolation and in the voice mixing - voice filter coefficients only recomputed when needed (no software square root at every sample) - shorter chains of dependent floating point operations in the voice filter and the interpolation On a Mirari (QorIQ T1042, e5500 1.4 GHz), a MIDI file needs about 31% of the CPU instead of 47.5%.
FluidSynth MorphOS specific and limitation: *******************************************
- No audio/MIDI driver: new_fluid_audio_driver() and new_fluid_midi_driver() return NULL - No SF3 (compressed SoundFont) and no WAV/FLAC output in the file renderer (raw PCM only): no libsndfile - No LADSPA, no network server (fluid_server), no DLS, no Signalsmith reverb and output limiter - synth.interpolation: 4 (4th order, the default) is the fast one. 5, 6 and 7 are 11, 17 and 25 point sinc filters since FluidSynth 2.6 (7 was the 7th order): their coefficients are computed for every sample, much slower on PowerPC
For developers (MorphOS specific): - Memory returned by the library (fluid_settings_dupstr(), ...) is freed with fluid_free(). What a program leaves allocated is freed when it closes the library. - Delete the players and sequencers using the system timer before closing the library. - fluid_log() is variadic: it is in the glue library (it calls fluid_mos_vlog() of the library).
Developers: ***********
#include <fluidsynth.h> as usual and link with -lfluidsynth_glue: the glue library opens fluidsynth.library 2.601 or newer (a requester tells it when it is missing). #include <proto/fluidsynth.h> uses inline calls. -mresident32 code uses libb32/libfluidsynth_glue.a; libb32/libfluidsynth_glue-nc.a opens nothing (FluidSynthBase set by hand). pkg-config: fluidsynth (-lfluidsynth_glue). fd/clib/proto/ppcinline headers are included. The glue libraries are named _glue so they don't replace a static libfluidsynth*.a already installed.
Extras: *******
fsplay: plays MIDI files through sdl3.library (fsplay <soundfont.sf2> <file.mid> [...] [GAIN=0.6] [LOOP]) fsplayahi: plays MIDI files through ahi.device, without SDL (fsplayahi <soundfont.sf2> <file.mid> [...] [GAIN=0.6] [LOOP] [UNIT=0]) src: sources of fsplay and fsplayahi, examples of programs using fluidsynth.library
NOTES: ******
Thanks to the FluidSynth team (Tom Moebert and all the contributors). Thanks to S. Christian Collins for the GeneralUser GS SoundFont. Thanks to all members of MorphOS Teams for their patience with me and their indispensable help. Thanks to all testers and developers (for libs and contributes)
Feel free to contribute.
BeWorld
BeWorld @ sfr . fr
|
18:10