New DSD Block Available for GNU Radio

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.

Via DangerousPrototypes

Notify of

Inline Feedbacks
View all comments

This is a dead end result


And where to dl this dsd-package for gqrx/ubuntu and how to install it?


Actually, the author of the Gnuradio block is Clayton Smith. Also Gqrx works perfectly with his DSD block:


Forgot to state the errors:
Error 0:
Block – blks2_rational_resampler_xxx_0 – Rational Resampler(blks2_rational_resampler_xxx):
Sink – in(0):
Port is not connected.

Error 1:
Block – blocks_wavfile_sink_0 – Wav File Sink(blocks_wavfile_sink):
Sink – in(0):
Port is not connected.


When I open the .GRC file I receive two errors. How do I go about fixing these errors to execute?


really great news!