-
Notifications
You must be signed in to change notification settings - Fork 41
Command line options
Oona Räisänen edited this page Nov 5, 2025
·
24 revisions
If no options are given redsea will default to decoding MPX from the standard input using the default sample rate.
Some of these options may be given multiple times and the last one will stay in effect (unless otherwise stated below).
If no options are given, redsea expected an FM multiplex signal via stdin as raw 16-bit signed-integer PCM; see input formats.
| short | long | argument | description |
|---|---|---|---|
-c |
--channels |
number | Number of channels if the input is raw PCM; 1 by default. Channels are interleaved streams of samples that are demodulated independently. |
-f |
--file |
file name | Use an audio file (WAV etc.) as MPX input, instead of raw PCM from stdin. All formats readable by libsndfile should work. The input format, number of channels, and samplerate are detected from the header automatically. You can read a file from stdin by using -f -.This option can't be used with --input. |
-i |
--input |
{bits, hex, mpx, tef} | Format of the stdin input (see Input formats for more info): • bits: ASCII binary format (0100010110101...). These should be the raw bits after delta decoding.• hex: RDS Spy compatible hex input (timestamps are ignored).• mpx: FM broadcast multiplex signal as raw PCM (default).• tef: Serial data from the TEF6686 tuner.This option can't be used with --file. To read a WAV from stdin, use --file -. |
-r |
--samplerate |
number | Set stdin sample frequency in Hz. The input will be resampled if this differs from 171000 Hz (uses more CPU). |
| short | long | argument | description |
|---|---|---|---|
-e |
--feed-through |
Echo the input signal to stdout and print decoded groups to stderr. | |
-E |
--bler |
Display the average block error rate, or the percentage of blocks that had errors before error correction. Averaged over the last 12 groups. For hex input, this is the percentage of missing blocks. | |
-o |
--output |
{hex, json} | Output format: • hex: RDS Spy compatible hex format.• json: Newline-delimited JSON (default). |
-p |
--show-partial |
Print multi-group data such as PS names, RadioText, and alternative frequencies as soon as it arrives, even if not fully received. Useful for real-time displays or noisy conditions. Data is in partial_{ps,radiotext,alt_kilohertz} | |
-R |
--show-raw |
Show raw group data as hex in the JSON stream. | |
-t |
--timestamp |
format string | Add time of decoding to JSON or hex groups; see man strftime for formatting options (or try "%c"). |
--time-from-start |
(v1.3+) Add the stream (file) position, in seconds, to each group. It works only for MPX input and represents the number of seconds from the beginning of the file until sampling the first bit of each group. See Time and timestamps | ||
-u |
--rbds |
RBDS (USA/Canada) mode; use North American program type names and "back-calculate" the station's call sign from its PI code. Note that this calculation gives an incorrect call sign for most stations that transmit TMC; and that the calculation does not make sense outside North America. | |
-x |
--output-hex |
(For backwards compatibility; see -o). |
| short | long | argument | description |
|---|---|---|---|
-l |
--loctable |
directory | Load a TMC location table from a directory in TMC Exchange format. This option can be specified multiple times to load several location tables. |
--no-fec |
Disable forward error correction; always reject blocks with incorrect syndromes. In noisy conditions, fewer errors will slip through, but also fewer blocks in total. See wiki for discussion. | ||
-s |
--streams |
(v1.2+) Decode additional (RDS2) data streams in MPX input. For hex input, these are always decoded if present. | |
-? |
--help |
Show usage help. | |
-v |
--version |
Print version string and exit. |