FluidSynth 2.3.4

FluidSynth is a real-time software synthesizer based on the SoundFont 2 specifications and has reached widespread distribution. FluidSynth itself does not have a graphical user interface, but due to its powerful API several applications utilize it and it has even found its way onto embedded systems and is used in some mobile apps. Features Cross platform support (Linux, macOS and Windows to name a few) SoundFont 2 support SoundFont 3 support (vorbis-compressed SF2) Realtime effect control using SoundFont 2.01 modulators Playback of MIDI files Shared library which can be used in other programs Built in command line shell

Tags sound-synthesis mixers
License GNU LGPLv3
State stable

Recent Releases

2.3.412 Oct 2023 10:13 minor bugfix: Fix a build failure when specifying CMAKE_INSTALL_LIBDIR as an absolute path (#1261, thanks to @OPNA2608) Fix some MIDI files never finish playing (#1257, thanks to @joanbm) Implement IPv6 to IPv4 fallback (#1208, thanks to @ivan-zaera) Fix a build failure when using CMake's Xcode generator (#1266, thanks to @bradhowes) Fix pipewire's Jack implementation not found by CMake (#1268, thanks to @pedrolcl) Fix a regression causing the MIDI Player to terminate prematurely (#1272, thanks to @albedozero)
2.3.320 Jul 2023 22:44 minor bugfix: Fix choppy sound when selecting pipewire output (#1230, thanks to @nilninull) Fix build issues on musl-based distros (#1229) Terminate MIDI player once internal synth-ticks overflow to prevent filling up the filesystem (#1233) Fix a bug that allowed playing notes outside of key and velocity ranges (#1250)
2.3.021 Sep 2022 03:15 minor feature: Add linear interpolation to convex and concave transfer functions Co-authored-by: md1872b lt;72792887+md1872b@users.noreply.github.com gt;.
2.2.312 Sep 2021 11:25 minor feature: FluidSynth did not build on macOS 10.5 and earlier. Build with CMake
2.2.213 Jul 2021 03:15 minor feature: The MIDI router now handles out-of-range parameters in a smarter manner. Keep pedaling effective when the same note is played more than once. Select soundfont samples by frequency instead of midi note numbers. The sequencer's event ordering for NoteOn vel=0 events. Libfluidsynth's import library was broken for MinGW builds. Fluidsynth.exe short option -Q not working. Precompiled Android binaries didn't work (#894, #897). OpenMP detection for XCode 12.5. Make audio.jack.autoconnect connect all available ports. Prevent MIDI Player from continuously suppressing notes. Fluidsynth.pc now includes private libraries for static linking. Typos in code and documentation.
2.2.109 May 2021 17:25 minor feature: Make ALSA the default driver on Linux. Coreaudio driver failed to initialize on MacOS 11. WaveOut driver failed to initialize. COM initialization in WASAPI driver is no longer performed in the caller's context. WASPI driver now supports reverb and chorus. Handle SysEx GM/GM2 mode on, GS reset, and XG reset. Old behaviour of fluid_player_join has been restored to prevent infinite loop in client code. The Soundfont loader code has been refactored, illegal generators will now be skipped more consequently.
2.2.003 Apr 2021 03:16 minor feature: Support loading SoundFonts 2GiB on Windows. Major overhaul of the sequencer and its event queue Overlapping notes can be handled Performance improvement, since the event queue no longer blocks the rendering thread Time scale is not limited to 1000 anymore and can therefore be used for tempo changes . Overlapping notes can be handled. Performance improvement, since the event queue no longer blocks the rendering thread. Time scale is not limited to 1000 anymore and can therefore be used for tempo changes. The following audio drivers have gained multi-channel support DSound WaveOut . DSound. WaveOut. The WinMIDI driver supports multiple devices. Handle GS DT1 SysEx messages for setting whether a channel is used for rhythm part. Support use of UTF-8 filenames under Windows. Improved support for overriding tempo of the MIDI player. Handle settings-related commands in user command file before initializing other objects. SoundFont loading has been parallelized (#746, #812, requires openMP). The Oboe driver has gained a lower latency and other updates (#740, #741, #747). WASAPI driver has been added. race condition in fluid_player_callback. Improvements to LADSPA subsystem.
2.2.0.rc119 Mar 2021 03:16 minor feature: Rapidly changing channel panning could have caused audible artifacts. Affects all versions back to at least 1.1.2. a use-after-free when loading malformed soundfonts. Affects all versions back to at least 1.1.2. The number of allowed LADSPA effect units has been increased.
2.1.816 Mar 2021 03:15 minor feature: Rapidly changing channel panning could have caused audible artifacts. Affects all versions back to at least 1.1.2. a use-after-free when loading malformed soundfonts. Affects all versions back to at least 1.1.2. The number of allowed LADSPA effect units has been increased.
2.2.0.beta109 Feb 2021 03:16 minor feature: a regression introduced in 2.1.0 prevented chorus from being audible when fluid_synth_process() was used. a regression introduced in 2.0.6 prevented the MIDI player from restarting playback after all files have been played. a double-free violation introduced in 2.0.0 after executing the info shell command.
2.1.730 Jan 2021 11:25 minor feature: a regression introduced in 2.1.0 prevented chorus from being audible when fluid_synth_process() was used. a regression introduced in 2.0.6 prevented the MIDI player from restarting playback after all files have been played. a double-free violation introduced in 2.0.0 after executing the info shell command.
2.1.604 Jan 2021 03:25 minor feature: Polyphony is ever exceeded, or. Voices are still playing while their SoundFont is being unloaded. a heap-based use-after-free.
2.1.414 Jul 2020 10:05 minor feature: an uninitialized memory access possibly triggering an FPE trap. Several regressions introduced in 2.1.3: Fluid_synth_start() failed for certain presets a NULL dereference in jack driver a stack-based overflow when creating the synth . Fluid_synth_start() failed for certain presets. a NULL dereference in jack driver. a stack-based overflow when creating the synth.
2.1.327 May 2020 13:05 minor feature: a cross-compilation failure from Win32 to WinARM. While fluid_player is seeking (#634, #646). a NULL pointer dereference if synth.dynamic-sample-loading is enabled. a NULL pointer dereference in delete_rvoice_mixer_threads(). a NULL pointer dereference in the soundfont loader. Dsound driver playing garbage when terminating fluidsynth. Avoid memory leaks when using libinstpatch.
2.1.207 Apr 2020 03:15 minor feature: Fluidsynth now exits with error when user-provided command-line arguments are out-of-range. Add verbose error logging to opensles and oboe drivers. a memory leak in oboe driver. a NULL dereference in the fluidsynth commandline program.
2.1.118 Feb 2020 13:25 minor feature: a regression introduced in 2.1.0 caused the jack audio driver to not correct a sample-rate mismatch. Pkg-config is now being to used to find readline. Various typos in the documentation. a memory leak in the file renderer. Leaking memory when sequencer clients were not explicitly unregistered. a heap-based use-after-free in jack driver. The linker possibly not finding libinstpatch.
2.1.001 Dec 2019 04:05 minor feature: an implicitly declared function caused a pointer to int truncation in CoreAudio driver. a stack-based overflow in CoreAudio driver.
2.0.915 Nov 2019 03:25 minor feature: an implicitly declared function caused a pointer to int truncation in CoreAudio driver. a stack-based overflow in CoreAudio driver.
2.1.0.rc128 Oct 2019 05:45 minor feature: Incorrect behavior of fluid_sample_set_sound_data(). Voices being mixed incorrectly, causing audible crackle esp. at sample-rates 48kHz. Make sure that defining NDEdisables assertions.
2.0.729 Sep 2019 03:15 minor feature: Broken audio output when reverb was active after synth creation. Deconsole messages not being visible for debuilds on Windows.
2.0.625 Sep 2019 21:39 minor bugfix: fix an uninitialized memory access, which could have led to NULL dereference or heap corruption in an out-of-memory situation fix a use-after-free when calling fluid_player_stop() fix the MIDI player not outputting any sound after stopping and restarting the playback (#550)