DSD 1.3 and mbelib 1.2 released

Status
Not open for further replies.

dsdauthor

Member
Joined
Mar 17, 2010
Messages
49
The Wiki page has been updated with the latest download links.

DSD 1.3 New features:

Decodes voice from ProVoice signals (requires -fp option)
algid and kid are now shown in hex notation

Fixed bugs:
auto output gain now has faster rise time
MoTDMA is now correctly labeled X2-TDMA

mbelib 1.2 New features:

Support for imbe7100x4400 vocoder
Improved audio quality

Fixed bugs:
error in hamming ecc
 

KD4YGG

Active Member
Database Admin
Joined
Jan 30, 2001
Messages
2,044
Thank you sir - may I have another!!!!

Great job dsdauthor!
 

blantonl

Founder and CEO
Staff member
Joined
Dec 9, 2000
Messages
9,746
Location
San Antonio, TX
For ProVoice, it's working perfectly. I'm getting 99% voice recovery rate - it's working well.

The audio sounds a little muffled, but recovery is clear and ProVoice is a success! Yea!
 

blantonl

Founder and CEO
Staff member
Joined
Dec 9, 2000
Messages
9,746
Location
San Antonio, TX
Just to update.

I'm running two instances of dsd on a Quad-core machine / Ubuntu 10.04 LTS. I'm using two soundcards, the onboard set and then a soundblaster Live USB external.

For ProVoice decoding everything is working perfectly.

I've also tested dsd with some of the 99 cent USB soundcard adapters, and they work fine, but some of the audio is a little "tinny" sounding, so I don't believe for serious long term usage they are going to work out.
 

blantonl

Founder and CEO
Staff member
Joined
Dec 9, 2000
Messages
9,746
Location
San Antonio, TX
dsdauthor,

Couple feature requests.. :)

1) Provide an option to allow the output to be piped to an audio device. For instance, it would be nice if we could make the voice output available via something like /dev/dsd1 etc. That would allow for easy streaming and post processing of the audio

2) Implement FM analog audio into the DSP functions. For mixed mode systems it would be nice to recover all audio instead of just the digital methods. Many times talk groups have both digital and analog users/uses. I'm not sure if this can be done from the discriminator, but just a thought...
 

dsdauthor

Member
Joined
Mar 17, 2010
Messages
49
dsdauthor,

Couple feature requests.. :)

1) Provide an option to allow the output to be piped to an audio device. For instance, it would be nice if we could make the voice output available via something like /dev/dsd1 etc. That would allow for easy streaming and post processing of the audio
This is already supported with the -o option. You can specify any regular (existing) file or audio device node. You can ignore ioctl errors when specifying a regular file, DSD will continue and write the audio data to the file. The file does have to exist first however (even
if it is zero length).

You can also use the -w option to output the audio to a .wav file (single wave file that is not closed or changed between transmissions). This way you can monitor live and save to a file simultaneously. The data written to the output file with -o and -w is exactly the same except
for the .wav header. The format is 8k/16bit/mono.

EDIT: I just realized you want DSD to create a kernel audio device that other programs could point to. I will look into that.

You mentioned muffled audio and i think you are using one sound card per instance. When the input and output devices are the same dsd has to upsample the audio output from 8k to 48k. The built-in upsampling function does introduce some distortion to the audio. The best audio is usually produced when the input and output devices are different. The exception is when some cheap sound cards upsample the 8k to 48k with their own nasty algorithym (this may be what the 99c devices were doing).

I do realize that even with the right sound card the audio quality isn't as good as it could be. I will continue to work on that. It's frustrating to release something that is not quite right but I figured it was alot better than nothing :)

2) Implement FM analog audio into the DSP functions. For mixed mode systems it would be nice to recover all audio instead of just the digital methods. Many times talk groups have both digital and analog users/uses. I'm not sure if this can be done from the discriminator, but just a thought...
That would be a great feature but it will take some work to reliably detect analog transmissions vs noise/unsynced digital. It would also require a de-emphasis function.
 
Last edited:

paperplate9

Member
Joined
Jun 19, 2009
Messages
14
Yes, and you know that we all love it!
This is my first time hearing of this software. While waiting for the wiki page to load, I knew the first thing I was looking for were two important words, "open source"...and my wishes were granted!

The fact that this software is open source has the potential to take it very far considering you have dedicated people and a clear goal on what the software should become. Can't wait to see what this app matures into!
 

SCPD

QRT
Joined
Feb 24, 2001
Messages
0
Location
Virginia
For Ubuntu / Debian users ...

"xoscope" is a simple oscilloscope program to give you a visual indication of the waveform as seen by your computer.

To install ...

sudo apt-get install xoscope

After installation is complete, try ...

xoscope -D Soundcard

You should see something like the screen shot below ...
 

Attachments

SCPD

QRT
Joined
Feb 24, 2001
Messages
0
Location
Virginia
DSDAuthor ... you will want to consider the following for DSD.

1. add a SIGINT handler so that the program properly closes resources.

2. replace the polling read loop with a select loop.

A notable problem with saving audio to a WAVE file is can't gracefully exit the program. I have to use ctrl-C or a kill command to stop the program. The program must update the WAVE header with the overall file size before closing - which it can't do if the program is terminated early.

#2 above will allow monitoring the keyboard for user keypresses like "Q" to exit.
 
D

DUTCHSCHULTZ74

Guest
For ProVoice, it's working perfectly. I'm getting 99% voice recovery rate - it's working well.

The audio sounds a little muffled, but recovery is clear and ProVoice is a success! Yea!
Can this program be loaded into any poilce scanner with a pc/if input jack?
 

IowaBrian

Member
Joined
Jun 17, 2009
Messages
225
Location
Michigan
Ok I can not get either (DSD3 or mbelib1.1) to load in Ubuntu. I have read the read me file on how to install and I find the makefile but how do you get it to load? If someone could send me a PM with a little help I will be a very happy camper. (I am getting a key not found on keyring type of message if this helps)
Thanks for the work on the program.. I know it user error as I don't use Linux enough to figure out a simple loading of software :)
 

SCPD

QRT
Joined
Feb 24, 2001
Messages
0
Location
Virginia
Ok I can not get either (DSD3 or mbelib1.1) to load in Ubuntu. I have read the read me file on how to install and I find the makefile but how do you get it to load? If someone could send me a PM with a little help I will be a very happy camper. (I am getting a key not found on keyring type of message if this helps)
Thanks for the work on the program.. I know it user error as I don't use Linux enough to figure out a simple loading of software :)
See the instructions provided by MattSR in the other DSD help thread.

The keyring message has nothing to do with DSD.
 

SCPD

QRT
Joined
Feb 24, 2001
Messages
0
Location
Virginia
ProVoice

Here are some sample ProVoice IMB files captured from the San Antonio EDACS system.

After you've successfully downloaded, built, and installed dsd, you can unzip the attached file and play the files through dsd with the "replay" command tail ...

Code:
dsd -r *.imb
That will play all the files - one after the other. Should give you an idea of audio quality under good decode conditions. Hats off to DSD Author for this gift (the next several beers on are me)! This is a huge win for everyone wanting to hear activity on their local EDACS ProVoice system.
 

Attachments

Sinager

Member
Joined
Dec 8, 2005
Messages
44
MotoTRBO samples

Hi,
I saw in the old thread you were mentioning the lack of suitable MotoTRBO transmissions to test on.
Here are a couple of off-the-air samples from Rome, Italy: www.tarapippo.net/dump/trbo-rome.zip
Recovered audio currently is only garbled noise. I have no clue if the two systems use encryption.
This is the typical sw output I get while decoding with options -fr -xr -mg

Great job anyway... I wish I had your coding skills.
S

ync: -DMR mod: GFSK input: 99% SLOT0 [SLOT1] VOICE e:====E==============E=====================R======
Sync: -DMR mod: GFSK input: 99% SLOT0 [SLOT1] VOICE e:==E========================R===========
Sync: -DMR mod: GFSK input: 99% SLOT0 [SLOT1] VOICE e:============================================R
Sync: -DMR mod: GFSK input: 99% SLOT0 [SLOT1] VOICE e:============E=========E==========E=======R===========E=====
Sync: -DMR mod: GFSK input: 99% SLOT0 [SLOT1] VOICE e:============================================
Sync: -DMR mod: GFSK input: 99% SLOT0 [SLOT1] VOICE e:============E==============R============R=====R======R
Sync: -DMR mod: GFSK input: 98% SLOT0 [SLOT1] VOICE e:====R=========================================
Sync: -DMR mod: GFSK input: 98% SLOT0 [SLOT1] VOICE e:=================E======R=====T==============E======R
Sync: -DMR mod: GFSK input: 98% SLOT0 [SLOT1] VOICE e:===============R==============================
Sync: -DMR mod: GFSK input: 98% SLOT0 [SLOT1] VOICE e:=======================R===========E=====E====
Sync: -DMR mod: GFSK input: 99% SLOT0 [SLOT1] VOICE e:==E======R==E======R======R=======E======R=====R=======R=====E======
Sync: -DMR mod: GFSK input: 99% SLOT0 [SLOT1] VOICE e:===============================R==========R=====E====


this is how it looks without xr flag, level of input doesn't seem to make any difference

Sync: +DMR mod: GFSK input: 63% [slot0] slot1 Slot idle
Sync: +DMR mod: GFSK input: 65% slot0 [slot1] Slot idle
Sync: +DMR mod: GFSK input: 65% [slot0] slot1 VOICE Header
Sync: +DMR mod: GFSK input: 64% slot0 [slot1] VOICE Header
Sync: +DMR mod: GFSK input: 64% [slot0] slot1 VOICE Header
Sync: +DMR mod: GFSK input: 64% slot0 [slot1] VOICE Header
Sync: +DMR mod: GFSK input: 64% [slot0] slot1 VOICE Header
Sync: +DMR mod: GFSK input: 65% slot0 [slot1] VOICE Header
Sync: +DMR mod: GFSK input: 63% [slot0] slot1 VOICE Header
Sync: +DMR mod: GFSK input: 65% slot0 [slot1] VOICE Header
Sync: +DMR mod: GFSK input: 65% [slot0] slot1 VOICE Header
Sync: +DMR mod: GFSK input: 66% slot0 [slot1] VOICE Header
Sync: +DMR mod: GFSK input: 66% [slot0] slot1 Slot idle
Sync: +DMR mod: GFSK input: 64% slot0 [slot1] Slot idle
Sync: +DMR mod: GFSK input: 67% [slot0] slot1 VOICE Header
Sync: +DMR mod: GFSK input: 67% slot0 [slot1] Slot idle
Sync: +DMR mod: GFSK input: 65% [slot0] slot1 VOICE Header
Sync: +DMR mod: GFSK input: 63% slot0 [slot1] Slot idle
Sync: +DMR mod: GFSK input: 65% [slot0] slot1 VOICE Header
Sync: +DMR mod: GFSK input: 65% slot0 [slot1] VOICE Header
Sync: +DMR mod: GFSK input: 67% [slot0] slot1 DATA Header
Sync: +DMR mod: GFSK input: 66% slot0 [slot1] VOICE Header
Sync: +DMR mod: GFSK input: 65% [slot0] slot1 RATE 3/4 DATA
Sync: +DMR mod: GFSK input: 66% slot0 [slot1] VOICE Header
Sync: +DMR mod: GFSK input: 67% [slot0] slot1 RATE 3/4 DATA
Sync: +DMR mod: GFSK input: 65% slot0 [slot1] VOICE Header
 
Last edited:

Jay911

.
Feed Provider
Joined
Feb 15, 2002
Messages
9,307
Location
Bragg Creek, Alberta
I have a TRBO system near me, and may try to make some samples from it. Trouble is, my Linux machine isn't exactly portable, and the TRBO signal at my house would be pretty poor. What I plan to do is take a tapped scanner out on the road with me and try to record some of the unconverted audio when I'm closer to the site, then play it back into the line-in of the Linux machine from the netbook when I get home.

Has anyone mentioned a Windows port would be really nice? :D
 

ilgrant

Member
Joined
Nov 13, 2002
Messages
416
Location
Chicago, IL
I know of two Mototrbo sites that I can try to record.

Anyone know how to determine if it's encrypted. I get gibberish on the two frequencies I'm trying.
 
Status
Not open for further replies.
Top