Ubuntu Studio - QjackCtl and Pulseaudio for IDJC

Part 1 of a comprehensive guide for Linux newcomers wishing to use IDJC for audio broadcasting. This configuration creates 2 audio connections from Pulseaudio to Jack for IDJC VOIP and Aux input

QjackCtl & Pulseaudio for IDJC

Confirmed working 22 March 2016 on fresh install of Ubuntu Studio 15.10 64-bit

For a system with less than 4GB memory, 32-bit version could be used instead.
Skype requires additional 32 bit libraries for a 64 bit system

Updates of approx 200MB also applied

Latest non-LTS version is used because it has Pulseaudio 6.0,
first version able to create multiple Pulseaudio sinks/sources to Jack.

Synaptic shows Pulse version 1:6.0-0ubuntu13. Version confirmed as 6.0 in Terminal:

pulseaudio --version

Pulseaudio versions prior to 6.0 will work, but do not allow additional Aux connection

Skype Setup

Skype is only application needed for broadcast not installed by default in Ubuntu Studio.
Ubuntu has a Canonical Partners repository for Skype that can be enabled.
Find the Software & Settings options in Settings, or in Terminal:
sudo synaptic -r

Enable the repository with check box as shown in diagram:

Clicking to close this window should trigger a rescan of available repository software.
With repositories reloaded, Skype will be available for install in Synaptic Package Manager.
Terminal command line install would work too, but not verified
sudo apt-get install skype

QjackCtl Setup

Set Qjackctl options as shown in diagrams:

Server Prefix: set to jackstart (starts Jack2 server – Jackd for Jack v1 not used)

Interface: select sound device for Jack use

Frames/Period: 1024 is safe working value for most sound devices.
Value Can be reduced to lower delay latencies, but risks more x-run errors.
May also be increased to reduce x-run errors, but will increase latency.

Sample Rate: 48000Hz is native Jack rate, but 44100Hz may work better on some hardware

Periods/Buffer: Usually 2 is fine for built-in sound devices, suggest change to 3 for USB devices

Execute script after Startup: pactl load-module module-jack-sink client_name=Aux_In
This command adds extra Pulseaudio sink Aux_In, with connection to system playback ports.

Activate Patchbay Persistence: .idjc_pulse.xml

File idjc_pulse.xml is basic patchbay settings file for IDJC Skype and Aux connections.

Download idjc_pulse.xml

In the settings option, click on the triple dot button on right and navigate to file to select it

Dot prefix in Linux indicates hidden folder/file – press Ctl+H to show/hide files

Check in QjackCtl Patchbay window that .idjc_pulse.xml is loaded and active

Check Enable D-Bus Interface is enabled.

D-Bus allows Jack to share an audio device with Pulseaudio.
If Jack cannot be started with D-Bus, additional setup work will be required

Reboot pc now to ensure all settings are saved

Start Jack in Qjackctl

When QjackCtl is started with this setup, Jack input and output ports will be loaded with default connections as shown below:

Pavucontrol settings

With Jack still running, Open Pulseaudio Mixer Pavucontrol to Recording tab.

Use either Applications Menu or Terminal:
pavucontrol -t 2

Start a Skype test call.

Select PulseAudio Jack Source as recording device for Skype

Change to Playback tab whilst Skype call still active

Select PulseAudio Jack Sink as playback device for Skype

Start audio playing from another source, in this example Audacious

Select Aux_In as playback device for all other audio:

Aux_In must be selected for all other audio applications except Skype.
Pulse Mixer should store these settings after first selection.

When Jack is running, an audio app that fails to play will probably need changing to Aux_In.

When Jack is stopped, Pulse will revert to default sound device.

Starting Jack and IDJC

Before starting IDJC, use Disconnect All button in Qjackctl connections window to remove Jack default connections. All connection lines should disappear.

If connections are not cleared DO NOT launch IDJC.
Default connections may cause echo or feedback, or just not be audible on radio stream.

Automatiic connection changes will be covered in future articles

Correct connections are as shown below.

Connections should be visible from PulseAudio Jack Sink and Aux_In to idjc_default
and from idjc_default to PulseAudio Jack Source.

QjackCtl Connections window can be expanded to check exact connection details
Connections can also be checked in the IDJC Jack Ports section of menu

Test Connections

Remember to use red or green phone buttons to hear Skype call.
Only green phone for on-air call will show activity in IDJC stream level meters.

Sound to Aux channels will show on IDJC Ch3 and Ch4 input meters

IDJC should now be fully functional with rest of Linux sound system

Further Information

ArchWiki - PulseAudio through JACK
Rivendell Wiki - Setup JACK2 with Pulseaudio
Pulseaudio.org

Special Thanks

With additional help and inspiration from daz, timfromtang, muddymuddymudman, and all at Linux Migration Group

 

wow nik

lovely job.

meant to get back to have a look but been so bloody busy just forgot.

i like it great work man

 
   

Thanks for advising broken link to my website Jimmy

Replaced wget command for simpler download link to local patchbay config file

Still want to encourage command line use, but not at expense of simplicity