How do I make the reference to a fluid soundfont file relative instead of absolute?

I’d like to be able to seamlessly share ardour sessions with others but hitting a snag: MIDI tracks Fluid plugin’s soundfont file reference is absolute.


This means that when someone else opens the session I created, the SF2 file location will be broken. Is it possible to make that reference “$HOME/Desktop/FluidR3_GM.sf2” instead (or some such workaround)?

Assuming you’re using a-fluidsynth or a LV2 plugin, the file is referenced from the externals/ directory in the session folder.

You could manually change the symlink there or even just copy the file there, replacing the symlink.

Edit: try

cd /path/to/your/session/externals
rm FluidR3_GM.sf2
cp /home/myusername/…/FluidR3_GM.sf2 .

I don’t think you can create symbolic links that dynamically expand $HOME or ~.

Thanks for the reply.

Unfortunately replacing the symlink with the entire file would mean putting a 148 MB file in every single session folder which would make the sessions too big for, say, email or github and is generally wasteful.

As for symlinks… yeah I don’t think they dynamically expand.

My temporary workaround is forcing sharees to use /home/FluidR3_GM.sf2 and making that the standard.

Edit: let me know if you have any other ideas.

nice workaround, but I suggest to prefer /home/shared/FluidR3_GM.sf2 or /home/data/FluidR3_GM.sf2 and not directly below /home

PS. on debian the file is also found in /usr/share/sounds/sf2/

Prolly right. Thanks.