Internet DJ Console Homepage IDJC

website logo

The purpose of this page

In order to ensure the correct sound card or audio interface is used some user and or system wide configuration may need to be done but it only needs to be done once. It is likely that if the system just has onboard audio things will already work just fine but there is probably some scope for performance tuning.

Configuring your system for JACK Audio Connection Kit

Assuming IDJC is using a dedicated JACK sound server (not direct to Pipewire) it is worthwhile making a simple JACK configuration file.

The configuration file will determine the operating parameters of an automatically started JACK sound server.

$ echo "/usr/bin/jackd -d alsa -r 44100 -p 256 -n 2" > ~/.jackdrc

In this example a sample rate of 44100 was selected matching the vast majority of digital music out there. Additionally a lowish latency of 256 samples was chosen. Too low a number will result in audio problems. Too large and audio will be noticably delayed. The same is true for the number of buffers. Three buffers is suggested for USB audio interfaces.

Making JACK use a particular sound card

It's a two step process of finding the names of all the sound cards and specifying which one to use.

$ cat /proc/asound/cards
 0 [Revolution71   ]: ICE1724 - M Audio Revolution-7.1
                      M Audio Revolution-7.1 at 0xd000, irq 19
 1 [nanoKONTROL    ]: USB-Audio - nanoKONTROL
                      KORG INC. nanoKONTROL at usb-0000:00:1d.0-2, full speed

$ jackd -d alsa -d hw:Revolution71 -r 44100 -p 256

If specifying the card name failed try using the number to the left prefaced by 'hw:' without the quotes.

$ jackd -d alsa -d hw:0 -r 44100 -p 256

Normally you would not need to specify hw:0 since it is the first sound device however you may have onboard audio disabled in the BIOS, at the driver level, or in ALSA itself resulting in card 0 not appearing in /proc/asound/cards.

Enabling MIDI events
$ jackd -d alsa -r 44100 --midi raw

Only use the --midi option if you intend to use a MIDI device to control IDJC.

For systems that run Pipewire

Some systems that are configured for Pipewire still use a real JACK server as a feed. To use Pipewire directly start IDJC as follows.

$ pw-jack idjc

With IDJC using Pipewire directly, the JACK Ports menu can be used to select or check the correct audio device(s) are in use.

One of Pipewire's main advantages is an ability to connect audio applications together and share audio regardless of whether they were created to use Pulseaudio or JACK. To make connections or just get an overview there exist the legacy programs Patchage, Catia, and for Pipewire specifically there is qpwgraph.

Finally

The program qjackctl can be used to start a JACK sound server. It has a nice graphical user interface and can generate a .jackdrc file as well.