Georg Krause

coding - music - building stuff

Introduction - Make music on Linux with Jack and amsynth


I was asked how to start making music with jack. There are some good ones, eg on Libre Music Production. But by answering questions with some documentation here it should be a good starting point to get deeper into this topic. This is only for impatient people which want to start fast without a lot of reading.

What we need

Of course you will need some packages. At first we want to make some sound. In order to keep this simple i will use only jackd2, qjackctl and amsynth. All of them are available in Archlinux and Debian repositories, so easy to install.

What is jackd2?

The Jack Audio Connection Kit is a software to connect several sound making applications. There are a lot of options and a lot of stuff to learn about. But for now the important information is: You can send audio from one port to another how ever you want. A port can be some peace of software or your soundcard.

What is qjackctl?

Qjackctl is a graphical application to control jack. Again, there are a lot of options, i will explain the features we need later.

What is amsynth?

Amsynth is a very stable and simple synthesizer.

Lets start!

At first we need to start jack. To do this we need to start qjackctl:

qjackctl

Sadly this is in german, but i will translate everything. To start jack, you need to hit Start. The default settings will mostly work. What can go wrong is to much for this introduction, so please go find it out by yourself or write me for help.

Since we want to have some sound, we also start amsynth.

amsynth

Does it work?

So lets see, if this is working. In the top-right corner you can find some information about the audio backend. If the audio backend is jack everything is fine for now. Below these information is a play button to test. Now your soundcard should give you an C4. If you hit it once with your mouse, you can use the space to play the note. This is pretty nice for tweaking the sound.

Why does it work?

So lets see what is going on here. Using qjackctl we started jack in the default settings. If you open the qjackctl window again, there is a button named Connections (Verbindungen in the screenshot). Hitting the button will open another window which should look like this:

Qjackctl Connections

On the left site you can see all available sources for sound which are visible for jack. On the right site you can see all destinations. As you can see, amsynth connects itself automatically to the first two ports of something called system, which is basically your soundcard. By selecting one source and one destination and hitting one of the buttons below you can connect or disconnect them.

Connecting a keyboard

Playing only one note is a nice test, but kind of boring. So if you have a midi keyboard this is the right moment to connect it to your computer. Most of the current keyboard use a connection over USB. If not you will need an interface, perhabs your soundcard has one? But thats another topic.

If your keyboard is connected, you can go to qjackctl again, open the connections window and switch the tab to ALSA-MIDI. There are two different midi backends, most keyboards will use Alsa, so look there first. If its not there, it might be in JACK-MIDI. If not, there is some investigation needed, why. If you found it, connect it to amsynth and enjoy playing. ;)