Topics

dsdcc


Steve <kb9mwr@...>
 

There is a new C++ rewrite of dsd, the digital speech decoder, that can decode P25, DMR, D-Star etc. It's called dsdcc ( https://github.com/f4exb/dsdcc ) It also supports doing the decoding with a AMBE hardware dongle.

Wondering if anyone has tried it? I recently tried giving it a go on a Raspberry Pi 2 (not sure that will have enough snot), but ran into endless problems with dsdcc and its output to the pi sound. I get "Error writing to output" when when I try and tell it to use-o ( Audio output device) hw:0,0 .  Same error after I install alsa-oss and do the modprobe to enable /dev/dsp.

The prior version of dsd supports port audio, this one doesn't appear to.

pi@raspberrypi:~ $ dsdccx -help
DSDDstar::reset_header_strings
DSDDecoder::resetFrameSync: symbol 0 (0)
Digital Speech Decoder DSDcc

Usage:
  dsd [options] Live scanner mode
  dsd -h        Show help

Display Options:
  -e            Show Frame Info and errorbars (default)
  -pe           Show P25 encryption sync bits - not supported
  -pl           Show P25 link control bits - not supported
  -ps           Show P25 status bits and low speed data - not supported
  -pt           Show P25 talkgroup info - not supported
  -q            Don't show Frame Info/errorbars
  -t            Show symbol timing during sync
  -v <num>      Frame information Verbosity

Input/Output options:
  -i <device>   Audio input device (default is /dev/audio, - for piped stdin)
  -o <device>   Audio output device (default is /dev/audio, - for stdout)
  -g <num>      Audio output gain (default = 0 = auto, disable = -1)
  -U <num>      Audio output upsampling
                0: no upsampling (8k) default
                6: normal upsampling to 48k
                7: 7x upsampling to trade audio drops against bad audio quality
  -n            Do not send synthesized speech to audio output device
  -L <filename> Log messages to file with file name <filename>. Default is stderr
                If file name is invalid messages will go to stderr
  -D <device>   Use DVSI AMBE3000 based device for AMBE decoding (e.g. ThumbDV)
                You must have compiled with serialDV support (see Readme.md)
                Device name is the corresponding TTY USB device e.g /dev/ttyUSB0

Scanner control options:
  -R <num>      Resume scan after <num> TDULC frames or any PDU or TSDU

Decoder options:
  -d <num>      Set data rate:
     0          2400 bauds
     1          4800 bauds (default)
     2          9800 bauds
  -fa           Auto-detect frame type (default)
  -fr           Decode only DMR/MOTOTRBO
  -fd           Decode only D-STAR
  -fm           Decode only DPMR Tier 1 or 2 (6.25 kHz)
  -fy           Decode only YSF
  -fi           Decode only NXDN48 (6.25 kHz) / IDAS* - detection only
  -fn           Decode only NXDN96 (12.5 kHz)  - detection only
  -f1           Decode only P25 Phase 1 - not supported
  -fp           Decode only ProVoice - not supported
  -fx           Decode only X2-TDMA - not supported
  -T <num>      TDMA slots processed:
     0          none
     1          slot #1 (default) use this one for FDMA
     2          slot #2
     3          slots #1+2 mixed
  -l            Disable matched filter
  -pu           Unmute Encrypted P25 - not supported
  -u <num>      Unvoiced speech quality (default=3)

pi@raspberrypi:~ $


 

On Mon, Jan 2, 2017 at 3:31 PM, Steve via Groups.Io <kb9mwr@...> wrote:

There is a new C++ rewrite of dsd, the digital speech decoder, that can decode P25, DMR, D-Star etc. It's called dsdcc ( https://github.com/f4exb/dsdcc ) It also supports doing the decoding with a AMBE hardware dongle.


--


John D. Hays
K7VE

PO Box 1223, Edmonds, WA 98020-1223
   


Steve <kb9mwr@...>
 

Some things I have noticed; Apparently you need the mbe library even if you use a AMBE dongle... I wasn't able to get around this dependency.  On the other side of the coin, apparently you also need to build serialDV even if you don't use it. 

We were able to get dsdccx to work with the NW digital dongle. But not without, as we get the "Error writing to output" repeatedly if not using the ambe3000 dongle.

And lastly I don't know if its just me but RTL devices on the Pi seem temperamental, as I get PLL not locked often.  Wonder if its related to no real time clock or something.

Here is a basic guide. 

http://www.qsl.net/kb9mwr/projects/dv/pi-rtl-dsd-experiments.pdf