multimon-ng(1)
| MULTIMON-NG(1) | General Commands Manual | MULTIMON-NG(1) |
NAME
multimon-ng - program to decode radio transmissions
SYNOPSIS
multimon-ng [options] [input_file]
DESCRIPTION
This manual page documents briefly the multimon-ng command. This manual page was written for Debian because the original program does not have a manual page.
The multimon-ng software can decode a variety of digital transmission modes commonly found on VHF/UHF radio. A standard PC soundcard is used to acquire the signal from a transceiver. The decoding is done completely in software. Currently, the following modes are supported:
- •
- 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 do not have to know in advance which mode is used. Note however that some modes might require modifications to the radio (especially the 9600 baud FSK and the POCSAG modes) to work properly.
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) is 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.
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.
- -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.
- -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.)
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.
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.
BUGS
The DTMF and ZVEI decoders have more frequent spurious detection reports.
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.
| April 18, 2026 |
