(Linux) Bitwig + MIDI aware software together (i.e. softsynth)

Official support for: bitwig.com
RELATED
PRODUCTS

Post

You can't use alsa midi in jack and Bitwig at the same time. Choose midi driver to "None" in qjackctl.

Post

lem8r wrote:You can't use alsa midi in jack and Bitwig at the same time. Choose midi driver to "None" in qjackctl.
Agree.. All the midi devices work fine for me with "None"

All the packages you need are "alsa-utils", "jack2" and if you like a GUI for Jack then "jackqctl" as well. No settings are required, you just have set your Interface.
jack_settings.png
Btw... also make sure you have the right permissions. For example to let jack2 lock memory your user needs to be in the audio group of the system.
You do not have the required permissions to view the files attached to this post.

Post

It's been a while but I finally found a solution for this. I updated the topic title.

The main goal was to get amsynth (software synth) and Bitwig working together. Until now I was able to use only amsynth or Bitwig at a time. To see my keyboard under MIDI tab in JACK I have to run "a2jmidid -e &" command on JACK startup. Then I could make a connection to amsynth. However this method disables my keyboard for use with Bitwig. To use Bitwig with my MIDI keyboard I have to omit the "a2jmidid -e &" command but this disables the the keyboard for amsynth since I couldn't see it in the MIDI tab in JACK anymore.

I found the solution for this here. In case of damaged link I'll post a quick summary below.

First you need to create virtual ASLA MIDI card:

Code: Select all

modprobe snd-virmidi snd_index=2
where snd_index is the index of your first free card slot (numbered from 0). If you have only your default soundcard, your snd_index will be 1. If you have an external USB soundcard (like me), it will be 2. You can check it by

Code: Select all

cat /proc/asound/cards
snd-virmidi is a kernel module and you can load it upon a system startup so you don't have to do this every time you reboot. You can google easily how to load kernel modules automatically.


Next you need the aconnect utility so grab it somewhere depending on you Linux distribution.

Code: Select all

aconnect -i
gives you a list of devices which can send MIDI data. The same command but with "-o" will give you a list of devices which can recieve MIDI data. What you get is something like this:
client 24: 'Virtual Raw MIDI 2-0' [type=kernel]
0 'VirMIDI 2-0 '
client 25: 'Virtual Raw MIDI 2-1' [type=kernel]
0 'VirMIDI 2-1 '
client 26: 'Virtual Raw MIDI 2-2' [type=kernel]
0 'VirMIDI 2-2 '
client 27: 'Virtual Raw MIDI 2-3' [type=kernel]
0 'VirMIDI 2-3 '
client 28: 'Launchkey 25' [type=kernel]
0 'Launchkey 25 MIDI 1'
1 'Launchkey 25 MIDI 2'
client 128: 'amsynth' [type=user]
1 'MIDI OUT
Launchkey 25 is my MIDI keyboard.

Now you need to connect stuff together. In order to route Launchkey to amsynth you'll do this:

Code: Select all

aconnect 28:0 128:0
The "28:0" is a port number of my Launchkey, "128:0" is a port number of amsynth MIDI input. The syntax is "aconnect (sender) (reciever)". This should work with any other MIDI application I believe. You can learn how to use aconnect from its documentation. It's pretty simple. The guide I linked mentions "aseqview" as a GUI to manage these connections but I didn't get it so I'll stay with aconnect :-D.

If you have Bitwig running, you'll notice it doesn't create any writeable/readable ports which means that you have to connect MIDI devices to Bitwig only inside of Bitwig. For some reason when I selected Launchkey directly as my MIDI controller it didn't work. What I've done was that I routed Launchkey into a VirMIDI port (by aconnect) and then I selected it as a MIDI controller in Preferences -> Controllers -> Add a controller manualy -> (some controller) -> Virtual Raw MIDI x/n where x is a port number and n probably a MIDI channel number but I'm not sure.

With this method I can run Bitwig and amsynth simultaneously. It should work with any other MIDI aware application as well but I didn't test it. The only issue is that Bitwig only works if I have my Launchkey set on MIDI channel 1 but it's not a big deal for me since I can use amsynth on other channels. Plus I haven't tested it thoroughly so maybe I'm just doing something wrong.

It should also be mentioned that i use an older 3.14.12-rt9 kernel with a reatime patch.

Hope this helps.

Post

Another way to do this is to use the Carla VST inside Bitwig and host amsynth as a plugin inside that. That way you get amsynth embedded into Bitwig as a plugin. I just tested it on Debian. Worked a treat.

Post

mongrol wrote:Another way to do this is to use the Carla VST inside Bitwig and host amsynth as a plugin inside that. That way you get amsynth embedded into Bitwig as a plugin. I just tested it on Debian. Worked a treat.
Now that's something! I'll try it out.

Next step: How to get MIDI notes out of Bitwig? I'm trying to make a loop in Bitwig sending the notes to amsynth.

Post

All right, I tried Carla. It indeed is possible to run amsynth from inside of Bitwig however I have two issues:

1) Is it possible to turn on the amsynth interface? Carla seems to have grabbed the amsynth parameters and made its own interface which turns out to be pretty unusable.
2) It is not possible to change presets and even the default one sounds broken.

I tested ZynAddSubFX and the problem is the same. Is there something I'm doing wrong or is it a normal behaviour?

Anyway it seems to be a useful program, let's see what can it be good for :-).

Post

In the Carla interface you click the little spanner (or might be the cog) and the Amsynth GUI pops up.

To send notes to it you just write them in a clip like normal. The Carla Plugin+ Amsynth is your instrument just like any other Bitwig instrument.

Post Reply

Return to “Bitwig”