JJazzlab basic setup

Post fully complete "how to" guides and tutorials here. This is a great place to get feedback on stuff you might put in the wiki.

Moderators: MattKingUSA, khz

Post Reply
asbak
Established Member
Posts: 897
Joined: Thu Sep 11, 2014 3:04 pm
Has thanked: 71 times
Been thanked: 64 times

JJazzlab basic setup

Post by asbak »

Getting jjazzlab set up with jack was frustrating.

There's nothing difficult about it but many possible combinations of settings don't work well so here's what eventually worked for me. The major stumbling blocks were to change the jackd midi driver from raw to seq when using jjazzlab, and to avoid the jjazzlab built-in synthesizer.

# Qjackctl
# Qjackctl - set it to use the Seq MIDI Driver

# Virtual Midi Driver for JJazzlab
# Load / Unload Virtual Midi Driver
sudo modprobe snd-virmidi midi_devs=1

# To remove or check if virmidi is loaded
sudo rmmod snd-virmidi
aconnect -io

# Qsynth / Fluidsynth settings
# Qsynth / Fluidsynth - Download the JJazzlab soundfonts from their website and add this to Qsynth.
# Qsynth / Fluidsynth - Set it to jack MIDI Driver.
# Qsynth / Fluidsynth - Set it to jack Audio Driver.
# Qsynth / Fluidsynth - Connect Qsynth Midi Input to VirMidi Output, Connect Qsynth Audio outputs to System Playback.
# Qsynth / Fluidsynth - Channels (Instruments), you could use MIDI Channel 5 for your MIDI keyboard controller, select a suitable keyboard sound, save Qsynth preset as jjazzlab or whatever.
# JJazzlab usually uses MIDI channels 9 and higher for the accompanying instruments.

# JJazzlab Settings
# JJazzlab - The internal synth engine seems to play erratically on my computer so I avoid it and rather use Qsynth / Fluidsynth with the configuration described above.
# JJazzlab - Configure MIDI output to VIrmidi, which will connect to Fluidsynth. Click Tools, Options, Select VirMidi hw1.0.0
# JJazzlab can import Band In A Box songs, styles etc.
Some Focal / 20.04 audio packages and resources https://midistudio.groups.io/g/linuxaudio
asbak
Established Member
Posts: 897
Joined: Thu Sep 11, 2014 3:04 pm
Has thanked: 71 times
Been thanked: 64 times

Re: JJazzlab basic setup

Post by asbak »

Many of the soundfonts react to aftertouch or "channel pressure" which is particularly ridiculous with piano and epiano sounds. Play a chord, vary pressure on the keys and you get a warbling sound.

There are a couple of ways to get rid of this unwanted behaviour. If the MIDI controller supports it one could disable aftertouch. Alternatively the "channel pressure" midi events can be filtered out with a MIDI event filter like the one that comes with x42 plugins.

In Carla it's also possible to untick "send channel pressure" in plugins.

An alternate way to set up an environment for use with jjazzlab is to use Carla & Calf Fluidsynth instead of Qsynth / Fluidsynth.
In Carla, load the "MIDI remove active sensing" plugin, it will filter out controller active sensing messages if the MIDI controller has this implemented.
In the "MIDI remove active sensing" plugin parameters the "Send Channel Pressure" box can be unticked to filter out the MIDI controller's aftertouch.
In Carla, load Calf Fluidsynth below the "MIDI remove active sensing" plugin. Load your sf2 soundbank into Calf and assign instruments to the channels. Place a drumkit on channel 10.
In Jack, connect MIDI out from your keyboard to Carla MIDI in, Connect Virmidi output to Carla MIDI in.

Pick an (usually) unused channel like channel 5, assign a piano type instrument in Calf Fluidsynth.
Set your MIDI controller to transmit on MIDI channel 5.

Save the Carla setup so next time you can quick load it.
Some Focal / 20.04 audio packages and resources https://midistudio.groups.io/g/linuxaudio
fraslo
Established Member
Posts: 57
Joined: Sun Jun 28, 2015 2:51 pm
Has thanked: 2 times
Been thanked: 8 times

Re: JJazzlab basic setup

Post by fraslo »

Hi,

you can just drag and drop a GM MIDI sound font into carla and connect it with JJazzlab.
GMoon
Established Member
Posts: 51
Joined: Sat Oct 03, 2020 1:10 pm
Has thanked: 11 times
Been thanked: 20 times

Re: JJazzlab basic setup

Post by GMoon »

fraslo wrote: Mon Jan 31, 2022 5:31 pm you can just drag and drop a GM MIDI sound font into carla and connect it with JJazzlab.
Or have Carla catalog all your Soundfonts via "Add Plugin" -> "Refresh", and make sure SF2/3 and/or SFZ are selected before clicking "Scan". The soundbanks then show up in Carla just like plugins...

JJazzlab is pretty cool, I'm just playing with it now. I wish it had all the stuff crammed into MMA (Musical MIDI Accompaniment), but it's great to have a responsive GUI (crescendos would be nice). asbak, thanks for the tip of changing midi from raw to seq; JJazzlab was flaky about the virmidi port until I did that.

I'm also having better luck with Qsynth than Carla for this one application, tho. Something to do with Channel 10 - drum configurations are working better with Qsynth.
asbak
Established Member
Posts: 897
Joined: Thu Sep 11, 2014 3:04 pm
Has thanked: 71 times
Been thanked: 64 times

Re: JJazzlab basic setup

Post by asbak »

GMoon, yes I also had endless problems until I stumbled on that solution for JJazzband in Linux.
Alternatively set qjackctl midi driver to none & use a2jmidid instead.

On my system Calf Fluidsynth running inside Carla works OK with drums but there are so many different variables, settings and software versions that it's hard to guess what's causing the problem on your system.

For me, I just leave MIDI 9 - 16 for JJazzlab and use MIDI 5 with my controller. It doesn't have to be this way but JJazzlab seems to mostly use M 9 - 16 for instrument mapping, Midi 9 & 10 usually for drums & percussion. MIDI 5 is usually free, as are some of the other lower MIDI channels.
Some Focal / 20.04 audio packages and resources https://midistudio.groups.io/g/linuxaudio
GMoon
Established Member
Posts: 51
Joined: Sat Oct 03, 2020 1:10 pm
Has thanked: 11 times
Been thanked: 20 times

Re: JJazzlab basic setup

Post by GMoon »

asbak wrote: Sat Feb 05, 2022 5:21 pm GMoon, yes I also had endless problems until I stumbled on that solution for JJazzband in Linux.
Alternatively set qjackctl midi driver to none & use a2jmidid instead.
I gotta wonder if the seq midi driver issue is just a virmidi thing, and not related to JJazzlab. I haven't used virmidi with any other apps.

The DIE fluidsynth works well too. It's part of the DISTRHO framework (for those who don't do CALF). I'm not seeing the drum issues with DIE fs.
asbak
Established Member
Posts: 897
Joined: Thu Sep 11, 2014 3:04 pm
Has thanked: 71 times
Been thanked: 64 times

Re: JJazzlab basic setup

Post by asbak »

Yeah it's strange what you're experiencing with calf fluidsynth, what build are you running?

I compiled mine from latest sources and didn't notice any issues. I also use the soundfont from the jjazzlab website, it appears to be better assembled and with higher quality samples than many of the others I've tried.

I also never had a need to use virmidi before. At first I tried avoid using it (for no other reason than just being used to using different workflows) but couldn't get jjazzlab working reliably or with low latency.

I suspect it's as you say, it's not a problem specifically with jjazzlab, there must be some kind of conflict between raw midi mode & virmidi.
Some Focal / 20.04 audio packages and resources https://midistudio.groups.io/g/linuxaudio
GMoon
Established Member
Posts: 51
Joined: Sat Oct 03, 2020 1:10 pm
Has thanked: 11 times
Been thanked: 20 times

Re: JJazzlab basic setup

Post by GMoon »

asbak wrote: Sun Feb 06, 2022 8:38 pm Yeah it's strange what you're experiencing with calf fluidsynth, what build are you running?
I've never tried the CALF Fluidsynth plugin. Carla will load Soundfonts into it's own internal SF plugin -- I don't know which sf engine is under the hood. It seems unlikely that Filipe would write that from scratch (but I certainly don't know). That Carla SF plugin has been my default choice at present.

Regarding CALF, I've read some unflattering comments from other LV2 developers, but I don't have any strong feelings that the plugins should be avoided...
Post Reply