note: this is a draft. there are a couple of screenshot missing.
After seeing that in OS X it's possible to use SimpleSynth, I got curious and wanted to know if the same was possibly in GNU/Linux, turns up: Yes, it's very possible; no more LMMS
to play melodies (great piece of software but beats the purpose of coding music).
In a Debian based distro, the packages needed are:
qjackctl
orpatchage
oraconnect
(qjackctl
andpatchage
are graphical tools but the three of them are good for the job)vmpk
qsynth
fluidsynth
fluid-soundfont-gm
First things first: vmpk
is a "Virtual MIDI Piano Keyboard" which we will use to play hooked to qsynth
which is a graphical interface for fluidsynth
which allows us to play instruments using SoundFonts (we'll use fluid-soundfont-gm
for that) by sending MIDI notes. Now, to set up Tidal to work with these applications.
The changes needed for tidal.el
are pretty similar as if we're using any other synthesizer. In this config, I'm going to set up three instruments, one on each channel:
(tidal-send-string "import Sound.Tidal.MIDI.Output")
(tidal-send-string "import Sound.Tidal.MIDI.Control")
(tidal-send-string "import Sound.Tidal.SimpleSynth")
(tidal-send-string "[m1,m2,m3] <- (midiproxy 1 \"Midi Through Port-0\" [(keys, 1), (keys, 2), (keys, 3)] >>= sequence)")
Once we have this in our tidal.el
file, we should set up the rest of the applications.
First, on qsynth
we should config the the audio backend and soundfont to use. In this particular case I'm using pulseaudio
because I didn't wanted to use jackd
, although if you want to do some real work jackd
is the best option.
Notice that in "MIDI Client ID Name" the correct value (again, for pulseaudio
) is the engine's name.
Audio driver is pulseaudio
. If your computer is oldie, try lowering the value in "Polyphony", 64 or 48 should be more than enough.
Then select the SF2 to use; in this case Fluid_R3
.
Then on vmpk
we select the MIDI channel (in this screenshot I'm using channel 4 because of my configs, but you should get the idea).
Well, now to connect all:
I prefer qjackctl
but again, it's possible to use patchage
or even aconnect
.
Since we configured tidal-midi
to go through Midi Through Port-0
we must connect VMPK Input
and FLUID Synth (Qsynth1)
to the readeable Midi Through
and VMPK Output
to the writeable Midi Through
. Just like in the screenshot.
That's it. We're ready to play!