Skip to content

DRM demodulator notes

Jakob Ketterl edited this page Oct 18, 2022 · 2 revisions

General

DRM demodulation was added in OpenWebRX 0.20.0. It uses the dream decoder to perform the actual demodulation.

Unfortunately, dream seems to have been abandoned for some time now, and the latest release (version 2.2) seems to have some problems. This is confirmed (but not further specified) in the readme.txt of the version 2.2 project files: https://sourceforge.net/projects/drm/files/dream/2.2/

OpenWebRX is known to work and produce good results when used with version 2.1.1 of dream, so the general recommendation is to use dream version 2.1.1.

GUI

In its default configuration, dream comes with its own GUI that allows further interaction and display of information. This is however not acceptable when running it as part of a webserver (as OpenWebRX). Moreover, in most cases OpenWebRX will run in an environment that will not have any capabilities to display any kind of graphical elements.

Unfortunately, dream does not provide any options to disable its GUI when not required, but only allows to disable the GUI at compile time. For those reasons, we cannot use "normal" versions of dream (i.e. versions compiled with its GUI). This includes pretty much any version of dream that is provided by your distribution, so to support demodulation of DRM broadcasts, we will need to build our own:

Installation

sudo apt-get install qt5-qmake libpulse0 libfaad2 libopus0 libpulse-dev libfaad-dev libopus-dev libfftw3-dev wget
wget https://downloads.sourceforge.net/project/drm/dream/2.1.1/dream-2.1.1-svn808.tar.gz
tar xvfz dream-2.1.1-svn808.tar.gz
cd dream
qmake -qt=qt5 CONFIG+=console
make
sudo make install
cd ..