DRM in SDR Console

Simon Brown • January 5, 2020

Why I haven't added DRM to SDR Console

I'm often asked to incorporate a Digital Radio Mondiale (DRM) receiver into SDR Console. The reasons why I haven't done this are:
  • Patent / royalty issues with the audio codec, and
  • The Dream project works well.
Brendan Wahl, WA7HL, co-Moderator, of the DRM North America Newsgroup explained the legal minefield recently. The text below is reproduced with his permission.

Hi all, got some background here for you. I've been following DRM since the beginning, and still admire it for its broadcast quality and capabilities.
 
The DRM system was originally written by the Frauenhofer Institute in Germany, with the first software for personal use requiring a license key that cost the individual listener somewhere around ~€49/$49. I've got one somewhere, but I haven't had to use it since the freeware "DReaM" came out. No key needed when using that software package, which is still available on Github IIRC. The original commercial software still works, but it's very simple and doesn't provide a lot of bells and whistles. I'm not sure it's available anymore.

What happened was that the AAC codec (and it's variants, esp. XE-AAC...) was developed some years after the receiving software was first published with older codecs already available freely. The Frauenhofer Institute in the meantime had sold its work and code already done on that codec to Dolby Inc., who didn't want to give anything away. Hobbyists went from being able to receive all codec forms of broadcast DRM with little to no cost, to technically having to remove the FAAD.DLL file and receiving nothing, period. Since all DRM broadcasters switched to the XE-AAC codec due to it's efficiencies, hobbyists got left out in the cold with that shift. That .DLL file has been known to circulate privately, since even Dolby admitted that trying to get people to delete a file that they already had was like screaming in the wind.

Currently, as I understand it and as Simon indicates, radio manufacturers and developers must pay a license fee upfront to use the now-Dolby owned codecs. The listeners no longer have to pay, but the commercial party 'pays' on their behalf. This would include Simon of course, since he is both a commercial and hobbyist software developer, working as one entity.

Simply put, DRM is a minefield for someone like Simon. It's not only a bit of a coding time-suck, the potential legal exposure is horrible. It is a big enough issue that most radio manufacturers are simply avoiding the whole issue by not making DRM capable receivers. A Chinese manufacturer, Gospell, and a couple of Indian companies have stuck their financial necks out for DRM, since it is being introduced in both countries, but actual production of quality consumer equipment has been difficult, to say the least.
 
I should note that SDRC works wonderfully with the DReaM software being fed via a virtual cable. Was listening to Radio New Zealand International just the other night while they were doing some DRM testing, had perfect reception using my HF+. Can't wait for my Discovery to get here!

I'll back Simon on his choice of not including DRM. I use SDRC more than any other radio software, and I appreciate all of his his hard, SOLO, work on it. No wonder he needs our beer money...and of course, the canine is always hungry. I know, I have one too.

73,
Brendan WA7HL
Co-Moderator, DRM North America Newsgroup

So there you have it. Thanks Brendan. If you want to listen to DRM use Dream and a virtual audio cable.
By Simon Brown November 1, 2025
November 1st, 2025 Analyser Analyser tag window change, as suggested by Jim. Analyser tags now saved and restored correctly. Analyser font size now supports small, medium and large. Analyser loads saved projects faster. Saving project now much faster and uses less memory. More display lines available if you have enough RAM: Less than 16GB then 50,000 lines. 16GB to 32GB then 100,000 lines. 32GB or more then 250,000 lines. Fixed minor font issue with definition window. Fixed issue scrolling when more than 32768 lines in display. Data File Playback Selecting a playback folder now creates the list of files much faster. Emulation Added a diagnostic check for the use of emulators. This code only works on W10 and above, so I dynamically load IsWow64Process2 from kernel32 which avoids issues on older versions of Windows. In the logfile you see something like this: 05:23:48.185: Vendor ....: GenuineIntel 05:23:48.185: Brand .....: Intel(R) Core(TM) Ultra 7 265K 05:23:48.185: - 05:23:48.185: x86 Emulation: 05:23:48.185: Process .......: 0x0000, "Not emulated" 05:23:48.185: Architecture ..: 0x8664, "AMD64" 05:23:48.185: - Favourites Updated the default 60m bandwidth. Changed Broadcast :: VHF CCIR title to Band II. Groups now have user-selectable files. Default definitions renames to main. Changed the ribbon bar, Selection entry to Options (see image below). The dropdown options have been replaced with a single window, allowing more room for text. Locked Receivers If the program is stopped or a favourite created when a receiver is locked, this caused problems with the receiver being locked but no indication. With this kit receiver lock state is not applied in a favourite definition. Logfile Automatically save the logfile when closing, really added so I can check program responding correctly to Shutdown and Restart. Old logfiles are purged after the program has been running for one minute. Logging Added logbook FA option as below, FA is the command to read/write RX1. Narrow FM Added 150Hz CTCSS squelch tone. De-emphasis is now optional, selected from: Ribbon bar, Receive, Mode..., Narrow FM. Persistent Display Got a crash inside the persistent display logic, my sanity checks weren't good enough so have improved this. Remote Server After connecting to a remote server, the input fields can now be edited to change connection parameters. Ribbon Bar View panel tidied up. Signal Meter (SMeter) Added more presets for the Signal meter, Ribbon bar, View, Spectrum, Signal Meter. Spectran ECO Changed SPECTRAN path order to pick up DLLs from the SDK folder rather than the main folder. Status Bar GPU, Audio entries on status bar now optional, selected from Program Options, Performance, CPU Memory. System Shutdown / Restart If SDR Console is running when the system shuts down or restarts then SDR Console closes gracefully. What happens - five seconds after SDR Console receives the SHUTDOWN message a timer calls the OnClose() processing, so you have five seconds to about the shutdown / restart. Text Size Fonts now scale correctly when a non-default Accessibility > Text Size is selected (see image).
By Simon Brown October 29, 2025
SDR Television v1.0.1 October 29th, 2025: Fixed a fatal bug in the receive AGC if the output soundcard sample rate is 96kHz or 192kHz. Downloads are at the bottom of this page.
By Simon Brown October 25, 2025
Previous: Version 1.5.2 This release fixes a bug, improves the user interface and adds a new calendar. Download link is at the bottom of this page.
By Simon Brown October 12, 2025
And the award goes to...
By Simon Brown October 9, 2025
Version 1.5.1 This is a mainly cosmetic update to version 1.5, nevertheless well worth installing.
By Simon Brown September 13, 2025
SDR Television This release is actually beta 6 with a few small updates, so I've left the beta 6 text here. I hope to start working on this in November 2025, adding the Gardner timing error detection which should improve the decoding with low SNR. Downloads are at the bottom of this page.
By Simon Brown September 9, 2025
Hello Again I'm now back to 90% SDR Console support, so here's the first beta for at least eight months. Scroll to the bottom for a link to the beta kit. The source is fully archived, so crash dumps can be analysed.
By Simon Brown August 28, 2025
SDR Television Improved phase detection at the start of each frame (SOF, PLS) which in turn improves sensitivity. Added 2,000 ksps receive, confirmed as working with GB3NQ. Sensitivity still not as good as a Serit 4334 NIM as used in the MiniTioune receiver, what's missing is synchronisation timing, I will be using Gardner timing error detection (TED). This will be added in Q1, 2026 when this project is extended for terrestrial use. Downloads are at the bottom of this page.
By Simon Brown July 18, 2025
SDR Television Found and fixed an unused massive memory allocation (up to 10GB), may have caused systems to freeze. Fixed fatal bug in matched filter array allocation. Changed the default transmit bandpass shaping filter roll-off to 0.20 in transmit and receive. Please look at the images below and apply the change. SDR Pluto Now show the AGC gain and RSSI. Added Default link to select the recommended gain - Fast Attack, 0dB visual. Known Problems Add support for tracking transmissions with (?) non-standard PCR data, example is G8GKQ. Using Pluto & variants, sensitivity is not as good as a NIM (hardware tuner). Will compare with SPECTRAN ECO in a week or so.