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.
wrc-proxy helper application
Download wrc-proxy installation package for your operating system.
wrc-proxyapplication is available for the following operating systems and hardware architectures:
Linux (PC: Intel x86 64-bit): https://wrc-dist.s3.amazonaws.com/wrc-proxy/wrc-proxy-linux-x86_64-0.12.0.zip
Linux (PC: Intel x86 32-bit): https://wrc-dist.s3.amazonaws.com/wrc-proxy/wrc-proxy-linux-x86-0.12.0.zip
Linux (ARM32v6 32-bit): https://wrc-dist.s3.amazonaws.com/wrc-proxy/wrc-proxy-linux-arm32v6-0.12.0.zip
Linux (ARM32v7 32-bit, such as Raspberry Pi): https://wrc-dist.s3.amazonaws.com/wrc-proxy/wrc-proxy-linux-arm32v7-0.12.0.zip
Linux (ARM64v8 64-bit): https://wrc-dist.s3.amazonaws.com/wrc-proxy/wrc-proxy-linux-arm64v8-0.12.0.zip
Extract the downloaded ZIP file to some directory. The zip file contains a single executable application file
wrc-proxyand an installation script
Run the installation script
wrc-proxybinary will be installed to
bin/wrc-proxyin 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
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
# 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
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.