DRM demod? [yes, external app Dream now working!]

Is there planning for DRM extenstion or external DRM demod support?


  • jksjks
    edited October 30
    Please see here for more information: https://github.com/jks-prv/Beagle_SDR_GPS/issues/109

  • With a max bandwidth of 11956 Hz in AMN, shouldn't it be possible to port the audio to the Dream DRM decoder?
  • jksjks
    edited October 29
    I'm gradually remembering the issues here, but according to this: https://www.rtl-sdr.com/tutorial-drm-radio-using-rtl-sdr
    Dream wants to see a 10 kHz wide USB input (a mono real-mode signal, not stereo IQ).

    And with the Kiwi 12 kHz AM does not equal 12 kHz USB (only 6). You'd need the Kiwi to support a 20 kHz IQ bandwidth. You might get that on 2 channels but not on 4. This is due to bandwidth limits on the SPI link between the FPGA and Beagle and other realtime constraints of the system.

  • jksjks
    edited October 30
    Alright, I've now found info about how to run Dream in IQ input mode. I need to find a VAC program for my Mac. Then maybe an IQ stereo mode can be added to the Kiwi javascript code. This gets around the problem mentioned above with the Kiwi unable to supply the necessary USB bandwidth. In a "DSB" IQ mode it's easy to deliver the 10 kHz of bandwidth needed by Dream given the current 12 kHz audio bandwidth of the Kiwi (what Bjarne is essentially asking).

  • edited October 29
    What about "Soundflower", that seems to act like Virtual Audio Cable for Windows - https://www.fluxforge.com/blog/soundflower-os-x-10.11-10.12-macOS-sierra/

    You can also check here: https://soundflower.en.softonic.com/mac
  • I used soundflower fine for years on OS X snow leopard. But it stopped working when I was finally forced to upgrade to newer versions of OS X. Thanks for that first link which looks like someone who got it working on OS X 10.11/12.

    There is a very good commercial product "Loopback" which I am testing now. A license costs US$99 but they are good about keeping it working.

    I have an IQ / stereo-out mode beginning to work, so maybe there is hope for Kiwi DRM after all..

  • Progress. Need to go find the codec files.

    800 x 500 - 172K
  • jksjks
    edited October 30 Accepted Answer
    For Mac OS X I couldn't get the FAAD2 codec I downloaded to be recognized by Dream 2.1.1 (the latest version). But downloading the older Dream 1.11 from Download Dream 1.11 application (i386) worked immediately (has the codec bundled). Select your VAC as the input device and set the channel to "I/Q positive zero".

    I need to do a little more cleanup before releasing v1.139 with the new IQ mode. The changes are on the Kiwi at kiwisdr.sk3w.se:8073 if anyone wants to try it. I'd like to know if the Windows version of Dream works.

    900 x 563 - 572K
  • Here is the Windows version with the AAC decoder: http://www86.zippyshare.com/v/qmz8NhI8/file.html
    (Just copied fromSoDiRa software)

    Unfortunetaly I missed the romanian DRM broadcast. :( What is the next for EU?
  • BBC DRM is on 17790 at the moment (0840 UTC)

  • edited October 31

    i tested it with Windows Dream 2.1.1 with the SDR http://kiwisdr.sk3w.se:8073/?f=3965iqz10 positiv.


    Thanks Dirk 
  • jksjks
    edited October 30
    Hi Dirk. Thanks for testing it on Windows. You were hearing audio also?

    Did you have to download the FAAD2 codec separately or did you find a Dream 2.1.1 bundle that already had it installed? I want to publish instructions for people to follow since it seems so complicated to get Dream fully working.

    I will try to publish v1.139 later today with the changes for the new IQ mode.

  • edited October 30
    yes i am hearing the audio stable.
    Hm? it's a long time ago.
    I followed the intruction from "https://www.rtl-sdr.com/tutorial-drm-radio-using-rtl-sdr/" and downloaded the "faad2_drm.dll" file.
    Ooops, downloading the file "faad2_drm.dll" is legal, i don't know?
    But receiving DRM with the Kiwis was a dream. Thanks for fullfilling.

    @John: feel free for installing v.1.139 on my http://jnlb0dg4phlqpnun.myfritz.net:8074/

  • Works great!!! :)

  • jksjks
    Accepted Answer
    Okay, great. Sorry I was so pessimistic about this ever working. I should have looked closer at the Dream input issue a while ago. For some reason I got the idea in my head that a 10 kHz USB input was the only supported option.

  • But it's a good temporary solution.
  • jksjks
    edited October 30
    Okay, I have released v1.139 with the IQ mode for Dream/DRM. Restart your Kiwi to get the update immediately before the auto update beginning at 0200 UTC. Please let me know of any problems.

  • Don't know how accurate this is, but an easy-to-use schedule: http://www.hfcc.org/drm/

  • edited October 31
    Okay, its worked with the IQ Mode, but the "dx.json" don't like entrys with "IQ".


  • edited October 31
    It is working with VAC and Windows, but I can hear both decoded and non decoded signals. Can someone publish his settings or maybe describe the whole procedure?
  • jksjks
    edited October 31
    With the VAC called Loopback on the Mac there is setting called "mute audio sources". It keeps the browser audio output (i.e. the DRM signal) from going to the speakers/headphones. While the output of Dream continues to be heard. Maybe there is a similar setting with Windows VAC?

    Dirk: Sorry -- I'll fix this in tomorrow's v1.140 release.

  • Hi John,

    I concur with Dirk, it really doesn't like adding IQ entries into DX Jason - in my case it caused a catastrophic crash and I'm still trying to get my KiWi's back up :-(



  • jksjks
    edited October 31
    v1.140 is available now, so just restart your Kiwi to update immediately.

    If stuck in a restart loop because you have entries in kiwi.config/dx.json with a mode of "IQ" then edit them to something else (e.g. "AM"). If you don't know how to edit with Linux, but can login, then use these commands to recover: "cdp", "up"

    p.s. JSON = Javascript Object Notation

  • Hi John,

    Thanks for the update, I haven't installed it yet but I had managed to figure out that the IQ entry in the dx.json file was the problem and had edited it out to get things back up again.

    I tried it this afternoon with Dream and it works very well. I'm now wondering if I can also use it with Spectrum lab in IQ mode.


    Martin - G8JNJ
  • I used IQ mode as stereo input to "Baudline" on OS X to display a complex Fourier successfully. Had to tell Baudline to reverse the I & Q inputs to get the display sideband polarity to match the Kiwi waterfall.

  • edited November 4
    Hi John,

    Today I experimented passing the IQ stream to SDR Sharp, HDSDR & SDR Console using their soundcard IQ input options. 

    Set the applications to 0Hz and tune with the KiWi browser 

    It works quite well and I can now use some of the features in the other applications that are not (so far) available on the KiWi.

    Thanks for implementing this, it's very useful.


    Martin - G8JNJ

  • Hi John,
    I have kiwifax.py up running and wondering if it possible to use the same method to transfer IQ signal to remote computer and decode with DREAM/DRM.

    Bjarne Bachmann - OZ1AEF
  • jksjks
    edited November 14
    I didn't write that python code, and I don't know python, so I'm not sure if you could modify it to create a source suitable for input to Dream. You might still need to use a VAC if Dream can only deal with sound card (real or virtual) sources. In that case there may be no advantage to using the python code (but see below).

    Now that said, two days ago a patch was submitted to my fork (https://github.com/jks-prv/kiwiclient/tree/jks-v0.1) that allows kiwirecorder.py to write IQ samples to a file. So that is part has already been done. You'd just need to figure out how to send it through the audio system for input to Dream.

    I assume the intent here is to bypass the need to install VAC software which costs money and/or seems to be a royal pain on some OSs to install. See this thread http://valentfx.com/forums/#/discussion/904/who-runs-linux-for-their-main-os-browser-how-to-run-dream-on-linux as an example of the problems installing a VAC on Linux.

Sign In or Register to comment.