DSD FME

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
Thought I'd just take a moment to share a project I've begun working on lately. If anybody wanted to give it a try out and see how it works, I'd love to hear any feedback, critique, constructive criticism, ideas, etc.

DSD FME

This version of DSD is a flavor blend of szechyjs RTL branch and some of my own additions, along with a few tweaks from the LouisErigHerve branch as well. NXDN voice decoding is currently working a lot better, thanks to the latter, although I have yet to explore the expanded NXDN or DMR decoding he has laid out. That is a goal. I have also implemented a few more RTL options, including rtl device gain, PPM error, device index selection, squelch, VFO bandwidth, and a UDP remote that works like the old rtl_udp fork, although its currently limited to changing frequency and squelch. The goal is to integrate this project into EDACS-FM but I also want it to be its own standalone project.

Code:
padsp -m dsdfme -- ./dsd -fi -i rtl -o /dev/dsp -c 154.9875M -P -2 -D 1 -G 36 -L 25 -V 2 -U 6020 -Y 8

-i rtl to use rtl_fm

-c Set frequency

-P set PPM error

-D set device index number

-G set device gain (0-49) (default = 0 Auto Gain)

-L set rtl squelch to 25

-V set RTL sample 'volume' multiplier

-U set UDP port for rtl_fm remote control

-Y 8 set rtl VFO bandwidth in kHz, (default = 48)(6, 8, 12, 16, 24, 48)

-W Monitor Source Audio (WIP!) (may or may not decode audio if this is on, depending on selected decode type and luck)
(Also, should be noted that depending on modulation, may sound extremely terrible)

The github with more info and a bit of a project road map can be found at:

Build instructions is the same as the others, but I wouldn't recommend doing the 'make install' portion, and just run it from the build folder, especially if you already have a main version installed as well.
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
If anybody wants to check out my DSD FME Pulse Audio branch, where I've stripped out OSS and replaced it with Pulse Audio, you can check the link:


With Pulse Audio implemented, users on Linux desktop environments no longer have to fool around with ancient OSS emulation wrappers like padsp or hunt through shifting pa inputs, outputs, and errors from Port Audio. Not to mention, I never could make Port Audio actually output audio anyways. By switching to Pulse Audio as default, users won't have to specify input or output if you just want to use a line in and a line out. All the RTL stuff I implemented is also included in this branch.

In other words, this ridiculousness:
Code:
padsp -m provoice -- ./dsd -fp -i pa:8 -o /dev/dsp -d ./MBE/ 2> /dev/null
becomes:
Code:
./dsd -fp -d ./MBE/

Current run down of "features" and "improvements":
  • Pulse Audio input and output by default (both at 48kHz if together)
  • Working NXDN48 Voice
  • Removed NXDN96 from auto detection (no more false positives)
  • RTL dongle support, same features as first post
  • Pulse Audio output AND wav file recording AND imb/amb data saving simultaneously
  • STDIN input working
  • Beefier Sound (my Personal Biased opinion)
  • PortAudio Currently disabled (still need to test), OSS removed (including Solaris and Apple/BSD)
  • Monitor Source Audio currently disabled (latency/buffering/pulse server crashing issue)

First, install prerequisites if you haven't built any variety of DSD before. Check DSD Installation and install the dependencies listed. Also, check the notices and install MBElib if you feel it is necessary.

Simply run these steps to clone and build DSD-FME w/ pulseaudio support.

Code:
git clone https://github.com/lwvmobile/dsd-fme
sudo apt install libpulse-dev #only on debian/ubuntu distros
cd dsd-fme
git branch -a
git checkout remotes/origin/pulseaudio
git checkout -b pulseaudio
git branch -a #double check to see if you are on pulseaudio branch
mkdir build
cd build
cmake ..
make
 
Last edited:

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
If anybody wants to give the Windows Cygwin x86-64 compiled build a shot, the link can be found here. Consider it a beta version, so, your mileage may vary. Worked fine for me in a clean Windows 11 VM. Install the Zadig driver first if you try out the rtl-sdr support. Just unzip, edit the bat file to your liking, and double-click it. No need to install cygwin first, all the dll files are right in the folder.

Screenshot_220.png

A small caveat, you may need to increment your RTL device index by one in this build, I had to build off of an older librtlsdr, so for whatever reason, if you have 2 dongles plugged in, it will index 0 as unavailable, and 1 and 2 as what would usually be 0 and 1. Also, this might trigger your windows firewall, asking for allow or deny network traffic, its the built in UDP remote, so just a heads up.
 
Last edited:

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
If anybody has downloaded the Windows Cygwin x86-64 version I posted the other day, be advised, it had a bug where it wasn't detecting inverted NXDN signal types properly. That has been remedied in build 079ed7e. I also had a error in the bat file where squelch and gain got mixed up and auto gain was on and squelch was wrong. I issued a previous upload to fix this, but inadvertently had RTL support disabled (The post that now reads 'Disregard').

I have issued an updated version which can be found at the link below. This version will supersede any previous version uploaded, so, be sure to download this version instead of any previously posted Cygwin x86-64 uploads.

Screenshot_223.png

 

ronenp

Member
Joined
May 8, 2002
Messages
592
I cant decode any data
all i get is the screen you see in previous post and thats it ?
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
all i get is the screen you see in previous post and thats it ?
If you are using the RTL version, you really got to make sure you are using the correct decoding option, and the dongle gain(-G), squelch(-L), PPM(-P), and bandwidth (-8) all need to be pretty tight to get good decodes on NXDN systems especially. What kind of system are you trying to listen to, and what command are you using?
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
I'm going to update my own advice on here, if you want to use NXDN48 decoding on DSD-FME with the RTL dongle, try with
Code:
dsd -fi -i rtl -o /dev/dsp -c 154.9875M -P -2 -D 0 -G 46 -L 70 -U 6021 -Y 12

This will expand the VFO bandwidth to 12 Khz (-Y 12) which will provide a little more leeway if your dongle tends to drift a little bit. Also make sure to adjust -P to your dongles PPM. I've found a gain of 46 (-G 46) pairs well with squelch 70 (-L 70) but squelch settings on rtl_fm can be tricky, its just a guessing game, trying to go as low as you can. When you start to get false positives on the sync detection, go a little higher. The example above works well for me however, so give that one a shot.
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
Thought I'd take an opportunity to share a little bit of an update on one facet of the project that I wanted to implement. NCURSES Terminal.
Wanted to put this out there to see if there was any interest in using DSD with this sort of feature as opposed to pure console output.
Screenshot_236.png

This is currently a work in progress, and using it in DSD-FME is purely optional, but sometimes, looking at line after line of repetitive console output can get boring, so I wanted to go with a terminal where you could keep your eyes on one place and see what was happening at a glance. Just seeing a still photo of it is one thing, so I put together a half-@$$ YouTube video to demonstrate it decoding NXDN48 and P25 P1 audio samples, and then switching to RTL input mode and letting EDACS-FM remote control the VFO to decode ProVoice. The video will probably speak for itself, but I wanted to gauge any interest in using this sort of configuration, any ideas, critiques, comments, etc.


Note, that in the NXDN48 portion, I had to silence some audio to remove an address from dispatch, and also, I was using wav files, but this can be just as easily used in real time using GQRX, SDR++, or similar audio out or UDP audio out to STDIN. Wee hours of the morning, so not much live audio to get off the air around here, at least not when I want to capture them in OBS.

The current build for ncurses is in the ncursesandnxdn branch on the github page, its my staging area before I push it into the pulseaudio branch proper. I don't want to break something in there before I can test it all.
 

jurek1111

Newbie
Joined
Mar 10, 2018
Messages
4
It looks like dsd is not showing correctly Color Code and Data type in dmr direct data, in voice it is showing correctly. Is it possible to fix it?
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
It looks like dsd is not showing correctly Color Code and Data type in dmr direct data, in voice it is showing correctly. Is it possible to fix it?

Yeah, its possible to fix, just need time. DMR data decoding has been pretty much a miss from what I can tell, I just don't have much access to DMR in general, so I don't get to test it very often. The entire DMR portion needs a serious overhaul. The voice usually decodes just fine, but the data that goes along with it has a pretty high probability of being incorrect. DMR is one of the things that on my to do list, but its going to be a pretty big undertaking, so don't expect any results on that front for quite a while.
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
HELP WANTED

sb-help-wanted.jpg

Looking for decent lossless samples of the following:
  • dPMR Unencrypted Signal w/ Voice
  • DMR Unencrypted Singal with Voice in both slots simultaneously
  • D-Star or D-Star HD Unencrypted Signal

I've already combed through google search and sigidwiki for samples, and they are a bit sparse or nonexistent on these types. so really need some good quality wav files here. They don't need to be too long, but preferably 30 seconds, a few minutes, or so.

Any submissions can be uploaded to Ufile.io - Upload files for free & share them without registration or any host of your choosing, I usually recommend ufile if you don't want to register an account to upload or share. Also, it keeps me from having to log in to google drive.

P.S.,

I've been doing some work on the DMR decoding.

Screenshot_263.png
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
Does T3 count for DMR?
Does it need to be collected using your program or any program?

It might count. What I really need is a sample where voice is currently active in both slots at the same time. I'm not sure if that can happen on a 'rest channel' or 'control channel', I think it has to be a channel where voice can occur and does occur on both slots simultaneously. When I say simultaneously, I mean at that moment, there is two conversations going on in both slots. I'm going to attempt to separate the slots into left channel and right channel, if anybody is actually curious, but I need good samples where this type of activity occurs so I can test it.

The WAV sample actually can't currently be collected using DSD-FME, I am after the raw signal, and not the decoded audio. In other words, I need a VFO recording from SDR#, SDR++, GQRX, or any sort of scanner or software that produces raw wav audio of the actual signal itself. Also, just of the signal, and not a baseband recording or I/Q file.
 

jurek1111

Newbie
Joined
Mar 10, 2018
Messages
4
HELP WANTED

View attachment 117726

Looking for decent lossless samples of the following:
  • dPMR Unencrypted Signal w/ Voice
  • DMR Unencrypted Singal with Voice in both slots simultaneously
  • D-Star or D-Star HD Unencrypted Signal

I've already combed through google search and sigidwiki for samples, and they are a bit sparse or nonexistent on these types. so really need some good quality wav files here. They don't need to be too long, but preferably 30 seconds, a few minutes, or so.

Any submissions can be uploaded to Ufile.io - Upload files for free & share them without registration or any host of your choosing, I usually recommend ufile if you don't want to register an account to upload or share. Also, it keeps me from having to log in to google drive.

P.S.,

I've been doing some work on the DMR decoding.

View attachment 117728
dmr two slots: Upload files for free - dmr_dwa_sloty.wav - ufile.io
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
Still Looking for decent lossless samples of the following, if anybody has any samples they can procure or have in their collections:
  • dPMR Unencrypted Signal w/ Voice
  • D-Star or D-Star HD Unencrypted Signal
I'd really be able to test and tweak these types of systems if anybody to ensure they are working well. I have no access to either type. I've been trying out websdr, but haven't had any luck capturing any dPMR stuff at all. I have only one minute long sample of dPMR currently, from sigidwiki, and I don't know if its an issue on my end, or with the sample, but I get pretty choppy results, so need more samples to test and get this issue worked out. Also, D-Star is completely untested by me, so I honestly don't know if it works or not.

While I'm here chiming in again, might as well ask, no matter which software you use, what features would you like to see available to use that currently aren't available in the software you use?

Also, here is your weekly dose of the Florida Man and his exploits:
 
Last edited by a moderator:
Top