Improved Digital Voice P25 Decoding with DSD+

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

DSD+ Output
DSD+ Output

EDIT: There is now a new version of DSD+ see http://www.rtl-sdr.com/dsd-version-1-5-released/.

31 comments

  1. Amr

    Hi.
    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

  2. BT

    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

    • David

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

  3. 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.

  4. cypherstream

    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

    • Dave

      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.

  5. Thomas

    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.

  6. DaveKBV

    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.
    73.

  7. Toutatis

    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 ?

  8. 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

    • Roy

      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).

      • admin

        Hi Joe, I just double checked the Megaupload link and it is working. Maybe try another browser or PC if you’re having trouble with the download.

  9. marco

    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.

  10. enoreios

    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…

  11. Anonymous

    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.

  12. Somer

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

    Sync:+P25p1 NAC:BLABLA LDU2
    Muting encrypted voice
    e:FrFrErFrFrFrFrFrFr
    Sync: no sync

  13. Somer

    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.

  14. Somer

    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.

  15. anonymous

    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.

    • Goatman

      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!!!

      • Sparkz

        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.

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>