Dream DRM Receiver
Open-Source Software Implementation of a DRM (Digital Radio Mondiale) Receiver under the GNU General Public License (GPL)
Digital Radio Mondiale (DRM) is the digital radio standard for the long-, medium- and short-wave ranges (DRM30) and the VHF Band (DRM+). The standard was formed by a consortium in co-operation with the International Telecommunication Union (ITU). The system offers the radio stations and new service providers access to the multimedia age for all kind of radio stations, from high power broadcasters with large target areas and long distances reception to low power line-of-sight broadcasters. For more information visit www.drm.org.
The bandwidth of a DRM bandpass signal is less than 20 kHz in the DRM30 mode and less than 100kHz in the DRM+ mode, and the number of carriers used in the OFDM-modulation is relatively small. These features motivate a real-time software implementation of a DRM-receiver for conventional personal computer (PC) or smartphones using affordable input/output devices like the FunCubeDongle Pro+ or a sound card connected to a standard radio receiver with an IF ouput.
This software project implements a working software DRM30 receiver with, at least, the basic features (DRM+ support is planned). Since this project was created at a university and the fundamental idea of such an institution is to teach and stimulate the creativity, this source-code is free under the GNU-General Public License (GPL). Dream is a development project which uses the open source model to improve DRM technology. The main aim of this project is to implement and test new research results on an existing system, whereby the synchronization and channel estimation is of special interest.
The programming-language is C++. The code runs under Mac OSX, Microsoft Windows and Linux. Start of the project was June 2001.
Although this software is distributed as free software under the terms of the GPL this does not mean that its use is free of rights of others. The use may infringe third party IP and thus may not be legal in some countries.
The intended audience of the Dream software are people who are interested in how to decode a DRM stream and want to learn from the algorithms used in this software and people who want to help us improving the performance of the receiver and the source code.
If you just want to get the experience of DRM digital sound quality and expect a very stable and optimized receiver performance, we recommend to buy the commercial DRM Software Radio.
Features and User Guide
Dream's features have grown over the years, but have never been properly documented. Hopefully we can fix this.
Dream runs on virtually any pc and requires a receiver front-end to work as a real radio.
The source code is hosted at Sourceforge.net. Binary files of the software are provided without audio codecs compiled in, since parts of the software may be subject to patent royalties in some countries. If you want to provide pre-compiled binaries based on this source, please consider this issue. We do not warrant for nor indemnify you in any way for patent infringement. You are solely responsible for your own actions.
- Details available at Downloading the Source
Binaries for windows and linux are available from 1.14 onwards. The needed DLLs/shared libraries are included in the archive but this probably won't get you the working Dream you need.
For licence reasons the distributed binaries don't include an AAC codec. The binaries look for a codec and try to load it at run time.
The zip files in the download area contain all DLLs needed to make the program run, but you will want the rig specific Hamlib libraries to control a rig and the AAC decoder DLL.
A sample of linux packages are available in the download area. Repositories are now available for Debian 6.0 (squeeze), openSUSE 12.2, Ubuntu and Fedora:
zypper ar http://download.opensuse.org/repositories/home:/juliancable/openSUSE_12.2/ dream zypper install dream
cd /etc/yum.repos.d/ wget http://download.opensuse.org/repositories/home:/juliancable/Fedora_17/home:juliancable.repo yum install dream
echo 'deb http://download.opensuse.org/repositories/home:/juliancable/xUbuntu_11.04 ./ >> /etc/apt/sources.list wget http://sourceforge.net/projects/drm/files/pubkey apt-key add pubkey apt-get update apt-get install dream
The DMG contains a 32 bit intel only application built on Snow Leopard.
Please post your installation support questions in the public forum
The most common problem is that dream runs but won't decode audio. It may look like dream is decoding the FAC and SDC but not the MSC but this is an artifact of the way the MSC 'LED' is driven on the front panel.
On Windows Dream looks for faad2_drm.dll in the directory dream is run from. If it doesn't find it everything will work except decoding audio. Instructions for building the AAC decoder from source are on this wiki.
In 1.17 we have improved the GUI so it is easy to see if the problem is there:
This is what dream 1.16 looked like if faad2_drm.dll was missing:
You can double check by looking for the text "no audio decoding possible" on the Evaluation window:
Building from source
Detailed instructions for building Dream on a number of platforms are available:
Screen shots, sample files, the current AM Broadcast Schedule etc. are available on the General page.
There is some information on the Software Design.
Dream is on its third generation of forums. Originally the sourceforge default forums were used. These were replaced by the much better Invision board. When sourceforge moved to MySQL5/PHP5 these forums became unmaintainable. The content of the Old Forums has been archived on this wiki.
The active forums are here.
Other DRM Software at this site
This project is also the home for a number of other DRM related software projects including:
TRADEMARKS: The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
LINKS TO THIRD PARTY SITES:This site contains links to other sites. We are not responsible for the content of any linked Web site.