Receiving D-STAR Voice with DSD 1.7 on Windows

Recently we posted about PU2VLW’s project where he was able to decode and listen to D-STAR voice using an RTL-SDR and SDR# running on Windows connected via physical audio cable to a second Linux machine running DSD 1.7.

Now a RTL-SDR.com reader by the name of “Skywatcher” has written in to tell us how he was able to compile DSD 1.7 on a Windows PC using Cygwin. This allows him to decode D-STAR audio on a single Windows PC. Skywatcher kindly sent us the steps he used to compile DSD 1.7 on Windows.

1. Download the zip archive for dsd-1.7.0 from here: https://github.com/szechyjs/dsd and then unzip the archive, so that you get the folder dsd-master, which includes all the source files.

2. Download the zip archive for mbelib-1.2.5 from here: https://github.com/szechyjs/mbelib and then unzip the archive, so that you get the folder mbelib-master, which includes all the source files.

3. Download and install the Cygwin environment. It is important to use the 32 bit version. It will not work with the 64 bit version. In the installation process, you also have to make sure that you choose gcc (the compiler) for installation.

4. Within the Cygwin command window, use gcc, to compile every .c file within the folders mbelib-master and dsd-master (subfolders can be ignored), so that you will get an .o file (object file) for each source file.

5. Copy all the resulting .o files from mbelib-master to dsd-master and use gcc again to link all the object files, so that you will get the final executable dsd.exe. This final step also has to include the sndfile library from Cygwin being mentioned in the call of gcc, otherwise it will not work.

6. In order to start dsd.exe, it is necessary to copy cygwin1.dll to the same folder, where your built dsd.exe is. It is very important that the version number of the dll is being lower than 1.7.26, otherwise dsd.exe will crash. If this is not the case for your dll, you have to find an alternative version from the internet. Additionally, it may be necessary to copy more dlls, needed by the sndfile library, next to your dsd.exe. This may depend on your environment variables of your system.

7. For decoding D-Star, you should call DSD like following: dsd -i /dev/dsp -o /dev/dsp -fd

8. For best results, make sure that all your SDR# and VAC sample rates are set to 48kHz and that you have disabled “Filter Audio” in SDR#. Also, the audio volume of SDR# should not be set to high.

With DSD 1.7 running on Windows, Skywatcher was able to get these results shown in the video links below.

https://www.youtube.com/watch?v=5qpwnTDvI-Q

https://www.youtube.com/watch?v=30GcI4LDjdg&feature=youtu.be

EDIT: Reader Kotelnikov007 from the comments section has been kind enough to upload a pre-compiled windows version. https://mega.co.nz/#!Ft9WFbgQ!sOhsUeMC83Xi5Wxjr4eEPoc0WuM0cJOM2bq9DnE4dWE

EDIT2: There is now a version of DSD+ that can decode D-STAR. http://www.rtl-sdr.com/dsd-version-1-5-released/

37 comments

  1. crew-1000

    I am not an informatics programmer so all the c++ or cygwin or link with no folder: I waist my time. So please don’t complicate all the information. I want something plug and play.
    I thank you in advance for your time.

    My setup:
    Windows XP
    One RTL-SDR/USB
    SDRsharp SDR v1.0.0.1317
    Audio VOICEMEETER (Virtual Mixing Console)

    I want to scan numerique: Apco-25, Edacs, Trunking P25, Seram P25, Renir, ProVoice

    If you need to see my setup: http://we.tl/qhqtoBK6ys

  2. Klaus

    Need help for compile dsd 1.7 (june 2014)
    Error on DSD-Master/build cmake ..
    Message from Cgywin:
    — Found LibSndFile: /usr/lib/libsndfile.dll.a
    — Found LibMbe: /usr/local/lib/libmbe.dll.a
    CMake Error at cmake/FindITPP.cmake:18 (MESSAGE):
    Could not find ITPP
    Call Stack (most recent call first):
    CMakeLists.txt:11 (find_package)
    — Configuring incomplete, errors occurred!
    What can i do?

  3. Pingback: Is D-STAR Yesterday's Technology? -
  4. Lee Lewis

    Hello Guys, Using HDSDR with the dsd 1.7 precompiled, audio routed ok but it is garbled (dstar repeater uk) any tips you can give please? managed to get decoding of the text messages ok, callsigns etc

  5. Paulk

    Can someone compile a binary for windows and upload it here. I have followed the instructions fro Window and Linux and have had no luck. I cant Compile the files seperatly or use CMake…
    Thanks

    • admin

      Check out the edit at the bottom of this post, or further down in the comments. Someone has already posted a windows binary and uploaded it.

  6. Kristian

    I cant get the precompiled dsd 1.7 windows working ..

    I have a windows 7 64 bit laptop ..

    DSD 1.7 say .. Digital Speech Decoder 1.7.0-dev (build:GIT NOT FOUND)

    Why ?

    Anyone running it on WM Virtualbox ? Maybe that would be a better choice?

      • admin

        I get the GIT NOT FOUND error, but DSD runs fine on Win7 64bit even though it displays that. Did you run dsd -i /dev/dsp -o /dev/dsp -fd ?

        • Mike

          Thank you. That runs the program without the error related to no audio device. Now to find an active D-Star repeater to see if I can hear anything.

          • Mike

            OK, it is receiving audio on DStar and DMR and P25. Just change that last switch back to -fa to monitor for everything. In my area it looks like I have to add the -xr for the DMR MotoTRBO stuff. As others have said you just have to play around with it to get intelligible audio. I guess the vocoder compresses the heck out of the audio and it sounds kinda garbly but you can make out what is said. It is fun chasing all the different digital modes that are floating around out there. Maybe paging traffic or uni-trunking is next.

  7. DG9BFC

    ok .. downloaded the precompiled version

    problem is audio routing

    with 1.6 i can use virtual audio cable (i can select the input number and outputnumber of the soundcard to use in the options)

    version 1.7 seems to work only with “stereomix” but he audio is garbeled

    how to select vac (what options to set?!?
    dev/dsp is stereomix only

    how to change the input?!?

    • DG9BFC SIGI

      I FOUND IT (or better a workaround

      dsd 1.7 always uses the default recording device as the input

      so how to use the audio routing with vac??

      ser your sdr software to use rtl stick or fcdpp or whatever as input and set virtual audio cable as the output ..now select the virtual audio cable as the default recording device in windows audio settings …
      that is now a working setup here :-)
      decodes dmr and dstar just fine (did not test on other modes yet)

  8. Pingback: RTL-SDR Tutorial: Decoding Digital Voice (P25) with DSD - rtl-sdr.com
  9. Pingback: DSTAR mit RTL Dongle auf PC empfangen | Amateurfunk News in und um Oberbayern
  10. David M

    Can somebody please make a YouTube video on this process….I barely know how to use Linux. Now you want me to run a compile program?? Step 1 and 2 were easy. Steps 3 through 8 need a hell of a lot more detail for the average user. I think the last time I learned any programming was with basic on the TRS-80…..so please spare me a few brain cells and I only started learning about the linux OS because of the Pi.

  11. Pingback: D-Star Voice decoderen zonder ambe chip - D-Star Vlaanderen
  12. Marco

    You can use cmake and make to compile the dsd.exe:

    install libsndfile-devel, make, cmake and cpp in cygwin, extract both archives and then goto mbelib dir and type:
    mkdir build
    cd build
    cmake ..
    make
    make install

    then cd to dsd dir and type:
    mkdir build
    cd build
    cmake ..
    make
    make install

    Now dsd.exe is available and can be used.

    Regards, Marco

    • kikko

      @ Marco
      I just can not hii ..
      You can pass the compiled exe file x windows?
      What would be really appreciated by many unless it is prohibited by the rules, in which case I apologize ..
      I tried installing the tools for compiling but I just can not ..
      thanks
      Maurizio

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=""> <strike> <strong>