Jump to content

Crispy Doom; Trying to use Fluidsynth/Soundfont on Catalina


jordie

Recommended Posts

Hey all,

 

Just got to playing with Crispy Doom and it's a lot of fun! Downloaded the latest update via Homebrew along with Fluidsynth. Saw there was an option to select a custom soundfont within setup; directed towards the sf I wanted but it seems to fall back to macos' native midi.  (Trying to use a SC-55 Soundfont for context)

 

Downloaded qsynth to see if I could get any further (in contrast to just using the terminal) but the same error comes up when trying to load a midi file (DOOM II's title screen is my test track). 

 

This error appears:

fluidsynth: error: fluid_is_soundfont(): expected RIFF chunk id '0x46464952' but got '0x6468544D'.

 

I've tested it with different soundfonts to see if it was corrupt but it brings up the same error. 

 

Also went into the route of setting "export SDL_SOUNDFONTS=/path/to/soundfont" to no avail. 

 

Would appreciate any help or info towards having this resolved. 

Share this post


Link to post

Which Homebrew formula did you use? fluid-synth or fluid-synth@2.1?

 

This might be related. It seems to occur because fluidsynth is treating the midi as though it were a soundfont file?

 

Crispy passes all music through sdl-mixer which in turns uses the fluidsynth API. Have you tried invoking fluidsynth directly from the command line? Curious if that also shows the error.

Edited by mikeday

Share this post


Link to post
42 minutes ago, mikeday said:

Which Homebrew formula did you use? fluid-synth or fluid-synth@2.1?

 

This might be related. It seems to occur because fluidsynth is treating the midi as though it were a soundfont file?

 

Crispy passes all music through sdl-mixer which in turns uses the fluidsynth API. Have you tried invoking fluidsynth directly from the command line? Curious if that also shows the error.

 

Hey, thanks on taking a look into this and working with me. Really appreciated.

 

I downloaded fluid-synth (I wasn't sure about the @2.1 build so I forgoed downloading that).

 

When trying fluid from the command line with this:

fluidsynth -i /usr/local/share/fluid-synth/FluidR3_GM.sf2 ~/Doom2Midi/DM2TTL.MID

This works perfectly fine! Hear the midi output and sound as it should.

 

In testing out Patch93's SC-55 and Trevor's SC-55 fonts, there were no errors as well

 

So I now sit confused on how to enable the feature within Crispy. 

Share this post


Link to post

My best guess at this point is that your sdl2-mixer package was built without fluidsynth support. Maybe you installed it before you installed fluidsynth. I am no homebrew ace but I think that

brew uninstall sdl2_mixer

followed by

brew install sdl2_mixer

might do the trick here.

Share this post


Link to post
1 hour ago, mikeday said:

My best guess at this point is that your sdl2-mixer package was built without fluidsynth support. Maybe you installed it before you installed fluidsynth. I am no homebrew ace but I think that


brew uninstall sdl2_mixer

followed by


brew install sdl2_mixer

might do the trick here.

Thought it did the trick but ended up screwing up the midi playback (strings and other such sounds aren't playing back at the start of Doom II).

 

Might just try and brave Timidity and learn how to setup a config file towards a soundfont, albeit past attempts have been futile. 

 

I really appreciate the tips though!

Edited by jordie

Share this post


Link to post

Sorry I couldn't get it going for you. If you feel like messing with it again, I would brew uninstall fluidsynth and sdl2_mixer, and then capture the output from brew install -v <package> for each (again installing fluidsynth first). You can share that output here (use the "spoiler" function to hide the text) and maybe that'll give me or somebody else a clue as to what might be going on.

 

EDIT: Forgot to mention, try uninstalling and reinstalling crispy-doom as well.

Edited by mikeday

Share this post


Link to post

I just got it working on Mojave. As suspected, homebrew is not enabling fluidsynth support in their build of sdl2_mixer. To enable it, you will need to modify the formula yourself. First make sure the homebrew fluidsynth is installed and then run:

brew edit sdl2_mixer

Change "--disable-music-midi-fluidsynth" to "--enable-music-midi-fluidsynth" in the list of args in the .rb file that opens. (Line 61 at the time of this post.) Save and close, and then run:

brew reinstall -s sdl2_mixer

The -s flag will cause homebrew to build from source. After it's done, everything should work as expected. (No need to reinstall crispy-doom) It works flawlessly even on my old Macbook Air.

Edited by mikeday

Share this post


Link to post
1 hour ago, mikeday said:

I just got it working on Mojave. As suspected, homebrew is not enabling fluidsynth support in their build of sdl2_mixer. To enable it, you will need to modify the formula yourself. First make sure the homebrew fluidsynth is installed and then run:


brew edit sdl2_mixer

Change "--disable-music-midi-fluidsynth" to "--enable-music-midi-fluidsynth" in the list of args in the .rb file that opens. (Line 61 at the time of this post.) Save and close, and then run:


brew reinstall -s sdl2_mixer

The -s flag will cause homebrew to build from source. After it's done, everything should work as expected. (No need to reinstall crispy-doom) It works flawlessly even on my old Macbook Air.

 

The former issue seemed to be something to due with Timidity (with the strings not showing up and whatnot—don't think it had to do with any of the reinstalled, my apologies on that.)

 

But, yes! This fixed the issues and tested with several soundfonts! Thank you for the help of going through this, was pulling hairs last night when trying again. 

 

Now to get this working in Chocolate Doom!

Edited by jordie

Share this post


Link to post
7 hours ago, jordie said:

 

The former issue seemed to be something to due with Timidity (with the strings not showing up and whatnot—don't think it had to do with any of the reinstalled, my apologies on that.)

 

But, yes! This fixed the issues and tested with several soundfonts! Thank you for the help of going through this, was pulling hairs last night when trying again. 

 

Now to get this working in Chocolate Doom! 

It should work exactly the same as Crispy, provided you pass the "--HEAD" option to brew install for Chocolate Doom so you get the latest and greatest. The current official release (3.0.1) is fine, but there have been *a lot* of improvements since then.

Share this post


Link to post
18 hours ago, mikeday said:

It should work exactly the same as Crispy, provided you pass the "--HEAD" option to brew install for Chocolate Doom so you get the latest and greatest. The current official release (3.0.1) is fine, but there have been *a lot* of improvements since then.

Will try this out!

 

Have seen suggestions to try: (this is for the already pre-built application–3.0.0)

SDL_SOUNDFONT=(path to soundfont)

Within terminal but that doesn’t seem to do much. 
 

Will try a build after this weekend when I’m home. (Hoping I can also build the launcher too)

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...