kiwirecorder 12-Aug-2022 release: waterfall .png files, DRM recording

Improvements to kiwirecorder:

  • Record waterfall to .png file. Result will look just like Kiwi browser waterfall using Kiwi colormap (except no advanced features: timestamps, averaging modes, spectrum display). Do kiwirecorder --help and see new options --wf-png --wf-auto --mindb --maxdb  Use in conjunction with the usual options --f --z --speed --tlimit See Makefile for example usage.
  • Record decoded DRM audio. See Makefile target drm-snd and others for example usage. Target Kiwi must run v1.550 or later.
  • Retrieve DRM stats information in JSON format while DRM running. See Makefile target drm-stats for example usage.

Download from or if you've done a previous git clone do a git pull -v to update.


  • @jks

    With regards to: 'Record waterfall to .png file.'

    Am I doing something wrong as my file is not a .png but a .wav file and I see no .png file.

    "python3.7", "/Kiwi/",
                    "-s", "-k 15",
                    "-p 8073", "-f 657",
                    "--tlimit=10", "--log-level=info",

    I get the file called, 'testing-jnb-657-png-6.wav' and can play back the audio.

    But I was expecting, 'testing-jnb-657-png-6.png' and to view the picture.

  • jksjks
    edited September 2022

    It's not 100% obvious from the help description, but you need --wf to enable any waterfall processing at all. And when --wf is in effect you need --snd (or --sound) to also record a .wav file at the same time.

    One way to think of it is that --wf-png is a modifier to --wf that causes a .png to be generated. But specifying --wf-png alone is not sufficient for waterfall processing to take place.

  • Is there a way to turn the spectrum display on prior to saving a waterfall? That is far more useful and informative to me than just the wf alone.

  • No, since the connection between the Kiwi server and kiwirecorder is just the numeric waterfall values. The waterfall save function on the Kiwi user interface is different because it has access to the spectrum graphic that has already been constructed. To duplicate the graphic in the kiwirecorder code would take a bunch of work that I'm not particularly interested in doing.

  • Yes, it would be great to record something like this:

    To playback samples like this, with audio lets you hear and see if a station is modulating and using the bandwidth properly. The spectrum playing at the top. This is what that IBB monitoring system can do.

  • Somehow waterfall displays have become all the rage, however I find a calibrated spectrum that reveal at least relative levels of all signals within a bin to be far more useful. But then I come from a spectrum anaylzer background, some people like waterfalls better and they do show a time record which sometimes is useful but mapping color to levels for me is poor at best.

    BUT, I understand that this is a big task and probably not worth the return to the few that prefer it. After all, one can use kiwirecorder to measure levels at multiple frequencies of interest and create one's own display since all the information has then been obtained. It's a lot slower but does work just fine. That's what I've been doing to measuer noise floors with a simple script to tune and use the S meter which is a much better amplitude measurement tool than even the spectrum display which doesn't have variable bin width or even accurate absolute calibration (without some gymnastics anyway).

This discussion has been closed.