AB9IL.net

Digital Radio Modes on WebSDR Pages

Disclosure: AB9IL.net is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program such that this site earns advertising fees by linking to Amazon.com. If you make a qualifying purchase after clicking a link on this website, the associate affiliated with this site may earn a comission at no cost to you.


#Advert: ASUS has your next laptop, powerful and elegant.

New Features: Global Quick Tune Internet SDR List Improve Your Radio Knowledge at "YouTube SDR School"
Article Index --- click here to unfold ---
Newest Pages NEW: Trumpists Kicking the Hornets Nest
NEW: Introduction to Catbird Linux
NEW: Skywave Linux Updated to ver 4.1
NEW: i3wm: Using i3-ipc to Float Windows
How to Record from WebSDR and OpenWebRX Sites
Programmatic RTL-SDR Frequency Claibration
Public KiwiSDR Lists
Malaysia Airlines Flight MH17: Simply Mass Murder
The Anonymous Cathay Pacific Employee Letter to Hong Kong
For For Cathay Crews Crossing Borders With Electronics
Photo Gallery 9: The New Life Movement in China, 1944
E Pluribus Unum: From Many, One, Dammit
HFGCS Quick Tune SDR List
The Robert Mueller Iron Triangle Speech
A Rant About One Party Rule
Best OpenWebRX and WebSDR Servers
SDR School via YouTube
ADALM-PlutoSDR on Linux Systems
MOFO Linux: Defeating State Censorship and Surveillance
Linux: Distros, Code, and Nifty Software NEW: Introduction to Catbird Linux
NEW: Skywave Linux Updated to ver 4.1
NEW: i3wm: Using i3-ipc to Float Windows
Skywave Linux: HPSDR, WebSDR, and RTL-SDR ready to run.
Siduction Linux with the Cinnamon Desktop
Siduction Linux with the LXQT Desktop
Andy's Ham Radio Linux 15 and QtRadio
Booting Multiple Linux Disc Images with Grub2
Porteus Linux Hard Drive Installation
UPDATED: MOFO Linux - For Unrestricted Internet
Aptosid with LXDE
Asus EeePC 1215N with Linux
Autostart Tweaks for KDE3 and KDE4
Broadband Speed Tweaks For Linux
Fixing the Firefox 3 Rendering Bug
Linux on Solid State Drives
Linux Wireless Interface Driver Updates
Setting Polkit to Automount USB Devices
Sidux with LXDE
Fixing Skype Inverted Video
SLAX Remix - kernel upgrades
Flash Drive Linux - Introduction
Flash Drive Knoppix 5.3 - Part 1
Flash Drive Knoppix 5.3 - Part 2
Flash Drive Knoppix 6.0 - Part 1
Flash Drive Knoppix 6.0 - Part 2
Flash Drive SLAX - Part 1
Flash Drive SLAX - Part 2
Flash Drive Bluewhite64 - Part 1
Flash Drive Bluewhite64 - Part 2
Flash Drive Linux - Basic Customization
SLAX Customization - Part 1
SLAX Customization - Part 2
Bluewhite64 Customization - Part 1
Bluewhite64 Customization - Part 2
Long Range Wi-Fi Basics of Long Range Wireless Networking
Linear Focus Parabolic Wi Fi Antenna
High Gain Wi Fi Dish Antenna
High Gain Helical Wi Fi Antenna
High Gain Yagi Wi Fi Antenna
High Power Wireless Adapters
Wi Fi Extender Antenna for Routers
Belkin F5D7050 External Wi Fi Antenna
Linksys WUSB54GC External Antenna Mod
Compat Wireless Linux Drivers
Installing WPA_Supplicant for Wi-Fi Security
Linux Wireless Interface Driver Updates
Linux Wireless Interface Driver Support
NetworkManager and Consolekit
RT73 Wireless Drivers for Linux Kernel 2.6.27+
RT2860 Wireless Drivers for Linux Kernel 2.6.27+
Radio: Amateur Radio, Aero Radio, Shortwave, etc NEW: Programmatic RTL-SDR Frequency Claibration
NEW: Public KiwiSDR Lists
NEW: GHFS Quick Tune SDR List
UPDATED: Best OpenWebRX and WebSDR Servers
UPDATED: Skywave Linux: HPSDR, WebSDR, and RTL-SDR ready to run.
CubicSDR on Debian, Ubuntu, and Linux Mint
Dump1090 for Linux Mint 17.1 and Siduction 2014.1
Software Defined Radio - An Introduction
QS1R Direct Sampling SDR
Chaining SDR Audio Interfaces
FLEX-6000 Direct Sampling SDR
UPDATED: RTL2832 Software Defined Radio
WebSDR Digimode Reception
Enabling FLASH in Jack Audio
Realtime Software Audio Processing
Liberation Technology MOFO Linux - For Unrestricted Internet
Veracrypt Encryption for Linux
Veracrypt Encryption for Windows
Using Google Within China
Popcorn Time and Flixtor for Uncensored Streaming Media
DNS Encryption using DNSCrypt
Galaxy Nexus Privacy and Robustness Enhancements
Galaxy SIII Privacy and Robustness Enhancements
Flash Drive Encryption for Linux
Flash Drive Encryption for Windows
Multihop VPN Connections for Strong Internet Privacy
Open and Free DNS Server List
OpenVPN Cloaking against Deep Packet Inspection The Serval Mesh Phone Project
Skype's Robust Security
Man in the Middle Wireless Security Risks
Wireless Security and Surveillance
Digital Audio Adjusting Audio Dynamics in VLC
Backing Track Prep Guide
Ipod Music Processing Guide
How To Record Record Live Music Performances
Realtime Software Audio Processing
Chaining SDR Audio Interfaces
Aerospace Radio, Aviation, Pontification, and Opinion NEW: Trumpists Kicking the Hornets Nest
NEW: The Anonymous Cathay Pacific Employee Letter to Hong Kong
NEW: For For Cathay Crews Crossing Borders With Electronics
NEW: E Pluribus Unum: From Many, One, Dammit
NEW: HFGCS Quick Tune SDR List
NEW: The Robert Mueller Iron Triangle Speech
NEW: A Rant About One Party Rule
Captains Authority Versus Autocratic Airline Management
Malaysia Airlines Flight MH17: Simply Mass Murder
Malaysia Airlines Flight MH370 - A Media Circus
High Gain Air Band Antennas
Apollo Unified S Band Communications
Chinese Anti-Stealth VHF Radar
Oceanic Communications - Procedures, Equipment, Voice and HFDL
Boeing 737NG Radio Equipment
Boeing 767 Radio Equipment
NAOC-TACAMO Monitoring
My Flight on 9/11
Joshua Chamberlain's Leadership Tips
Special Operations Forces Truths
TWA 800: Just Give Me Some Truth
Photo Gallery Aviation Photo Gallery 1: Snapshots From My Journeys
Aviation Photo Gallery 2: On the Road With ATA Airlines
Aviation Photo Gallery 3: More ATA Airlines
Aviation Photo Gallery 4: Southwest Airlines is the Borg Empire
Aviation Photo Gallery 5: Starting Over, Moving On...
Aviation Photo Gallery 6: More Viva Macau
Aviation Photo Gallery 7: Mainland China Airline Flying
Aviation Photo Gallery 8: Chinese Smog and Fog
NEW: Photo Gallery 9: The New Life Movement in China, 1944
Broadcasting BBC Radio Blooper - Adolf Merckle
TV DXing the World Trade Center
New York TV after 9/11
Live Music Recording Adjusting Audio Dynamics in VLC
Backing Track Prep Guide
Ipod Music Processing Guide
How To Record Record Live Music Performances
Radio Poetry and Arts In Distress, by David Wagoner
Just A Radio Operator, by Robert A. Wallace
Radio Circuit Modifications ATS-909 Modifications
ATS-909 Manuals
ATS-909 Alignment Procedure
ATS-909 Alignment Spectrograms
Very Low Frequency (VLF) Radio Internet Based VLF Radio Listening
Windows Tips Windows Performance Enhancement Tips
A Faster Windows 7
Windows 7 SSD Setup

Updated 04/02/2016: Pulseaudio, Jack Audio / Alsa Loopback Device.

WebSDR and OpenWebRX represent the cutting edge of internet controlled, remotely operated radio receivers. These sites offer sections of radio spectrum to listeners, who can each select their own frequencies and modes. One can listen to upper or lower sideband, AM or CW, and individually adjustable sharp filtering. At any given hour, thousands of listeners are monitoring amateur radio signals from around the world. Listeners enjoy the freedom to select the ideal receiver sites for the local time of day, band of interest, and individual performance of these remotely controlled SDR sites.

One somewhat undeveloped aspect of web based SDR monitoring is digital mode capability. It is not in the scope of a web based SDR site to offer all possible signal modes to all of the global listeners - a site offers a chunk of spectrum for listeners who, with proper software, to do whatever they can imagine. But how does one monitor PSK-31, RTTY, MT63, or other modes when receiving audio from a web based SDR site? What options are available when conditions are poor and not suitable for voice? Imagine listenting on HF to dozens of PSK-31 signals on the 20 meter band. The popular digital mode decoding applications, such as Digipan, Fldigi, or Multipsk, can successfully receive non-voice signals if the audio is internally routed to the software.

#Advert: Get your CPUs, GPUs, and Motherboards from GigaParts.

WebSDR internet radio used for
receiving psk-31 and other digital radio modes - PulseAudio method.
Monitoring PSK-31 via the W7RNA WebSDR site.

Using Pulseaudio

Many users of WebSDR and OpenWebRX sites are on Linux systems such as Ubuntu, Mint, or others which use PulseAudio. PulseAudio internally routes audio between applications and sound devices and is perfect for feeding received SDR audio directly into decoding applications.


Note: If you do not have the Pulse Audio Volume control, get it now using your software manager or in a terminal with the command:

sudo apt-get install pavucontrol

Then follow these steps:

  1. Start up the web browser and load the SDR page for the site you want to use.
  2. Next, open the digimode app - WSJT or Fldigi in this example. If equipped, you may see signals being received by the system microphone at this point, but ignore that!
  3. In WSJT (or WSJT-X), go into the audio settings and select File > Settings > Audio. Select "alsa_output.pci-0000_00_08.0.analog-stereo.monitor". The monitor on your system may not exactly match the example here, but should be similar.
  4. In Fldigi, go into the menus at Configure > Sound Card > Audio > Devices. Check "Port Audio" and "default".
  5. In Fldigi, open the Pulse Audio Volume Control (Pavucontrol). Under the recording tab there will be settings for ALSA Plug-in [fldigi]. In the drop-down list, select audio from "Monitor of Built-in Analog Stereo".

Pulseaudio incorporates a free and easy audio pipe much like the "Virtual Audio Cable" available in Windows. Add this code near the bottom of file /etc/pulse/default.pa to set up two virtual cables for your other audio routing needs:

#Virtual Cables
load-module module-null-sink sink_name=vac1 sink_properties=device.description=VCable1
load-module module-null-sink sink_name=vac2 sink_properties=device.description=VCable2

When the audio routing changes are made, the WSJT or Fldigi waterfall display should show audio from the WebSDR or OpenWebRX site and no noise from the local system microphone.

If you are running a fully installed system (or a liveDVD with persistence), the settings should persist after rebooting the computer. Users operating on frugal installs - booting the iso file (or running from a live system without persistence) will need to adjust the settings manually each time the system is started.

Using Jack Audio and the ALSA Loopback Device

The Jack Audio Connection Kit is a software package which routes audio between applications, and does exactly what is necessary for advanced methods of software defined radio digital mode operation. It acts as an interconnection layer allowing one to use any source of signal data and feed it to or from the proper digital mode software. That means Jack works for both reception and transmission of any of the digital modes.

The ALSA Loopback device functions as a virtual audio interface. Applications send outbound audio to one port of the loop, and it apears at the other end for use by other applications. It is well known that one can record system sounds, streaming audio, or any other audio that passes through the system using the ALSA Loopback device. What is less known is that the loopback can be used to feed signals from a WebSDR site to digital radio mode decoding software. By itself, the loopback is a bit crude. Fldigi is sophisticated enough to take audio from the ALSA loopback interface and decode signals, but at the cost of not actually hearing the audio. It is possible to cobble together more plugins to use with Windows applications using WINE, but the results are not reliable. The loopback needs some help from another layer of software, and that layer is Jack.

WebSDR internet radio used for
receiving psk-31 and other digital radio modes - Jack Audio ALSA Loopback method.
Monitoring PSK-31 via the W4AX WebSDR site.

Obtaining The ALSA Loopback Device

The loopback device is included on most recent Linux systems. Do not waste time struggling with an old distribution that doesn't have the "snd-aloop" module. Any kernel from 2.6.37 or later will have it built in. Another advantage of recently updated Linux distributions is fresh code for ALSA. If, for some reason, it is desired to manually compile and install the aloop driver module, visit the Alsa-Project for the latest source code, instructions, and tips. Also get the alsa-utils package, as it contains useful utilities for testing and manipulating audio in Linux. Shown below are commands for getting packages with apt. Always do an "apt-get update" before trying to download new software.

Alsa-utils is easy to obtain with typical Linux software package managers, and the command line can be used with this entry:

# apt-get install alsa-utils

To load the snd-aloop module for use during a single computing session, use the following code on the command line (as root user):

# modprobe snd-aloop

To load the module automatically at boot time, it is necessary to go into the system configuration files and add it to the list of automatically loaded kernel modules. Edit the file "/etc/modules" (as root) to add the following code:

#Alsa loopback device for clean access to pcm audio
snd-aloop


Installing The Jack Audio Connection Kit

As with other complex software packages, things are easy with a good package manager. Below is the command to use apt for downloading and installing the Jack Audio Connection Kit and any dependencies not already on the computer:

# apt-get install jackd


Configuring the "asound.conf" File

Now that the ALSA loopback device is in the system, it needs to be configured for easy use by Jack and other applications. Configure the system for all users by creating or editing the system file "/etc/asound.conf" where virtual capture and playback plugs will be defined. Put the following code into the file:

# This is asound.conf code for enabling the transfer of 
# audio data between alsa applications Jack Audio.

# playback PCM device: using loopback subdevice 0,0
pcm.amix {
  type dmix
  ipc_key 219345
  slave.pcm "hw:Loopback,0,0"
}

# capture PCM device: using loopback subdevice 0,1
pcm.asnoop {
  type dsnoop
  ipc_key 219346
  slave.pcm "hw:Loopback,0,1"
}

# duplex device combining our PCM devices defined above
pcm.aduplex {
  type asym
  playback.pcm "amix"
  capture.pcm "asnoop"
}

# for jack alsa_in and alsa_out: looped-back signal at other ends
pcm.ploop {
  type plug
  slave.pcm "hw:Loopback,1,1"
}

pcm.cloop {
  type dsnoop
  ipc_key 219348
  slave.pcm "hw:Loopback,1,0"
}

# define the default devices
pcm.!default {
  type plug
  slave.pcm "aduplex"
}

pcm.!default  {
type hw
card 0
}
ctl.!default  {
type hw   
card 0
}

The code above sets up a computer to use the loopbacks in a much more flexible manner than the ASIO4ALL drivers used on Windows and Mac systems. It is possible to route any audio through Jack to decoders, DSP filters, recorders, or any other software the user can imagine and apply for more effective use of the sound system.


Configuring Jack Audio for Loopback Devices

To properly recognize the ALSA loopback devices, Jack Audio needs to receive certain configuration commands when it is started. The loop2jack script should be placed in the directory /usr/local/sbin and made executable:

#!/bin/sh
# script loop2jack, located in /usr/local/sbin
 
# loop client creation
/usr/bin/alsa_out -j ploop -dploop -q 2 2>&1 1> /dev/null &
/usr/bin/alsa_in -j  cloop -dcloop -q 2 2>&1 1> /dev/null &

# give it some time before connecting to system ports
sleep 1

# cloop ports -> jack output ports 
jack_connect cloop:capture_1 system:playback_1
jack_connect cloop:capture_2 system:playback_2


# system microphone to "ploop" ports  
jack_connect system:capture_1 ploop:playback_1
jack_connect system:capture_2 ploop:playback_2
 
# done
exit 0

Next, start the Jack Control interface and go into the SETUP menu. Navigate to the OPTIONS tab, and check the box "Execute script after Startup." Fill the associated text field with the command:

/usr/local/sbin/loop2jack

Configuring Jack Audio to use the ALSA
loopback device and copy PSK-31 and MT63 signals.
Configuring Jack Audio to use the ALSA loopback device.


Routing WebSDR Audio to Digital Decoding Software

After configuring the computer as shown above, reboot to clear the old audio configuration.

In this example, the very nice Fldigi program will be used as a decoder, for WebSDR sites loaded in Firefox. Fldigi can be obtained from the W1HKJ website or downloaded from regular Linux software repositories. Windows applications can be used in WINE, and audio can be fed to virtual machines for more flexibility. Truly, with Linux and Jack there are few limitations to routing and using any audio on the computer.

After rebooting the computer, start the Jack Audio control interface and start the server. Press the "Connect" button and look for the capture and playback loops. The audio from WebSDR pages will appear at "cloop" and should be connected to "system" to hear the audio on the system speakers or headphones.

Start FLdigi and go into the configuration menu. Select the tabs AUDIO and DEVICES. Check the PORTAUDIO box and select CLOOP for the capture device. As for the playback device, PLOOP works fine, but it is also okay to select the system's soundcard - sending the output straight to the speakers. During testing on a recent version of AVLinux, selecting SYSTEM for the capture and playback devices resulted in succesful reception of audio signals.

Configuring Fldigi to use Jack Audio routings for SDR digimode reception.
Configuring Fldigi to use Jack Audio routings.

Reception of digital radio modes from a WebSDR site is similar to using a local transciever. For example, tuning the W4AX WebSDR to 14.070 (in upper sideband mode) reveals plenty of psk-31 signals when the 20 meter band is open. In FLdigi, one can see that the receiver gain is set rather high, with lots of background noise and rather weak signals activating the AGC. QRM is easy to eliminate by narrowing the WebSDR filter bandpass. OLIVIA and MT63 are also easy to find and decode - simply go to the calling frequencies and wait for a signal. An added benefit of using a separate digimode decoder is being able to see greater detail in a narrow band than available on the WebSDR waterfall display. Feeding the audio to SpectrumLab (using WINE under Linux) provides excellent spectrum analysis capability.

For the best bandwidth and overall performance with your digital radio system, give thought to using a high definition audio interface

Radio technology is continuing to advance along with computer networking and audio technology. WebSDR sites have jumped ahead, offering the ability for numerous users to simultaneously enjoy high quality reception of radio signals all over the world. By using software designed to route audio data within a computer, it is possible to use digital radio modes not built into the WebSDR interface. The technology also makes it possible to make bit perfect recordings of signals from online radio receivers or other streaming audio sources. The method given above is not the only way to electronically patch a web radio into digimode software, but it works efficiently and reliably. Now, go out there and tune some digimodes!



Tags: WebSDR, OpenWebRX, PSK-31, WSPR, JT65, Digimodes, Fldigi, WSJT

©2005 - 2020 AB9IL, All Rights Reserved.
About, Contact, Privacy Policy and Affiliate Disclosure, XML Sitemap.