Skip to content

Experiment with using fluidsynth SDL_Mixer backend on windows (2980) #1511

Open
@GalacticEmperor1

Description

@GalacticEmperor1

Issue №2980 opened by MyreMylar at 2022-01-08 21:02:50

Description

I understand that we may be able to use fluidsynth on some of the other platforms, and I'm hopeful that it might be able to fix some of the problems with the Microsoft GS Software Wavetable Synthesizer from '96 that is the default on windows. There is a recent issue about slow midi startup times and an older issue about being unable to set midi volume separately to other sounds on windows that I suspect are related to the Microsoft synthesizer.

From what I understand it should be possible to build SDL_Mixer on windows with fluidsynth support so long as we have fluidsynth binaries - which are now available from fluidsynth's Github page on new releases:

https://github.com/FluidSynth/fluidsynth/releases/tag/v2.2.4

and a sound font file - such as this one under the MIT license:

https://member.keymusician.com/Member/FluidR3_GM/index.html

plus using Mix_SetSoundFonts() to set the sound font path.

Unfortunately I can't find any good examples on the internet of people who have success going down this path so perhaps it is a blind alley and SDL_mixer and fluidsynth do not actually play nicely on windows.

In my tinkering I've got as far as establishing that fluidsynth via the commandline does work on windows 10 with the soundfont file above testing a midi file (sadly you can't attadch midi files to github issues). I've attached a test midi in a zip just to help out in case anybody else with packaging skills wants to try getting this working.

test_midi.zip


Comments

# # MyreMylar commented at 2022-01-08 21:07:34

Might help with: # 2979 and # 766


# # illume commented at 2022-01-16 17:18:34

I would love to have fluidsynth on windows (and all platforms).

A couple of thoughts...

  • We are building fluidsynth with cmake in our build scripts for manylinux and macos. It is troublesome, and required some hackery.
  • msys2 has packages https://packages.msys2.org/base/mingw-w64-SDL2_mixer and we can build pygame on windows with msys2 now(no msvc ya!). Note, it seems to use arch linux scripts which are often the most up to date, and which the new Steam OS (by Valve and where Sam works) is built on. I feel it might be good to investigate using this. It has patches like the use-after-free one affecting the released version of SDL2_mixer.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions