The dxzone.com website has uploaded a post that lists five free virtual audio cable software programs. Virtual audio cable’s allow you to “pipe” or pass the audio from one application to another. For example, in order to pass the audio of a digital P25 signal received in SDR# into a decoding program such as DSD+, you need to use a virtual audio cable. The most commonly recommended software is Virtual Audio Cable, but this software is not free. See the dxzone.com post for their list of five alternatives for Windows, Linux and MaxOS.
Recently we posted about PU2VLW’s project where he was able to decode and listen to D-STAR voice using an RTL-SDR and SDR# running on Windows connected via physical audio cable to a second Linux machine running DSD 1.7.
Now a RTL-SDR.com reader by the name of “Skywatcher” has written in to tell us how he was able to compile DSD 1.7 on a Windows PC using Cygwin. This allows him to decode D-STAR audio on a single Windows PC. Skywatcher kindly sent us the steps he used to compile DSD 1.7 on Windows.
1. Download the zip archive for dsd-1.7.0 from here: https://github.com/szechyjs/dsd and then unzip the archive, so that you get the folder dsd-master, which includes all the source files.
2. Download the zip archive for mbelib-1.2.5 from here: https://github.com/szechyjs/mbelib and then unzip the archive, so that you get the folder mbelib-master, which includes all the source files.
3. Download and install the Cygwin environment. It is important to use the 32 bit version. It will not work with the 64 bit version. In the installation process, you also have to make sure that you choose gcc (the compiler) for installation.
4. Within the Cygwin command window, use gcc, to compile every .c file within the folders mbelib-master and dsd-master (subfolders can be ignored), so that you will get an .o file (object file) for each source file.
5. Copy all the resulting .o files from mbelib-master to dsd-master and use gcc again to link all the object files, so that you will get the final executable dsd.exe. This final step also has to include the sndfile library from Cygwin being mentioned in the call of gcc, otherwise it will not work.
6. In order to start dsd.exe, it is necessary to copy cygwin1.dll to the same folder, where your built dsd.exe is. It is very important that the version number of the dll is being lower than 1.7.26, otherwise dsd.exe will crash. If this is not the case for your dll, you have to find an alternative version from the internet. Additionally, it may be necessary to copy more dlls, needed by the sndfile library, next to your dsd.exe. This may depend on your environment variables of your system.
7. For decoding D-Star, you should call DSD like following: dsd -i /dev/dsp -o /dev/dsp -fd
8. For best results, make sure that all your SDR# and VAC sample rates are set to 48kHz and that you have disabled “Filter Audio” in SDR#. Also, the audio volume of SDR# should not be set to high.
With DSD 1.7 running on Windows, Skywatcher was able to get these results shown in the video links below.
EDIT: Reader Kotelnikov007 from the comments section has been kind enough to upload a pre-compiled windows version. https://mega.co.nz/#!Ft9WFbgQ!sOhsUeMC83Xi5Wxjr4eEPoc0WuM0cJOM2bq9DnE4dWE
Adrian also writes
– The list of the required DLLs to make it work are these:
– It is needed to load sndfile library (already prebuilt in Cygwin).
– It needs MBE, but also the ITPP libraries.
Virtual Audio Cable is an important software tool for the Windows rtl-sdr user. It allows an audio data stream to be piped from a software radio program such as SDRSharp, into a decoding program. Unfortunately Virtual Audio Cable is not free, which is not in the cheap spirit of rtl-sdr, and at $25 it costs more than the dongle itself. There is a trial version, but it periodically plays a watermark voice which can break decoding.
A free (donationware) alternative to Virtual Audio Cable that we recently found is VB-Cable. VB-Cable does exactly the same job as Virtual Audio Cable but for free. By donating any amount to the developer, you can unlock two more virtual audio devices, which is useful if you use multiple rtl-sdr dongles on one machine.
Note, one trick to installing VB-Cable is that I found that I had to run the installer in Administrator Mode on a Windows 7 machine to get it to work.
The RTL-SDR software defined radio combined with SDRSharp and a program called “digital speech decoder” (DSD) can be used as a radio scanner to easily and cheaply listen to unencrypted digital radio voice conversations.
Digital radio voice communications are becoming more commonly used in the radio spectrum. This is due to the various improvements offered over traditional analogue voice radio systems. Unfortunately for radio scanner hobbyists, digital radio is difficult to receive, as special radio scanners which can be expensive are required to decode the digital signal. Additionally, digital radio systems can be encrypted making it impossible for communications to be decoded by a hobbyist. However, most users of digital radio do not bother to encrypt their systems as it can introduce lag, monetary expense and extra battery drain in portable radios.
The most common digital speech codec is APCO P25, which DSD is able to decode. DSD is also capable of decoding other common digital codecs such as DMR/MOTOTRBO, NXDN, D-STAR and ProVoice.
Super cheap software defined radios such as the RTL-SDR can be used to decode these digital voice communication signals instead of expensive radio scanners. While this tutorial is aimed at the RTL-SDR, other software radios such as the Funcube dongle, Airspy, HackRF and BladeRF will also work. Hardware radios with discriminator taps connected to a PC may also work.
Examples of DSD Decoding Digital Voice with RTL-SDR as a Radio Scanner
YouTube user Geoff Wolf shows a video where he uses RTL-SDR as a police scanner to listen to public safety P25 digital radio using DSD, SDRSharp and virtual audio cable.
Many things you can do with rtl-sdr require piping the audio from SDR# or another software radio receiver into another program which is used to decode the audio. In Windows this can be achieved with stereo mix. This tutorial will show how to enable stereo mix.
What is ACARS?
ACARS is an acronym for Aircraft Communications Addressing and Reporting System which is a digital communications system that aircraft use to send and receive short messages to and from ground stations.
Standard ACARS transmits at a frequency of 131.550 MHz, which is in the receivable range of the RTL-SDR. The RTL-SDR software radio can be used as a radio scanner for listening to these digital messages, and with the help of some decoding software, can be used to decode and display the messages. The messages you can receive will be from nearby aircraft and ground stations. Most messages will be unreadable data intended for computers, but you can find out what is flying near you by decoding the flight number and aircraft registration details sent with every message.
There is also HF ACARS, which is used for long distance communications. In this article the focus will be on VHF ACARS, as receiving HF ACARS is a little different.
Examples of the RTL-SDR being used to decode ACARS
YouTube user Superphish shows a timelapse over 5 hours of ACARS traffic and decoding using SDR# and decoding program acarsd. He used a J-Pole antenna. (2021 Update: please see note regarding acarsd no longer working as expected below in the tutorial)