DSD+ in Ubuntu 18.04

DSD+ is a popular Windows digital decoding program that handles various digital protocols.  I’m going to install and use it with WINE on Ununtu 18.04.  The example I’ll show here today is a digital trunking control channel that the local Emergency Services uses.  Without DSD+ the signal will sound like this:

So anyway my assumptions are that you have an RTL-SDR device and a program such as GQRX installed AND you are receiving a digital signal that DSD+ is capable of decoding.

Navigate to the Download page of DSD+ and get the Program and the DLL files at a minimum.  It is HIGHLY RECOMMENDED to sign up for and use the DSD+ Fastlane releases (which cost money) although for simplicity the original, old version will work for simple decoding.  If you PayPal the developer $10 he’ll give you a year of Fastlane releases and I think $25 buys the lifetime subscription.

Anyway just unzip the Program Files and DLL files to a directory.  That’s it.  Then if you have the Fastlane files just drag and drop them into that directory and allow them to replace the older files.

Now lets install WINE.  One easy way to do that is to go to the Software Center and install an app called PlayOnLinux or you can do it from the command line with

sudo apt-get install wine

or

sudo apt-get install wine-developmental

Now you need to be able to pipe the audio from your SDR program directly into DSD+.  In Windows you use a program called Virtual Audio Cable however in Ubuntu Linux it is much easier than that.

Open a Pulseaudio file with this command

sudo nano /etc/pulse/default.pa

At the bottom of the file add this line:

load-module module-null-sink sink_name=Virtual_Sink sink_properties=device.description=Virtual_Sink

It should be all on one line like so:

Now restart Pulseaudio or reboot.  When you come back one of your audio options in GQRX (or any SDR Program) will be “Virtual Sink”.  Select that and your sound will mute.

Now install something called Pavucontrol.

sudo apt-get install pavucontrol

Launch it with the same command.  pavucontrol

On the Playback tab make sure GQRX is outputting audio on the Virtual Sink and make sure dsdplus.exe is outputting audio on Built-In Analog Stereo.  (I realize at this point I haven’t had you start DSDplus)  You can start DSD+ by opening a command prompt and going to your folder where it resides (mine is in a folder called dsd) and typing the following command:

wine dsdplus.exe

It will look like this when you are tuned to a digital channel”

Now back to Pavucontrol. Here are what the pavucontrol settings look like:

Now on the Recording tab make sure dsdplus.exe is set to “Monitor of Virtual_Sink”

Now with GQRX on a digital channel, the audio piped to Virtual Sink, and DSD+ open, and Pavucontrol set as above you should be decoding audio like this:

You done did it!  I want to point out that this is a trunked channel and you were listening to audio from only one frequency.  There is a way to have DSD+ sit on the Control Channel and output audio from ALL THE TRUNKED CHANNELS.  I did not do this here.  I only showed you how to pass audio through from a digital signal.   This will work with DMR radio, or P25 radios.  For example large chain stores, large restaurants, hotel transportation centers, shopping malls, school bus districts will use Digital P25 radios that just use one channel.  Recently I sat in the airport in Atlanta and found the channel the baggage handlers use and listened to that ballet of moving bags around quickly.  Interesting.

A user over at rtl-sdr.com has found a way to add all the channels on a trunked system (except you don’t add the Control Channel) to GQRX and create a scan group.   So suppose you have a control channel with say 7 or 8 channels assigned, you can just add those 7 or 8 channels and scan through them with DSD+, GQRX, and GQRX Scanner.  Brilliant idea.  You can’t add the Control Channel because it is always transmitting and your scanner would always stop and just stay there.   He uses a HackRF which has ample bandwidth as well for tracking larger systems.

Using a program such as SDRTrunk might be easier for beginners.  SDRTrunk is awesome but I’m all about the way it is done above as well.  Very elegant way to tackle a problem.

Anyway hope this helps someone!  Check my contact page if you have anything to say about this.

 

 

5 thoughts on “DSD+ in Ubuntu 18.04

  1. TC

    Hello,

    Great blog, very insightful! I have a question and I only ask as Im hoping you ran into this also. I have followed your steps and it is working I am able to decode. However, I am not generating per call recordings, have you encountered this?

    Reply
  2. Pingback: Listening To Multiple DMR Channels with DSD+ and a HackRF on Linux

  3. 2E0BBN

    Thanks for the guide, I’d already managed to get DSDPlus Fastlane to run with wine but had bad latency problems but this fixed it!

    Reply
  4. John

    It was essential for me to sign up to Fastlane to decode our local ham repeater. I struggled for quite a while to understand why DSD+ was not decoding anything. it was only when I signed up to Fastlane and upgraded to most current version that I discovered that the repeater was transmitting using Yaesu Fusion rather than DMR or NXDN! The older version that is available free does not decode this format apparently.

    Reply

Leave a Reply

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