kb9mwr

Member
Joined
Apr 8, 2003
Messages
282
Reaction score
103
Location
Green Bay, WI
A little off topic, but does anyone have a collection of raw discriminator recordings of the digital modes? (DMR, Fusion, D-Star, M17)... I'd like to do some comparisons with these and dsd-neo. Thanks
 

ki4hyf

Ridin' Dirty
Premium Subscriber
Joined
Mar 2, 2005
Messages
327
Reaction score
173
Location
Jackson, TN
Will this help? DMR Samples
I've got a few others, but it's mainly DMR and P25. There is very little in the way of exotic ham modes in my area. All of the samples I have are either .bin or .wav files.
 

MELERIX

Member
Joined
Nov 19, 2018
Messages
116
Reaction score
63

btw, testing with another Moto Basic Privacy file in 48 khz: Download BP100.wav | LimeWire

and the following command line:

Code:
.\bin\dsd-neo.exe -i BP100.wav -s 48000 -4 -b 100

and is not decoding the audio properly.

here is the log:

Code:
D:\SDR\dsd-neo-msvc-x86_64-native-v2.2.0>.\bin\dsd-neo.exe -i BP100.wav -s 48000 -4 -b 100
NOTICE: WAV input sample rate: 48000 Hz (interp=1)
NOTICE: Force Privacy Key priority enabled
NOTICE: Basic Privacy key loaded (forced priority): [redacted]
NOTICE: ------------------------------------------------------------------------------
NOTICE: | Digital Speech Decoder: DSD-neo v2.2.0 (2618029)
NOTICE: ------------------------------------------------------------------------------
NOTICE: MBElib-neo Version: 2.0.0
Audio In Device: BP100.wav
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=XX [31m| CACH/Burst FEC ERR[0m
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=XX | VLC [32m
 SLOT ? TGT=1 SRC=1 Group Call [0m
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VLC [32m
 SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | TLC [31m
 SLOT ? TGT=1 SRC=1 Group Call [0m
Sync: no sync

End of BP100.wav
NOTICE:
NOTICE: Total audio errors: 2
NOTICE: Total header errors: 0
NOTICE: Total irrecoverable header errors: 0
NOTICE: Exiting.
 

gary123

Member
Joined
Sep 11, 2002
Messages
3,187
Reaction score
1,632
I see that arancoremonk made his samples at 9600 and Melerix made his at 4800. I think NEO likes the 9600 more than the slower 4800. I do not know if this is part of the no decode problem?

I am not sure if there is a setting in NEO to show the AMBE frame data. Having this information would go a long way to figuring out why its not decoding the audio properly. I do not know if NEO has a BP lookup or if its processing the frame with the wrong key data. Seeing the actual frame bytes would clear this up.

If NEO does not output the AMBE frame data this would be an excellent option to add to future releases. Also on the wish list would be to directly show the MFID,KID and ALGID. Perhaps a new switch in the command line that enables the display of this information?
 

gary123

Member
Joined
Sep 11, 2002
Messages
3,187
Reaction score
1,632
Moto BP does not set them for BP. I think it was deliberate so that other users knew it was encrypted.
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,518
Reaction score
1,056
Yeah, I don't think so. Its not a Motorola radio doing that. The MFID isn't set to 0x10 either, and the SVC options aren't set to encrypted in the link control. That's probably a Baofeng or some CCR using a custom privacy key that is the same keystream as Motorola bp key 100, in other words, probably set to -S 49:45024562456245 or something in their CPS.
 

arancormonk

DSD-neo | mbelib-neo
Joined
Dec 12, 2025
Messages
58
Reaction score
76
btw, testing with another Moto Basic Privacy file in 48 khz: Download BP100.wav | LimeWire

and the following command line:

Code:
.\bin\dsd-neo.exe -i BP100.wav -s 48000 -4 -b 100

and is not decoding the audio properly.

here is the log:

Code:
D:\SDR\dsd-neo-msvc-x86_64-native-v2.2.0>.\bin\dsd-neo.exe -i BP100.wav -s 48000 -4 -b 100
NOTICE: WAV input sample rate: 48000 Hz (interp=1)
NOTICE: Force Privacy Key priority enabled
NOTICE: Basic Privacy key loaded (forced priority): [redacted]
NOTICE: ------------------------------------------------------------------------------
NOTICE: | Digital Speech Decoder: DSD-neo v2.2.0 (2618029)
NOTICE: ------------------------------------------------------------------------------
NOTICE: MBElib-neo Version: 2.0.0
Audio In Device: BP100.wav
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=XX [31m| CACH/Burst FEC ERR[0m
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=XX | VLC [32m
 SLOT ? TGT=1 SRC=1 Group Call [0m
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VLC [32m
 SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m

[DMR SM] voice-sync
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync

[DMR SM] voice-sync
[32m SLOT ? TGT=1 SRC=1 Group Call [0m
22:36:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | TLC [31m
 SLOT ? TGT=1 SRC=1 Group Call [0m
Sync: no sync

End of BP100.wav
NOTICE:
NOTICE: Total audio errors: 2
NOTICE: Total header errors: 0
NOTICE: Total irrecoverable header errors: 0
NOTICE: Exiting.
Thanks for the capture and the extra detail. I was able to reproduce the behavior. The issue was in DSD-neo’s live audio output path, not the WAV sample rate or the privacy decode itself. File playback was decoding faster than real time into the async audio output queue, and that queue is designed to drop older samples when it overruns. That made the played audio sound extremely sped up/choppy even though the decoded WAV output duration was correct.

I’ve changed finite inputs like WAV/stdin/symbol replays to use blocking audio output so playback is paced properly, while keeping the low-latency async path for live/radio inputs. I also cleaned up the misleading DMR direct-mode slot display and the extra state-machine log spam seen in the report. The latest nightly build will include the fix once it's finished compiling.
 

racingfan360

Member
Joined
Dec 19, 2005
Messages
1,230
Reaction score
254
Yeah, I don't think so. Its not a Motorola radio doing that. The MFID isn't set to 0x10 either, and the SVC options aren't set to encrypted in the link control. That's probably a Baofeng or some CCR using a custom privacy key that is the same keystream as Motorola bp key 100, in other words, probably set to -S 49:45024562456245 or something in their CPS.
Agreed. Looking a bit more closely, it has all the characteristics of Tytera Enhanced Privacy (or something very similar, likelihood it's badged as something different). I recall seeing some reports of folks being able to make a Moto BP interoperate one-way with a Tytera EP presumably with a subset of keys that would generate sufficiently similar keystreams
 

arancormonk

DSD-neo | mbelib-neo
Joined
Dec 12, 2025
Messages
58
Reaction score
76
it's taken the better part of a year of refactoring and architecture work, but dsd-neo now has a native Android port, including native RTL-SDR USB support (no root required). this is still very much a work in progress; maintaining and developing anything involving a GUI is a beast unto itself...

under the hood, the decoder core no longer depends on any frontend, the terminal UI and the new Qt-based app both plug into the same interface. that opens the door to more cross-platform native UIs and possibly a web backend down the road.

the latest nightly build has the most up to date UI work: https://github.com/arancormonk/dsd-...nightly/dsd-neo-android-arm64-app-nightly.apk

let me know what you think
 

radioman253

Member
Premium Subscriber
Joined
Sep 9, 2006
Messages
75
Reaction score
6
Location
Toronto, ON
it's taken the better part of a year of refactoring and architecture work, but dsd-neo now has a native Android port, including native RTL-SDR USB support (no root required). this is still very much a work in progress; maintaining and developing anything involving a GUI is a beast unto itself...

under the hood, the decoder core no longer depends on any frontend, the terminal UI and the new Qt-based app both plug into the same interface. that opens the door to more cross-platform native UIs and possibly a web backend down the road.

the latest nightly build has the most up to date UI work: https://github.com/arancormonk/dsd-...nightly/dsd-neo-android-arm64-app-nightly.apk

let me know what you think
Nice app! Good work. Tried on Android last night. Trying to figure out if I can track a DMR Tiii system detailed in a .csv file along with the CLI flags. Did not see a place where you could point to a file system.
Another bonus would be if it could upload systems from radioreferemce premium.
Otherwise very good.
 

arancormonk

DSD-neo | mbelib-neo
Joined
Dec 12, 2025
Messages
58
Reaction score
76
Nice app! Good work. Tried on Android last night. Trying to figure out if I can track a DMR Tiii system detailed in a .csv file along with the CLI flags. Did not see a place where you could point to a file system.
Another bonus would be if it could upload systems from radioreferemce premium.
Otherwise very good.
thanks. yea, i'll address the file system issue next. it's there, but not user friendly at all... i basically have to convert all these command line options into user friendly UI/UX elements.

also, what do you guys think about google play store download? i'll need at least 12 testers, dm me if you want to signup. the github apk and google play versions cannot coexist, so you'll have to uninstall the github apk version if you want to use the google play version... just fyi.
 

ArloG

Member
Joined
Feb 14, 2020
Messages
396
Reaction score
143
At odds on the SoapySDR.dll.
Any info. as to how to use Soapy drivers? The "module" version that it might be to use different drivers?
 

arancormonk

DSD-neo | mbelib-neo
Joined
Dec 12, 2025
Messages
58
Reaction score
76
At odds on the SoapySDR.dll.
Any info. as to how to use Soapy drivers? The "module" version that it might be to use different drivers?
the windows zip includes SoapySDR.dll (the core SoapySDR 0.8.1 library) but no radio driver modules, so -i soapy can't find any devices until you install a module for your radio. SoapySDR loads modules from <extracted-zip>\lib\SoapySDR\modules0.8\ (create that folder next to bin\ and drop the module DLL in), or from any folder you list in the SOAPY_SDR_PLUGIN_PATH environment variable.

the "module version" you're seeing is the SoapySDR ABI: our DLL is the 0.8.1 release (ABI 0.8), so the module must be built against a 0.8.x release too. modules from bundles built off SoapySDR git master (e.g. PothosSDR, which uses modules0.8-3) won't load against it - SoapySDR skips them with an ABI-mismatch warning. also note the module's own dependencies must be installed (e.g. SDRplay's API/service for sdrplay_api.dll).

i've added a Windows section to the SoapySDR guide with the full details: docs/soapysdr.md, section 0a. general usage (-i soapy, soapy_args, device settings) is in the same doc. dsd-neo/docs/soapysdr.md at main · arancormonk/dsd-neo

eventually i should just include native support for the popular sdrs, but all i have is an rtl-sdr right now... but might be able to leverage sdrpp or others and just copy and pray it works until someone complains...
 
Last edited:
Top