MULTIMON-NG(1)

πŸ’… multimon-ng(1) β€” General Commands Manual

ok so bestie, welcome to the multimon-ng era πŸŽ€


✨ NAME ✨

multimon-ng β€” the program that literally decodes radio transmissions πŸ“»πŸ’–


🌸 SYNOPSIS 🌸

multimon-ng [options] [input_file]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this manual page is a short lil intro to the multimon-ng command, and here's the tea: it was written for Debian because the original program straight up does not have a manual page πŸ’€ so we made one. you're welcome.

The multimon-ng software decodes a whole variety of digital transmission modes that are commonly found on VHF/UHF radio ✨. It uses a standard PC soundcard to grab the signal from a transceiver, and the decoding is done completely in software β€” no extra hardware brain needed πŸ§ πŸ’…. Currently these are the modes it supports:

  • AX.25
    • 1200 Baud AFSK
    • 2400 Baud AFSK (2 variants)
    • 4800 Baud HAPN
    • 9600 Baud FSK (G3RUH)
  • POCSAG
    • 512 Baud
    • 1200 Baud
    • 2400 Baud
  • Selective call
    • CCIR
    • EEA
    • EIA
  • Frequency Shift Keying
    • 1200 Baud FSK (2200/1200 Hz)
    • 1200 Baud FSK (2300/1100 Hz)
    • 1200 baud FMS FSK
  • Miscellaneous
    • DTMF
    • CW/Morse
    • EAS
    • FLEX
    • SCOPE
    • X10
    • ZVEI

An arbitrary set of the above modes may run concurrently on the same input signal (provided the CPU power is sufficient πŸ”₯), so you genuinely do not have to know in advance which mode is being used β€” it's giving mind-reading, honestly. But heads up: some modes might require modifications to the radio (especially the 9600 baud FSK and the POCSAG modes) to work properly 😭 so don't come for the program if your rig isn't set up.

here's the little glossary moment, iykyk:

  • AX.25 β€” Amateur Packet Radio protocol datagram format.
  • DTMF β€” Dual Tone Multi Frequency. Commonly used in in-band telephone dialing.
  • EAS β€” Emergency Alert System.
  • FLEX β€” a paging format.
  • GSC (Golay Sequential Code) β€” a 600 baud paging format using Golay and BCH error correction.
  • POCSAG (Post Office Code Standards Advisory Group) β€” a common paging transmission format.
  • SCOPE β€” show samples in a rudimentary oscilloscope display on an X server.
  • SDL_SCOPE β€” digital phosphor oscilloscope display using SDL3. Features green/amber phosphor emulation with intensity grading. Press Space to toggle color, Q/Esc to quit. (the phosphor emulation is so aesthetic, ngl 🟒🟑)
  • X10 β€” a home automation protocol.
  • ZVEI β€” The German Electrical and Electronic Manufacturers' Association β€” paging tone format.

⭐ OPTIONS ⭐

  • -t <type> β€” Input file type. Auto-detected from file extension if not specified. Use "hw" for hardware audio input (default when no file specified). Types other than raw require sox. Allowed types: hw raw aiff au hcom sf voc cdr dat smp wav maud vwe mp3 mp4 ogg flac.
  • -a <demod> β€” Add demodulator (see below).
  • -s <demod> β€” Subtract demodulator.
  • -c β€” Remove all demodulators (must be added with -a <demod>).
  • -q β€” Quiet output messages. 🀫
  • -v <num> β€” Verbosity level (0-10). For POCSAG and MORSE_CW '-v1' prints decoding statistics.
  • -h β€” Print the help.
  • -A β€” APRS mode (TNC2 text output).
  • -m β€” Mute SoX warnings.
  • -r β€” (Deprecated) Repeatable mode is now always enabled. This flag is kept for backwards compatibility but has no effect. 🫠 it's giving legacy support.
  • -n β€” Don't flush stdout, increases performance.
  • -j β€” FMS: Just output hex data and CRC, no parsing.
  • -e β€” POCSAG: Hide empty messages.
  • -u β€” POCSAG: Heuristically prune unlikely decodes.
  • -i β€” POCSAG: (Deprecated) Signal polarity is now auto-detected. This flag is kept for backwards compatibility but has no effect. πŸ’€ another one that just sits there.
  • -p β€” POCSAG: Show partially received messages.
  • -P <mode> β€” POCSAG: Set signal polarity detection mode. <mode> can be 'auto' (default), 'normal' (only try normal polarity), or 'inverted' (only try inverted polarity). Use 'normal' to reduce false positives when signal polarity is known.
  • -f <mode> β€” POCSAG: Disables auto-detection and forces decoding of data as <mode> (<mode> can be 'numeric', 'alpha', 'skyper' and 'auto').
  • -b <level> β€” POCSAG: BCH bit error correction level. Set 0 to disable, default is 2. Lower levels increase performance and lower false positives.
  • -C <cs> β€” POCSAG: Set charset (default: US), where <cs> is one of: US, FR, DE, SE, SI.
  • -o <time> β€” CW: Set threshold for dit detection (default: 500).
  • -d <time> β€” CW: Dit length in ms (default: 50).
  • -g <time> β€” CW: Gap length in ms (default: 50).
  • -x β€” CW: Disable auto threshold detection.
  • -y β€” CW: Disable auto timing detection.
  • --timestamp β€” Add a time stamp in front of every printed line. ⏰
  • --iso8601 β€” Use UTC timestamp in ISO 8601 format that includes microseconds.
  • --label <label> β€” Add a label to the front of every printed line.
  • --flex-no-ts β€” FLEX: Do not add a timestamp to the FLEX demodulator output.
  • --json β€” Format output as JSON. Supported by the following demodulators: DTMF, EAS, FLEX, POCSAG. (Other demodulators will silently ignore this flag. πŸ™ˆ)

and where <demod> is one of: POCSAG512 POCSAG1200 POCSAG2400 FLEX FLEX_NEXT GSC EAS UFSK1200 CLIPFSK FMSFSK AFSK1200 AFSK2400 AFSK2400_2 AFSK2400_3 HAPN4800 FSK9600 DTMF ZVEI1 ZVEI2 ZVEI3 DZVEI PZVEI EEA EIA CCIR MORSE_CW DUMPCSV X10 SCOPE SDL_SCOPE

The -a and -s options may be given multiple times to specify the desired list of demodulators πŸ‘‘ stack 'em, customise 'em, it's your world.


πŸ“ EXAMPLE πŸ“

Decode signal modulations from a sound file /tmp/message.wav without using a SCOPE display:

multimon-ng -s SCOPE -t wav /tmp/message.wav

With no input file specified, the program listens directly to the sound card using PulseAudio 🎧. So to decode (only) DTMF tones on the sound card input:

multimon-ng -a DTMF

🌈 NOTICE 🌈

Please note that monitoring commercial services may be prohibited in some countries ⚠️ β€” this software should therefore only be used to monitor the amateur radio service. fr fr, check your local laws bestie, we are not trying to get you in trouble πŸ’–

πŸ’€ BUGS πŸ’€

The DTMF and ZVEI decoders have more frequent spurious detection reports. 😭 they're a little dramatic, they see ghosts. love them anyway.


🫢 AUTHOR 🫢

This manual page was written by A. Maitland Bottoms <bottoms@debian.org>, GΓΆran Weinholt <weinholt@debian.org> and Elias Oenal <multimon-ng@eliasoenal.com> for the Debian GNU/Linux system (but may be used by others). This is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. πŸ“œβœ¨


and that's the whole vibe check diva πŸ’… this edition dropped April 18, 2026 β€” General Commands Manual, MULTIMON-NG(1), mwah πŸŽ€πŸ’– go decode something iconic πŸ”₯

πŸ“¦ where this page comes from