GRDAB(1)
π GRDAB β DAB / DAB+ receiver for software defined radio π
okay bestie, gather round, because grdab (that's a section-1 manual page, so like, a command you run in a shell π«Ά) is genuinely one of the cutest little radios you can drive from a terminal, and i'm about to explain the whole thing to you. no cap, every flag is staying, i'm just making it fun.
β¨ NAME β¨
grdab β DAB / DAB+ receiver for software defined radio
π SYNOPSIS π
grdab [global_options] <command> [options]
π¦ DESCRIPTION π¦
so basically: every SDR that gr-osmosdr supports and that can tune to the DAB frequencies? yeah, it works with grdab. it has been verified to work with RTL-SDR, HackRF and USRP B200. and it can receive both DAB and DAB+ audio. iconic behavior honestly π
π Calibration:
when you connect a new radio, run:
grdab adjust
this will bring up a GUI where you will see the frequency spectrum and the constellation diagram. it's giving science lab but make it cute.
- Drag the channel selector to a valid DAB/DAB+ frequency in your area.
- Adjust the gain sliders such that frequency spectrum looks good. It should be an almost square looking wide signal.
- Adjust the ppm slider until the constellation diagram consists of 4 quite confined dots.
- Then click 'save configuration'
- Your SDR is now calibrated and can be used to receive DAB/DAB+ audio.
the calibration data is stored in the file ~/.grdab/adjustment.yaml. whenever you connect a new SDR, you will have to repeat the adjustment procedure above. yes, every new radio. it's a whole ritual, but it's our ritual. π
π₯ Check available channels:
to see what channels are available on a chosen frequency, run:
grdab info -f <frequency_in_mhz>
cute, fast, tells you what's out there. β
π Listen to DAB/DAB+:
when you find a channel, you can start receiving audio with:
grdab receive -f 227.360 --bit_rate 80 --address 204 --subch_size 60 --protect_level 2 --audiorate 48000
where you replace the different options with the output from grdab info for the desired channel. you might have to experiment with a few different values for --audiorate (such as 44100 or 48000). note that DAB+ is default. to receive classic DAB, add --classic as an argument. periodt. π§
π§ Ncurses app:
if you create a file called ~/.grdab/channels.yaml, and list all the channels in your area, you can afterward use the grdab ncurses application:
grdab curses
it allows you to select a channel and listen to it. see /usr/share/doc/gr-dab/examples/channels.yaml for an example of a channels.yaml file. main character terminal energy, lowkey obsessed. π
π ZMQ source:
to allow starting and stopping grdab without having to reinitialize the Software Defined Radio, you can start apps/sdr-zmq-daemon in the background. if you then start grdab with grdab -z, it will start much faster. no more waiting around, it's giving instant gratification. β¨
π OPTIONS π
Commands:
grdab [global_options] adjust [options]β Adjustment GUI for gain, timing error etc.grdab [global_options] info [options]β List DAB/DAB+ channels on a specific frequencygrdab [global_options] receive [options]β Receive audio from a DAB/DAB+ channelgrdab [global_options] curses [options]β Ncurses GUI for selecting between multiple channels
Global options:
-zβ ZeroMQ mode. Expectszmq-sdr-daemonto be running--server <address>β Address to ZeroMQ (Default is:tcp://127.0.0.1:10444)--server_control <address>β Address to ZeroMQ for configuration (Default is:tcp://127.0.0.1:10445)
Other options (common for all):
-f/--freq <freq>β Receive frequency in MHz
Other options (for 'grdab receive' only):
-a/--audiorate <rate>β Audio rate in Hz (default:48000)--bit_rate <val>β Bit rate of the DAB/DAB+ channel.--address <val>β Address of the DAB/DAB+ channel.--subch_size <val>β Subchannel size of the DAB/DAB+ channel.--protect_level <val>β Protection level of the DAB/DAB+ channel.--classicβ Use DAB instead of DAB+
πΈ SEE ALSO πΈ
π«Ά AUTHOR π«Ά
This manual page was written by Ruben Undheim <rubund@debian.org> for the Debian project (and may be used by others).
and that's the whole lore, bestie π this page was living under the GRDAB(1) header and signed off down at the bottom with 14 February 2026 β so yeah, dated, versioned, and fully slaying. go tune something cute. π»β¨
π¦ where this page comes from
- ubuntu resolute: gr-dab 0.5-1.1 Β· GPL-3.0-or-later
- ubuntu stonking: gr-dab 0.5-1.1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms