For those on a Linux distro (never could get Directmusic working for me in WINE) there's
fluidsynth and it has a GUI front-end called
qsynth. i would expect most package managers to have these. Arch has them on pacman and according to the wiki ubuntu and its forks have it as well on apt.
No need to have a GUI open for MIDI support. Fluidsynth is a command line application and as such can be run in the background.
Here is the command I run:
Code:
fluidsynth -a pulseaudio -m alsa_seq -i -C off -R off -g 0.3 -s /usr/share/soundfonts/FluidR3_GM.sf2 &> /dev/null &
A breakdown of the options and arguments I use:
-a, audio driver (you can use pulseaudio or alsa here. I prefer pulse whenever possible as alsa can hog the sound card)
-m, midi driver
-i, suppresses the fluidsynth shell
-C, chorus (personal preference to: off)
-R, reverb (personal preference once again)
-g, gain (0 - 5 x.1 float, defaults to 0.2)
-s, server mode (doesn't seem to run its own service, just keeps it running if the fluidsynth shell is closed)
/usr/share/soundfonts/FluidR3_GM.sf2, replace this with your preferred soundfont.
&> /dev/null suppresses all output
& runs it as a background process (note, if you close the terminal window it will terminate all BG processes associated with that session)
You can place it in a shell script that you may already be using to start the Titanium client or if you use Lutris you can have it start a script with that command. Select your EQ installation in Lutris, go to
options, under the
system options tab there's a field for
pre-launch script.
I tried to run this as a Systemd service, but I'm having issues getting pulse and alsa to agree running fluidsynth as root. You can try it with a
Type=simple service file and load it on command with
systemd start fluidsynth. However I would expect more issues trying to get this to run automatically at boot since audio tends to start with the user login and doesn't like switching users, even to root. But for me the background process works nicely.