asked Nov 10 '14 at 20:44 by riot ♦♦ (1.8k)


Scenario 1: The controller scripts are all nice and good, but my controller is a) not supported at all b) too old/unspiffy to have a controller script and possibly c) not found in BWS, but Linux sees it

Scenario 2: Getting MIDI out is difficult. The correct device isn't appearing at all or is a software MIDI receiver.

12next page »

These details are extremely important for Linux users. Why is this information not in the manual. Or I guess what the real issue is why hasn't Bitwig been configured to handle midi the way other Linux DAWs do?


answered Dec 10 '16 at 13:57 by mclstr (71)

MIDI can be done two (or even more) ways on Linux:

  • Alsa manages your midi devices
  • Jack does

BWS currently only supports alsa MIDI directly. To make use of jack-only facilities and applications, you can bridge jack and alsa.

Virtual MIDI

kernel module: snd_virmidi

Load the kernel module prior starting Bitwig Studio:

$ sudo modprobe snd_virmidi

This will give you (per default) four virtual midi devices, if you only want one, extend the command thus:

$ sudo modprobe snd_virmidi midi_devs=1

You'll have to tell Linux to reload that module after a reboot:

$ sudo su

You'll possibly have to enter your password now. Afterwards:

 $ echo snd-virmidi >> /etc/modules

Hit CTRL-D once to exit administrative (su) mode.

Important: No Jack MIDI!

There is an option for jack (specifically in qjackctl -> lower right end of the settings dialog) to enable jack's midi support.

Don't do this! Jack will grab hold of all your midi devices and lock them, which means your USB controllers won't be available directly to Bitwig Studio and will probably break a lot of controller support. What? Yes, but via loophole

Instead, you can use a bridge to route midi data between both worlds: alsa2jack gateway: a2jmidid

Before starting Bitwig Studio, preferrably after starting the virtual midi system (see above), launch the alsa <-> jack midi gateway daemon a2jmidid:

$ a2jmidid

This will enable you to route MIDI data freely between Bitwig Studio, Jack and Alsa devices in Patchage or other routing tools.

Just make use of the newly appearing a2jmidi container in patchage, it translates red to green connections. Bitwig MIDI

Notice, how with the many virtual devices, you can build complex operations and very dynamic routing. Input

To get MIDI input into Bitwig, you can add a "Controller Script", e.g. a "Generic Keyboard" and connect its input to your Virtual MIDI device.


After you have started all applications that you want to route midi between, start Patchage, which allows you to set up the routing between all the different bits and pieces.

Make sure you pick the right virtual device all the time and connect it via Patchage as you like.


To output MIDI data to devices or virtual synths, just use a common Hardware Instrument and select the correct device for output again.


answered Nov 10 '14 at 20:48 by riot ♦♦ (1.8k)

edited Sep 23 '15 at 15:44

Thanks riot for the in depth answer. It took me a few hours to get it going on Arch Linux so I figured I'd lay out the exact steps I took. I'm using a QuNexus. I still have not gotten the script/config for that to work but I can use a general MIDI keyboard config which works ok for now. Took me a little to realize that this was one of the issues. Will come back to that.

My Steps:

  1. Quit BWS if running
  2. Start qjacktl.
  3. Go to Setup > Settings > Parameters-tab and set MIDI Driver to "none" (this turns off jack-midi)
  4. Go to Setup > Misc and check "Enable ALSA Sequencer Support" (if not enabled)
  5. Stop Jack if running and quit gjackctl
  6. Run sudo modprobe snd_virmidi midi_devs=1 (to enable virtual midi with one device which is easier to understand for now)
  7. Start qjacktl
  8. Start jack
  9. Open Connections: Connect device on left "0: QuNexus MIDI 1" to "0:VirMIDI 5-0"
  10. Open Bitwig
  11. Under Options > Preferences > Controllers click "Add controller manually"
  12. Choose "Generic MIDI Keyboard"
  13. Once it appears as an input choose "Virtual Raw MIDI/1"
  14. At that point I could add an instrument and arm the channel and hear the notes notes I was plonking away.

answered Jun 27 '16 at 04:22 by elvesten (33)

Hey, as a paying customer (I paid twice now, as I recently paid for the 2.x upgrade), I'd really like to see some first class Linux support on this issue and LV2. But especially this. Why does Bitwig need to totally hijack alsa midi devices in order to interface with them? That seems quite unnecessary. The whole thing with using the HW Instrument plugin -> virtual alsa midi ports is awesome, but it's a total workaround.

My situation:

A USB midi controller. Plug it into the computer. When I start Bitwig, it recognizes my controller, but my controller disappears from the alsa midi list in qjackctl! I cannot use this controller with other programs on the computer, only with Bitwig.

If I start jack manually and then activate audio in Bitwig after, Bitwig cannot use my midi device, but it shows up in qjackctl.

What gives?! This has been an ongoing struggle for me. I don't like it that Bitwig fights for total control over my MIDI devices. I realize Bitwig is proprietary software and everything but I thought you were different!

By the way, this issue bit me in the ass during soundcheck at a gig. That's very frustrating! I resorted to restart my computer because Bitwig refused to recognize a USB midi controller that worked fine with other programs on the computer, and that had worked fine during rehearsals. I tried restarting jack manually, starting jack through Bitwig, changing the midi driver settings in qjackctl, all kinds of stuff. In that high pressure situation the only thing that worked, thankfully, was to restart my computer a few times.

Please make MIDI work correctly!


answered Oct 13 '17 at 21:50 by phonymacaw (161)

edited Oct 13 '17 at 22:15

After about four hours of messing about with JACK, Bitwig, Qsynth, and a2jmidid I was finally able to get sound played via a soundfont.

Now the next big herculean struggle will be to get the generated audio from Qsynth back into Bitwig so I can apply effects and mastering...

Many thanks, riot, for getting me halfway there! :)


answered Mar 13 '15 at 05:32 by gerg (96)

Don't struggle - use the Hardware Instrument!

  — (Sep 22 '15 at 16:46) riot ♦♦

Of course the lack of Jack MIDI is a real downer for Linux users. Jack MIDI would fix all problems with MIDI connectivity. It has been an ongoing effort to get that issue resolved.

There are many workarounds.

I added a shell script line in my qjackctl setup Options/Scripting to automatically start up alsa-in and alsa-out scripts to match my hardware. This is just one way of dealing with the issue That way I don't have to remember to run them manually when I start:

alsa_in -j "iConnect_In" -d hw:iConnectMIDI2 -q 1 2>&1 1> /dev/null &

alsa_in -j "Fastrack" -d hw:F8R -q 1 2>&1 1> /dev/null &


answered Oct 13 '17 at 22:17 by mclstr (71)

edited Oct 13 '17 at 22:28

I used these directions, too ... but I think they might be better for unrecognized MIDI devices (?). I still don't understand the reason the virmidi module is necessary (which now saturates my Qjackctrl with inhuman language, unlike a2jmidid which makes sense on sight ... Note that I do not use a2jmidid at all, even with Jackd on... just ALSA MIDI). But in general, Bitwig seems to work out of the box. I wound up here from reading bad/out-dated info online which said Korg PadKontrol doesn't work. That's not true (or it no longer is), but it's not automatically detected ... I had to choose the script manually then set padKontrol's MIDI IN to port 2 (it's in Korg's manual), and 1 and 3 to out.

In Linux I'm able to use either ALSA by itself (by letting Bitwig take control of audio interface -- Jackd, Jackdbus, and a2jmidid OFF) or use Jackd.. And then my controllers work perfectly.

I'm now at the part where I'm trying to figure out how to use TouchDaw to control Bitwig remotely ... and I'm stuck. If anyone can help, please advise.


answered Jan 02 '17 at 23:36 by vc (11)

edited Jan 02 '17 at 23:37

Thanks riot. I have recently bought a Nektar Panorama P4 which claims to have deep integration with Bitwig, including on Linux (except for F keys/QWERTY macros). Running Xubuntu-core 16.04 LTS with Bitwig 2.1.1 and the keyboard with JACK.

I'd been stuffing about for ages trying to get this working with JACK with no success. Worked in a manner with Bitwig set to ALSA, but absolutely nothing when set to JACK.

Went to JACK> Setup and set the MIDI driver to 'none', booted Bitwig with Bitwig set to JACK and the slider on the Panorama P4 immediately sprang into life. Off and racing. :)

Cheers for providing the missing link. In my case, that was all that needed to be done, perhaps because the P4 has Bitwig in mind (there is a Linux control script for it).


answered Jun 04 '17 at 21:01 by Bucky (21)

edited Jun 04 '17 at 21:03

Thank you for posting this information. Its really helpful. Following the instructions I ran into an additional annoying problem. the Vir Midi now sometimes shows up as hw 0,0 which messes with my Jack settings as hw 0 is supposed to be my soundcard (the default device)

Is there a correction I can make to /etc/modules that will fix this?


answered Apr 07 '19 at 21:46 by xinniw (21)

For example: this is what I get when I list the cards

cat /proc/asound/cards 0 [VirMIDI ]: VirMIDI - VirMIDI Virtual MIDI Card 1 1 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0x2ffff20000 irq 125 2 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xdc080000 irq 17


answered Apr 07 '19 at 22:00 by xinniw (21)

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: Nov 10 '14 at 20:44

Seen: 14,887 times

Last updated: May 25 at 01:20