Initial setup for using digital modes in Linux

In order to connect digital mode applications to Web Radio Control, you will need to install a helper application called wrc-proxy and virtual audio cable driver software. It is necessary to perform these preparations only once.

After completing these installation instructions, follow the steps in Connecting digital mode applications to Web Radio Control.

Installing wrc-proxy helper application

  1. Download wrc-proxy installation package for your operating system.

  2. Extract the downloaded ZIP file to some directory. The zip file contains a single executable application file wrc-proxy and an installation script install-wrc-proxy.sh.

  3. Run the installation script install-wrc-proxy.sh. The wrc-proxy binary will be installed to bin/wrc-proxy in your home directory.

    • If the installation script cannot be run, try to make the script executable by running command-line command:

      • chmod a+x install-wrc-proxy.sh

Installing a virtual audio cable driver

Most Linux distributions use the PulseAudio sound system for audio recording and playback. PulseAudio makes it easy to add new virtual audio cables, also called loopback devices.

In addition to the basic PulseAudio installation, you will need to install the pavucontrol application to change audio input and output routing for running applications.

Configuring loopback audio devices

The following example adds two loopback audio devices:

  • radio-output, which will be the audio output device for the web browser to capture audio from radio

  • radio-input, which will be the audio output device for the digital mode application to capture the audio generated by the application

You can add the loopback devices in PulseAudio using one of the two methods documented below:

It is recomended to permanently create the loopback audio devices (method 1), but if you wish to test loopback audio devices without changing the operating system audio settings permanently, you can follow the instructions to create the device temporarily (method 2). If you use the permanent way to create the loopback audio devices, there will be no need to re-create them, which will make the process of connecting audio devices for digital mode applications faster in the future.

Method 1: creating loopback audio devices permanently

You will need root user permissions or sudo permission for changing the operating system configuration files!

Add the following lines to the end of the file /etc/pulse/default.pa:

# Loopback devices
load-module module-null-sink sink_name=radio-output sink_properties=device.description="radio-output"
load-module module-null-sink sink_name=radio-input sink_properties=device.description="radio-input"
load-module module-loopback source=radio-output.monitor latency_msec=100 adjust_time=0 rate=48000
load-module module-loopback source=radio-input.monitor latency_msec=100 adjust_time=0 rate=48000

You can reduce audio latency by removing extra sample rate conversions when you set the default sample rate to 48 kHz, which is also the sample rate used by Web Radio Control and the web browser. You can set the default sample rate by adding the following lines in the file /etc/pulse/daemon.conf: (optional)

default-sample-format = s16le
default-sample-rate = 48000
alternate-sample-rate = 44100

After making the above changes to the files, restart PulseAudio by executing command pulseaudio -k in the command line. You will need to wait for a moment for PulseAudio to start again.

Method 2: creating loopback audio devices temporarily

Execute the following commands in the command line using the pactl control application:

pactl load-module module-null-sink sink_name=radio-output sink_properties=device.description="radio-output"
pactl load-module module-null-sink sink_name=radio-input sink_properties=device.description="radio-input"
pactl load-module module-loopback source=radio-output.monitor latency_msec=100 adjust_time=0 rate=48000
pactl load-module module-loopback source=radio-input.monitor latency_msec=100 adjust_time=0 rate=48000

Connecting digital mode applications to Web Radio Control

Continue by following instructions on page connecting digital mode applications to Web Radio Control.