Skip to content
Choose a tag to compare
  • ALSA and WinMIDI drivers now pass system real-time messages on to user callback (#1115, thanks to @albedozero)
  • Fix FPU division by zero in fluid_player_set_tempo() (#1111)
  • Fix system-wide config file not loaded (#1118)
  • Pluseaudio driver now honors audio.periods setting (#1127, thanks to @pedrolcl)
Choose a tag to compare
  • Fix file driver not working correctly on Windows (#1076)
  • Add a function to create a sequencer event from a midi event (#1078, thanks to @jimhen3ry)
  • Precompiled x86 binaries are now x87-FPU compatible (#1079)
  • Fix fluidsynth not responding to SIGINT and SIGTERM when using recent SDL2 (#1071, thanks to @mawe42)
Choose a tag to compare
  • Undeprecation and minor revisal of the OSS driver (#1038)
  • Minor improvements to CoreAudio and CoreMidi drivers (#1047, thanks to @bradhowes)
  • Fix sustained voices being held after ALL_CTRL_OFF (#1049)
  • Fix clobbering of PORTAMENTO_CTRL after ALL_CRTL_OFF (#1050)
  • Prevent Modulation Envelope from being stuck in decay phase, causing detuned voices and potentially other audible glitches for some soundfonts (#1059)
  • Fix a compilation issue with recent glib (#1063, thanks to @devingryu)
Choose a tag to compare
  • Fix a build failure with CMake < 3.12 (#1003, thanks to @komh)
  • OSS and MidiShare drivers are now deprecated (#1010)
  • Prevent samples accidentally having their loops disabled (#1017)
  • Fix framework installation on MacOS (#1029, thanks to @pedrolcl)

Pls. note that fluidsynth 2.3.0 will require CMake >= 3.13

Choose a tag to compare
  • Per-channel ALL_SOUND_OFF when seeking/stopping player (#980, thanks to @albedozero)
  • Fix windows related encoding problems (#984, thanks to @tsingakbar)
  • Rewind playlist when calling fluid_player_play after all loops are complete (#994, thanks to @albedozero)
  • Fix MinGW related static linking issues (#990, thanks to @realnc)
Choose a tag to compare
  • FluidSynth did not build on macOS 10.5 and earlier (#946, thanks to @evanmiller)
  • Fix build with CMake <3.7 (#944, thanks to @komh)
  • Fix a NULL dereference in delete_fluid_ladspa_effect() (#963)
Choose a tag to compare
  • The MIDI router now handles out-of-range parameters in a smarter manner (#891, thanks to @jjceresa)
  • Keep pedaling effective when the same note is played more than once (#905, thanks to @jjceresa)
  • Select soundfont samples by frequency instead of midi note numbers (#926, thanks to @Naturseptime)
  • Fix the sequencer's event ordering for NoteOn vel=0 events (#907)
  • libfluidsynth's import library was broken for MinGW builds (#874)
  • fluidsynth.exe short option -Q not working (#915, thanks to @pedrolcl)
  • Precompiled Android binaries didn't work (#894, #897)
  • Fix openMP detection for XCode 12.5 (#917)
  • Make audio.jack.autoconnect connect all available ports (#920)
  • Prevent MIDI Player from continuously suppressing notes (#935, thanks to @albedozero)
  • fluidsynth.pc now includes private libraries for static linking (#904)
  • Fix typos in code and documentation (#939, thanks to @luzpaz)
Choose a tag to compare
  • Make ALSA the default driver on Linux (#878)
  • Coreaudio driver failed to initialize on MacOS 11 (#803, thanks to @ringoz)
  • WaveOut driver failed to initialize (#873, thanks to @carlo-bramini)
  • COM initialization in WASAPI driver is no longer performed in the caller's context (#839, thanks to @pedrolcl)
  • WASPI driver now supports reverb and chorus (#836, thanks to @chirs241097)
  • Handle SysEx GM/GM2 mode on, GS reset, and XG reset (#877, thanks to @kode54)
  • Old behaviour of fluid_player_join has been restored to prevent infinite loop in client code (#872)
  • The Soundfont loader code has been refactored, illegal generators will now be skipped more consequently (#823, thanks to @mawe42)
Choose a tag to compare

Coreaudio driver failed to initialize on MacOS 11 (#803, backport from 2.2.1)

Choose a tag to compare

This release breaks ABI compatibility! Refer to the API docs for details.

A C++98 compliant compiler is now required to build fluidsynth (mailing list thread)

Pre-built binaries are provided for WindowsXP, Windows10 and Android API Level >=30 .

New features

  • Support loading SoundFonts >2GiB on Windows (#629)
  • Major overhaul of the sequencer and its event queue (#604)
    • Overlapping notes can be handled (#637)
    • 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
  • The WinMIDI driver supports multiple devices (#677, thanks to @jjceresa)
  • Handle GS DT1 SysEx messages for setting whether a channel is used for rhythm part (#708, thanks to @chirs241097)
  • Support use of UTF-8 filenames under Windows (#718, thanks to @getraid-gg)
  • Improved support for overriding tempo of the MIDI player (#711, #713, thanks to @jjceresa)
  • Handle settings-related commands in user command file before initializing other objects (#739)
  • 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 (#754, thanks to @chirs241097)


  • Fix race condition in fluid_player_callback (#783, thanks to @arcln)
  • Improvements to LADSPA subsystem (#795, thanks to @mawe42)