Digital Speech Decoder (software package)
From The RadioReference Wiki
Digital Speech decoder is an open source software package that decodes several digital speech formats. It uses the mbelib library (a separate open source package) to synthesize the decoded digital speech. It does not allow decoding of encrypted communications. It can save the compressed digital audio bits to "mbe" data files (.imb and .amb extensions) and play back those saved files.
The latest version 1.4 supports the following formats and modulation types:
- P25 Phase 1
- ProVoice EDACS Digital voice
- X2-TDMA - Motorola public safety TDMA system with P25 style signaling (mostly based on DMR)
- DMR/MOTOTRBO - Digital Mobile Radio standard
- NXDN - 9600 baud (12.5 kHz) NEXEDGE and 4800 baud (6.25 kHz) NEXEDGE/IDAS
- C4FM modulation
- GFSK modulation (including GMSK and other filtered 2/4 level FSK)
- QPSK modulation (sometimes marketed as "LSM")
The following formats are currently under investigation or development:
- P25 Phase 2 - standard not finalized yet, vocoder is supported by mbelib
- OpenSky - four slot format vocoder may be supported by mbelib. Will not be supportable if it is determined that voice encryption is not optional
- D-STAR - Voice frames recognized, vocoder not supported by mbelib. May be possible to pass voice bits to DVDongle.
- Other formats will only be considered if high quality samples of the signals are made available for download by the developers. Samples must be from a discriminator tap, .wav format, 48000Hz, 16 bits per sample, mono.
DSD and mbelib should compile on Linux and *BSD operating systems. Any linux distribution should work as long as it has support for your audio devices. DSD version 1.3 and later requires mbelib 1.2 or later.
DSD and mbelib are both released under a BSD style copyright license. This means that as far as copyrights are concerned it can be freely copied and used, including for commercial products as long as the original copyright notice is included. (however see important patent issues section below)
Patent Issues with mbelib
While DSD was intended to be patent-free, mbelib describes functions that may be covered by one or more U.S. patents owned by DVSI Inc. The source code itself should not be infringing as it merely describes possible methods of implementation. Compiling or using mbelib may infringe on patents rights and/or require licensing. It is unknown if DVSI will sell licenses for software that uses mbelib. If you do not have a license and are in a jurisdiction protected by the DVSI patents you should not compile or use this source code.
Known Working Hardware Setups
If this list gets large enough I will move it to its own page so as not to detract from the overview of DSD.
Template:Prettytable |-align="left" style="background:silver;" ||Discriminator Source||Input||Input Sound Device||Output Sound Device||Linux Flavor||Computer Specs||Audio Successfully Decoded
|- |Pro-2067 Direct Tap||Line In||Analog Devices ADI 198x Integrated Audio||Analog Devices ADI 198x Integrated Audio||Ubuntu 10.04||Dell GX520||MOTOTRBO, ProVoice
|- |Pro-94 Direct Tap||Line In||Realtek HD Integrated Audio||Realtek HD Integrated Audio||Ubuntu 10.04||Custom Built/ Gigabyte Motherboard||P25 Phase 1
|- |Pro-79 Direct Tap||Line In||Retreiving...||Retreiving...||Xubuntu 9.10||Dell GX270||P25 Phase I, ProVoice
|- |Yaesu FT8800 Disc Tap||Line In||AC97||AC97||Debian (no GUI)||1.7 GHz Athlon||MotoTRBO flawless, P25 poor
|- |Icom IC-PCR1000 Packet out w/100k ohm resistor and 10uf capacitor built into cable||Line In||AC97||Diamond XS71||Ubuntu 10.04||Amd Athlon 64||P25 Phase 1 and Mototrbo
|- |Uniden BC246T Disc Tap w/100k ohm resistor and 10uf capacitor built into cable||Line In||AC97||AC97||Ubuntu 10.04 on flash drive||Dell Dimension 2400||P25 Phase 1
|- |Yaesu ft857 packet socket||Line In||snd_hda_intel||snd_usb_audio||Ubuntu 9.1 32bit||AMD Athlon 64x2 8400+||MotoTRBO
|- |Pro-97 Direct Tap||Line In||Realtek HD Integrated Audio||Realtek HD Integrated Audio||Ubuntu 10.04||Acer Aspire One Netbook D150||P25 Phase I
|- |Icom IC-PCR1000 Packet output||Line In||AC97||Sound Blaster X-FI Xtreme||Debian Lenny||Athlon 64 3000+||Provoice,Mototrbo and P25 Phase I
|- |Uniden BCT15X||Line In||AC97||Sound Blaster X-FI Xtreme||Debian Lenny||Athlon 64 3000+||Provoice,Mototrbo and P25 Phase I |}
Frequently Asked Questions
Q: Do I need a radio with discriminator tap?
A: Yes, if you want to listen live or save mbe data files. No radio or discriminator tap is required to play saved mbe data files.
Q: Will this work on Windows?
A: No, but other developers are supposedly working on a port to Windows
Q: Will this work on a Mac?
A: No, because OS X does not use the traditional unix-like /dev/audio interface. It should be easy for someone familiar with mac audio programming to port it to the Mac.
Q: Will you support decryption if I lawfully posess the encryption keys?
A: From the README file:
Decryption of speech is NOT supported, even if you lawfully posess the encryption keys. Decryption support will not be added in the future as the authors wish to steer as far away from the legal issues associated with encryption as possible.
Q: Who are the author(s)?'
A: The author(s) are anonymous but PGP keys are provided inside the packages so future releases/communications can be verified.