Using a midi keyboard with minimum latency in Ubuntu 16.04

The synth i'm using is sunvox, and i've got a Samson Graphite 49 Keyboard (5 keys are not functional after a year of only using it occasionally, don't buy).

I work on Ubuntu 16.04 and the best minmal latency audio driver is JACK, which is also supported by sunvox. There are two additional pieces of software that are needed to get cracking: a2jmidi and qjackctl. The a2jmidi program provides a midi bridge between alsa and jack, which is required to use any midi signal sending sources in JACK. All this software is availabile to get with apt-get.

Once you've installed everything, here's how you get a basic minimum latency midi keyboard-to-sunvox setup running:

Open sunvox settings, set the driver to "JACK". Leave everything else on auto. Close sunvox.
Then open qjackctl, it's a GUI for the JACK audio driver. Here in the settings you need to experiment with the buffer sizes and sampling freq, they are the two components influencing the latency. Total latency is also shown in the bottom right of the qjackctl control settings window. Get sampling frequency as high as possible and buffer size as low as possible without degrading the sound quality. You can test that in sunvox. My settings are 96khz sampling freq and 512 buffer.

If you run into errors while trying to start JACK over qjackctl, then you've installed the wrong JACK driver. There are libjack0, libjack-dev, libjack-jackd2-0, libjack-jackd2-dev, jack, jackd, jackd1, jackd2. One of them is the right one. Just google your error message (the one that turns up in the popup window), it should tell you the right one to install.

After successfully launching JACK, open a terminal and type in a2jmidid and hit enter, to initialize the alsa midi bridge. Again, doesn't start -> wrong JACK version. Leave the terminal window open.
Now start sunvox.

After that, go to the qjackctl GUI and click on "Connect". In the alsa tab, your midi keyboard should turn up on the left side. Connect it with the midi-through port on the right side. 
Then switch to the JACK tab and on the left side under the headline "a2j", the midi through port should turn up. Connect it with Sunvox, which should be visible there on the right side.

You should now be able to recieve midi signals with very low latency in sunvox. If you still get nothing, try to select your midi keyboard in the sunvox settings in the tab "MIDI".

This should also work for any other synthesizer that supports JACK.

Kommentare

Beliebte Posts aus diesem Blog

Calculating the index of a tensor