Improved Digital Voice P25 Decoding with DSD+

Update: This post is now very old. The latest version of DSD+ can now to found at

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+ claims to have improved decoding and audio quality capabilities. An audio sample from a weak P25 sample can be found here for DSD+, and for comparison here for the old DSD.

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 (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+)

DSD+ Output
DSD+ Output
Notify of

Inline Feedbacks
View all comments

The download link is brokendefined


For the VAC sys. The system will not work unles it set as default in both playback and recording. Hence as it the default in the playback no sound comes from the speaker!!! Im really confused how to fix this


Able to decode mototrbo but no success with p25. Voice very garbled, you can make out an occasional word. Any suggestions? Signal is in the clear. Tried all possible settings in SDR Sharp. Are there commands in DSD+ that may help? Tnx


P25 simulcast distortion sounds like that. I can usually improve my decode with small changes in antenna position and orientation.

Ton muller

Can some1 point out here.
Got line out from machine to line in on my SB XFI, i sometimes some +D-star sync coming, but no voice.

Ton muller

aah, ok, thnxs..


I’m not sure whats up with this, but I don’t get any audio. Just a whole lot of scrolling:
SYNC: P25p1 NAC: A0 LDU2 e:EfFrFrFrDrFrEr
unknown/infalid DUID: 2 (sometimes that 2 is an 8 or a 14). but for the most part its mostly FrEr’s etc..

Sync:-P25p1 NAC: A0 LDU2 e:FrDrFrFrFrErCrErCr
Sync:-P25p1 NAC: A0 LDU2 e:FrFrFrErFrErDrErEr
Sync:-P25p1 NAC: A0 LDU2 e:CrErDrDrErErFrErEr
Sync:-P25p1 NAC: A0 LDU2 e:FrFrFrErDrFrErErFr
Sync:-P25p1 NAC: A0 LDU2 e:ErErFrErErFrFrDrFr
Sync:-P25p1 NAC: A0 LDU2 e:FrFrFrErFrFrFrErCr
Sync:-P25p1 NAC: A0 LDU2 e:FrFrFrErFrFrFrErCr
Sync:-P25p1 NAC: A0 LDU2 e:FrFrFrErFrFrFrErCr
Sync:-P25p1 NAC: A0 LDU2 e:FrFrFrErErFrFrFrCr


You might be connected to a trunked frequency. Only unitrunker can read those.
Just leave the dsd decoder open and look for P25 waterfalls around the 800-900Mhz range.
You might have to tweak the audio levels for the digital input, It said 33% lvl is a good number.


MEGAUPLOAD site refuses to download to internet explorer. I have the latest version. So often this kind of crap stops folks from enjoying free software. All these “DSD+” files should be uploaded to GITHUB.


Maybe you should use a better browser.


Working well, using an old Icom IC PC-R1000, and it’s “9600 packet” port, feeding the “Line” input on a Win7(32 bit) laptop, happily decoding the output from UHF and VHF amatetur DMR repeaters here in the UK.
Yet to explore all the options, so don’t know (yet) if it’s possible to seperate multiple voice streams (or select one & blank the other) easily. Or, to see any of the text messaging that the Motorola DMR systems can handle. Still, well done to the collective authors and testers. Very much appreciated.
“Open” source is one thing. Having the skill and knowlege to examine and use it, is another.


Impossible to receive Mototrbo inverted signal with DSD+, because the command -xr is not working.
Is it possible to receive inverted signals with another command ?


I tried with -fa, but it doesn’t work. I have “ERR3” on each line, and no sound.


DSDPlus has no more options -xr -xR ?
How to force inverse polarity for MtTrbo?

Scan freak

I’m haveing a hard time with a EDAC system, It uses Provoice and what happens is the edacs puts its beeps over the provoice, then dsd fails to decode.

If you want to WAV file to sample. msg. me


Docs for DSD 1.7 say:

-fp Decode only ProVoice*
-pu Unmute Encrypted P25
-u Unvoiced speech quality (default=3)

so you might want to try -fp -pu -u 1 … (and -fp at minimum, or no PV).


I am unable to download DSD+ can someone supply a new link or send it to me?


I hope DSD+ wil (in the future) support tetra.
Here in Europe no-one is using p25, only tetra is.
Police, fire, ambu is mostly crypted, but enoug clear signals to receive.


Working brilliantly for me. I’ve been trying to get good p25 reception via SDR for ages, and the improvement in DSDplus was just enough to get me over the hump from “working OK but usually not worth the hassle,” to “I can’t believe this isn’t my PSR800.” The simple fact that we no longer have to use cygwin’s dll and can route audio however we want to in windows would have been enough to make my week, but this does oh-so-much more. I’m really thrilled. If you were underwhelmed by p25 on DSD before, give it one more shot with this…

Rob T.

Also, listed in the linked reddit thread is a mention of an updated version, 1.7 of the original DSD 1.6 on github. It looks like development was active again in December 2013, as well as July 2013.


For strong signals, this version definitely sounds better than DSD 1.6 on P25.

Has anyone had any success in optimizing settings according to the DSDPlus.txt instructions?
I created a rawAudio.wav file as per the instructions, but no ‘decoding score’ is displayed.
(DSDPlus <rawAudio.wav -o0 -O NUL -f1)
Any ideas how to get this working would be appreciated.


Download link does not seems to work. Kindly help me download DSD+


One more thing it now says if the p25 is encrypted or not. great

Muting encrypted voice
Sync: no sync


I got lots of

Sync:+P25p1 unrecoverable NID
Sync:+P25p1 unrecoverable NID
Sync:+P25p1 unrecoverable NID

Not sure what it means yet, still checking, if someone knows what these mean and explain them, it will be appreciated.


DSD+ works fine under wine on ubuntu. One thing to notice, it`s very sensitive now, it is not working with weak signals like original dsd worked before.


DSD+ was recoded from scratch with windows as the target and that is why there is no source code available, and unfortunately the author seems to want to keep it that way.


This guy deserves to be taken to court for refusing to disclose the source of a derivative work of GPL licensed code. Obviously he doesn’t care about stealing the code which should be for everyone. IF you want to work on the project, just send the patches to github….

About this being rewritten from scratch… That’s a lie and he needs to prove this in court. RELEASE THE SOURCE!!!


If it works better – who really cares about the source code? 99.9% want software to work at it’s best – not worry about technical issues. Prove it in court – the courts wont care, unless, maybe encryption is involved. Otherwise all the info is in the public domain.