Digital Speech Decoder (software package)
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. It's discussed in this forum
The latest version 1.4 supports the following formats and modulation types:
- 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.
The forum for discussion of this package can be found here
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.
||Discriminator Source||Input||Input Sound Device||Output Sound Device||Linux Flavor||Computer Specs||Audio Successfully Decoded
|GRE PSR-500 Direct Tap||iMic mic port||iMic||Onboard audio||Ubuntu 10.04||Dell Mini 1012 netbook N450(1.66GHz)||ProVoice
|RadioShack Pro-79 Direct Tap||Line In||Analog Devices ADI 198x Integrated Audio/SoundBlaster Live!32||Analog Devices ADI 198x Integrated Audio/SoundBlaster Live!32||Xubuntu 9.10/Ubuntu 10.04||Dell GX270 (P4 2.6 GHz)/Lenovo Thinkpad X61 (Core 2 Duo)/Dell Precision 300 (P4 3.2 GHz)||P25 Phase I, ProVoice, MotoTRBO
|RadioShack Pro-94 Direct Tap||Line In||Realtek HD Integrated Audio||Realtek HD Integrated Audio||Ubuntu 10.04||Custom Built/ Gigabyte Motherboard||P25 Phase 1
|RadioShack Pro-95 Direct Tap w/10k Resistor||Line In||iMic & Realtek HD Integrated Audio||iMic & Realtek HD Integrated Audio||Ubuntu 10.04||Custom Built/ Gigabyte Motherboard||P25 Phase 1, Provoice
|RadioShack Pro-97 Direct Tap||Line In||Realtek HD Integrated Audio||Realtek HD Integrated Audio||Ubuntu 10.04||Acer Aspire One Netbook D150 (1.7 GHz)||P25 Phase I
|RadioShack Pro-2067 Direct Tap||Line In||Analog Devices ADI 198x Integrated Audio||Analog Devices ADI 198x Integrated Audio||Ubuntu 10.04||Dell GX520 (2.8 GHz - 3.4 GHz)||MOTOTRBO, ProVoice
|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 (1.8 GHz - 2.4 GHz)||P25 Phase 1 and Mototrbo
|Icom IC-PCR1000 Packet output||Line In||AC97||Sound Blaster X-FI Xtreme||Debian Lenny||Athlon 64 3000+ (2.0 GHz)||Provoice,Mototrbo and P25 Phase I
|Uniden BCT15X||Line In||AC97||Sound Blaster X-FI Xtreme||Debian Lenny||Athlon 64 3000+ (2.0 GHz)||Provoice,Mototrbo and P25 Phase I
|Uniden BC235xlt Direct Tap||iMic mic port||iMic||Onboard audio||Ubuntu 10.04||Dell Mini 1012 netbook N450(1.66GHz)||ProVoice
|Uniden BC245xlt Direct Tap||iMic mic port||iMic||Onboard audio||Ubuntu 10.04||Dell Mini 1012 netbook N450(1.66GHz)||ProVoice
|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 (2.4 GHz - 2.8 GHz)||P25 Phase 1
|Uniden BC350A Direct Tap||Line In||RealTek HD Integrated Audio||RealTek HD Integrated Audio||Ubuntu 10.04 32-bit||AMD Turion 64 X2 (2.0 GHz)||MotoTRBO and NXDN 4800
|Yaesu ft857 packet socket||Line In||snd_hda_intel||snd_usb_audio||Ubuntu 9.1 32bit||AMD Athlon 64x2 8400+ (2.1 GHz)||MotoTRBO
|Yaesu FT8800 Disc Tap||Line In||AC97||AC97||Debian (no GUI)||1.7 GHz Athlon||MotoTRBO flawless, P25 poor
|RS Pro-90 Disc Tap||Line In||AC97||AC97||Ubuntu 10.4||3 GHz 1.5MB||P25 Phase 1
|AOR AR-2515 Disc Tap||Line In||AC97||AC97||Ubuntu 10.4||3 GHz 1.5MB||P25 Phase 1
|Uniden BCT-15 Disc Tap||Mic in||ATI||Sound Max||Ubuntu 10.4||2.4 GHz Core 2 Duo 4.0MB||P25 Phase 1
|Kenwood TH-F6A 9600 baud out w/100k ohm resistor and 10uf capacitor built into cable||Mic in||AC97||AC97||Ubuntu 10.04||Acer Aspire One||P25 & TRBO
|RadioShack Pro-433 Disc Tap||Line in||Intel HD Audio||Intel HD Audio||Ubuntu 11.04||Dell Inspiron 1525 Core 2 Duo||MOTOTRBO
|RadioShack Pro95 Disc Tap||Line in||G110 Keyboard||G110 Keyboard||Windows 7||EVGA x58/i7 920||Provoice
|Uniden BCT15X Disc Tap||Mic In (DC Bias removed)||C-Media CM108 ($1.87 on eBay)||C-Media CM108 ($1.87 on eBay)||Windows 7 Pro||IBM x336 dual Xeon 3.0GHz||ProVoice & DMR & P25 I
|Uniden BC796D Disc Tap||Line in||Sound Blaster X-Fi Extreme||Sound Blaster X-Fi Extreme||Windows 7||HP Pavillion Elite, Intel i7 quad core||P25 P1, ProVoice, DMR/MOTOTRBO
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: Where can I get information on the discriminator tap for my radio?
A: Wiki information is available here for the Discriminator_output.
Q: Will this work on Windows?
A: As of Dec 7-2011 Binaries for windows have been added.
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.