Adding an audible output for Radio Listeners is the goal here, to provide added interest.

You should have at least installed SVXLink in the fashion described in the linked page here. Read and follow the directions explicitly.

DO NOT UNDER ANY CIRCUMSTANCES USE sudo apt install svxlink-server THE VERSION IS OUTDATED and will not contain SVXReflector.

You should have a USB Sound Card preferably the CM108 already described in these pages.

Time Allotment: Allow at least 40 Minutes at the very least.

Implementation for the DarkIce and Icecast2

Hopefully you shall have first tested and run your svxlink node.

If you want to stream the output for public consumption then this is what we shall do.

Installation of the Dummy Soundcard

In the terminal screen type the following command at the prompt.

sudo nano /etc/modules

Type the single line as follow


Now type cntrl-o to save the new file and cntrl-x to exit the editor.

You can now load the module in your running system by typing sudo modprobe snd-aloop followed by enter.

Dummy Sound Card Configuration

At the other end of the Loopback, we will connect darkice as a streaming device. Type the following
sudo nano /etc/asound.conf

Then type the following lines exactly as they are written.

pcm_slave.hw_Loopback_1_2 {
               pcm “hw:Loopback,1,2”
               format S16_LE
               channels 2
               rate 48000

pcm.plug_Loopback_1_2 {
               type plug
               slave hw_Loopback_1_2
               ttable {
                            0.0 = 1
                            0.1 = 1

Ensure you have the correct syntax, and the correct number of curly braces.
Save the file by typing cntrl-o and cntrl-x as before.

Create a new file by sudo nano /etc/modprobe.d/asound.conf

Type this one line.

options snd-aloop index=1 pcm_substreams=8

Save and close the file as before.
Reboot the raspberry at this stage.

To verify the installation type sudo aplay -l

you should see the following:

**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7

If you do not see this but some errors, then go back up to Dummy Sound Configuration, and remove the configuration, save the file, reboot and repeat the configuration once more.

Now, when you open the device ‘plug_Loopback_1_2’ in an application, the above will force the ‘Loopback,1,2’ to be configured with parameters that SvxLink likes, and the explicit wiring of only the left channel. The darkice config will then be like this:


duration = 0 # duration of encoding, in seconds. 0 means forever
bufferSecs = 1 # size of internal slip buffer, in seconds
reconnect = yes # reconnect to the server(s) if disconnected
realtime = no # run the encoder with POSIX realtime priority
rtprio = 3 # scheduling priority for the realtime threads

# this section describes the audio input that will be streamed

device = plug_Loopback_1_2 # ALSA soundcard device for the audio input
sampleRate = 22050 # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample = 16 # bits per sample. try 16
channel = 1 # channels. 1 = mono, 2 = stereo

Installing the apps Darkice and Icecast2

sudo apt install darkice icecast2

As you install icecast2, you will be presented with request for passwords and other parameters. Make notes as you proceed. You will need to configure darkice after reboot.

Directions are includes with both packages.

Darkice requires you to do the following before you can operate on it.
sudo gunzip /usr/share/doc/darkice/examples/darkice.cfg.gz
sudo cp /usr/share/doc/darkice/examples/darkice.cfg /etc
sudo nano /etc/darkice.cfg
to final configure the dummy sound card you have previously made above.

duration = 0
bufferSecs = 5
reconnect = yes

device = plug_Loopback_1_2                                 # You may need to change the numbers here for your setup
sampleRate = 44100
bitsPerSample = 16
channel = 2

bitrateMode = cbr
bitrate = 320                                               # Max bitrate for MP3 is 320 and best for binaural audio
format = mp3
quality = 1.0                                               # Sets the quality of the stream 1.0 being highest
server = localhost                           # This is a free server or you can pay for one
port = 8000                                                    # Your port number from your icecast2 settings
mountPoint = url:8000           # Omit the ‘/’ before ‘stream’ in Darkice “stream.mp3” for example
password = source password here                   # Source password from icecast or private paid for server password
name = your stream name                                              # Name of account

url = the full url to include domain and :8000 and /stream

description = Live binaural stream for headphones              # Stream description
genre = Binaural 3D for headphones
public = yes

Save the file.

sudo nano /etc/default/icecast2 and add a new line ENABLE=true, save and exit.

Once you have configured IceCast – (sudo nano /etc/icecast2/icecast.xml), we can now…

sudo nano /etc/systemd/system/darkice.service

add the following text.

Description=Darkice Live Audio Streamer

ExecStart=/usr/bin/darkice -c /etc/darkice.cfg

Save the file and type

sudo systemctl daemon-reload

Now type

sudo systemctl enable darkice

sudo systemctl start darkice

sudo mkdir /etc/scripts

cd /etc/scripts

sudo nano, and type the following text exactly into it.


sudo systemctl restart darkice

save and close the file.

sudo chmod +x

Now we enable Icecast2 as follows.

sudo systemctl enable icecast2 && sudo systemctl start icecast2

Now we must reconfigure svxlink.conf to channel out to the Dummy Sound Card.

sudo nano /etc/svxlink/svxlink.conf

First of all we need to configure a transmitter channel.



Now to add it to a MultiTx



Now we change the Transmitter itself to reflect these changes.

[SimplexLogic] or [RepeaterLogic]

Change TX=Tx1 to TX=MultiTx

And save the file.

Now finally we can restart – sudo systemctl restart svxlink

The stream will start after a short delay on boot up. In a browser type the ip address of the raspberry e.g.

and click on the link presented.

To further enable Darkice in case of it falling over I have also added this line to the crontab as follows.

sudo crontab -e

59 23 * * * /home/pi/scripts/

01 00 * * * /home/pi/scripts/ 

Leave a Reply

Your email address will not be published. Required fields are marked *