Programmer Tyler Watt has been working on software that automatically logs each call from an RTL-SDR running DSD (Digital Speech Decoder) and then stores it in a time stamped database as an mp3 file. There is also a web front end for the database which allows public users to search and play recorded calls.
D-STAR or (Digital Smart Technologies for Amateur Radio) is a Frequency Division Multiple Access (FDMA) Gaussian Minimum Shift Keying (GMSK) digital voice and data protocol used in amateur radio.
Up until recently it was possible to decode D-STAR headers using either DSD 1.6 or dstar.exe and an RTL-SDR, but it was not possible to decode voice. Now amateur radio hobbyist PU2VLW has brought to our attention that the latest DSD development version 1.7 is capable of decoding D-STAR audio (his post is in Portuguese so we suggest using Google translate). He shows a video of some example D-STAR decoding which we show at the end of this post.
DSD 1.7 can currently be downloaded as source from it’s GitHub respository. Instructions for installing DSD 1.7 on Linux can be found on the post by PU2VLW and the GitHub readme. PU2VLW built DSD 1.7 in Ubuntu 10.04, noting that newer versions of Ubuntu have removed OSS (Open Sound System) support which DSD requires. He then runs SDR# on a Windows PC, tuned to a D-STAR signal, and uses an audio out cable to connect the Windows PC’s audio out to the Ubuntu PC running DSD 1.7.
Update: See this post for installing DSD 1.7 on Windows.
EDIT: There is now a version of DSD+ that can decode D-STAR. https://www.rtl-sdr.com/dsd-version-1-5-released/
Update: This post is now very old. The latest version of DSD+ can now to found at www.dsdplus.com.
Over on Reddit we've seen mention of an upgraded Digital Speech Decoder (DSD) program, named DSD+. The original DSD is a program that can be used in conjuction with a SDR receiving program such as SDR#, and an audio piping program like VBCable to decode digital speech, such as P25 and DMR/MOTOTRBO.
DSD+ can be downloaded from this megaupload link.
To run DSD+. you will need to place an MP3 encoder file lame_enc.dll into the same folder as the dsd.exe executable. This file is not included with DSD+ due to licencing. For Windows, lame_enc.dll can be downloaded from http://lame1.buanzo.com.ar/#lamewindl (Mega Mirror). Download the ZIP option, and then copy the dll file into the same folder as DSD+.
If you don't know how to use DSD, see our tutorial on using DSD here, and if desired simply use DSD+ instead of the original DSD. (Note cygwin is not required for DSD+)
The popular digital speech decoder (DSD) software has now been wrapped into a GNU Radio Companion block. Previously, DSD required use of virtual audio cables to get decoding to work with GNU Radio, but now the signal audio can be passed directly into this block.
Luke Berndt from the HackRF-dev forums has posted his work to make the functionality of DSD available to GNU Radio users in the form of a GRC block. “I have been playing around a bit and found an easy way to receive and playback digital LMR. More and more of the radio systems are going from narrow band FM to Digital. This makes it tough to listen to them on GQRX. DSD is a great program which can decoded the audio you get when you tune in a system in GQRX, but you either have to run it on another machine with a audio cable in between or figure out how to do a virtual audio cable on your machine.
Luckily, someone wrapped the DSD libraries so they can be accessed as GRC blocks. I have put together a GRC file and a Python program that make it a little easier to use the block.
If you have a chance, give them a try and let me know if they work. There is a good chance I have messed up the values in the filters or else where, but I have gotten clean audio out of it.”
Download the files from GitHub.
DSD is a Linux and Windows software program capable of decoding popular digital speech codecs such as APCO P25 and MOTOTRBO/DMR.
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.