2011-06-23 01:10:31 +02:00
|
|
|
.\" Hey, EMACS: -*- nroff -*-
|
|
|
|
.\" First parameter, NAME, should be all caps
|
|
|
|
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
|
|
|
.\" other parameters are allowed: see man(7), man(1)
|
2013-06-10 18:28:02 +02:00
|
|
|
.TH MINIMODEM 1 "June 10, 2013"
|
2011-06-23 01:10:31 +02:00
|
|
|
.\" Please adjust this date whenever revising the manpage.
|
|
|
|
.\"
|
|
|
|
.\" Some roff macros, for reference:
|
|
|
|
.\" .nh disable hyphenation
|
|
|
|
.\" .hy enable hyphenation
|
|
|
|
.\" .ad l left justify
|
|
|
|
.\" .ad b justify to both left and right margins
|
|
|
|
.\" .nf disable filling
|
|
|
|
.\" .fi enable filling
|
|
|
|
.\" .br insert line break
|
|
|
|
.\" .sp <n> insert n+1 empty lines
|
|
|
|
.\" for manpage-specific macros, see man(7)
|
|
|
|
.SH NAME
|
2012-10-06 05:07:23 +02:00
|
|
|
minimodem \- general-purpose software audio FSK modem
|
2011-06-23 01:10:31 +02:00
|
|
|
.SH SYNOPSIS
|
|
|
|
.B minimodem --tx
|
|
|
|
.RI [ options ]
|
|
|
|
.I {baudmode}
|
|
|
|
.br
|
|
|
|
.B minimodem --rx
|
|
|
|
.RI [ options ]
|
|
|
|
.I {baudmode}
|
|
|
|
.SH DESCRIPTION
|
2012-10-06 05:07:23 +02:00
|
|
|
.B Minimodem
|
|
|
|
is a command-line program which decodes (or generates) audio
|
|
|
|
modem tones at any specified baud rate, using various framing protocols.
|
|
|
|
It acts a general-purpose software FSK modem, and includes support for
|
|
|
|
various standard FSK protocols such as Bell103, Bell202, RTTY, NOAA SAME,
|
|
|
|
and Caller-ID.
|
2011-06-23 01:10:31 +02:00
|
|
|
.PP
|
2012-10-06 05:07:23 +02:00
|
|
|
.B Minimodem
|
|
|
|
can play and capture audio modem tones in real-time via the system
|
|
|
|
audio device, or in batched mode via audio files.
|
|
|
|
.PP
|
|
|
|
.B Minimodem
|
|
|
|
can be used to transfer data between nearby computers using an
|
|
|
|
audio cable (or just via sound waves), or between remote computers using
|
|
|
|
radio, telephone, or another audio communications medium.
|
2011-06-23 01:10:31 +02:00
|
|
|
.SH "TX/RX MODE"
|
|
|
|
.TP
|
|
|
|
.B \-t, \-\-tx, \-\-transmit, \-\-write
|
|
|
|
transmit mode: generate audio tones
|
|
|
|
.TP
|
|
|
|
.B \-r, \-\-rx, \-\-receive, \-\-read
|
|
|
|
receive mode: decode audio tones
|
2012-10-06 04:40:17 +02:00
|
|
|
.SH {baudmode}
|
|
|
|
The required \fI{baudmode}\fR parameter may be any floating-point value to
|
|
|
|
specify a baud rate, or any of the special keywords listed below.
|
|
|
|
The \fI{baudmode}\fR also implies certain other parameter defaults
|
|
|
|
depending on the rate, including standard (or at least reasonable)
|
|
|
|
default mark and space tone frequencies.
|
|
|
|
.TP
|
|
|
|
.B {any floating point value N}
|
|
|
|
: Bell202-style at N bps \-\-ascii
|
|
|
|
.TP
|
|
|
|
.B 1200
|
|
|
|
: Bell202 1200 bps \-\-ascii
|
|
|
|
.TP
|
|
|
|
.B 300
|
|
|
|
: Bell103 300 bps \-\-ascii
|
|
|
|
.TP
|
|
|
|
.B rtty
|
|
|
|
: RTTY 45.45 bps \-\-baudot \-\-stopbits 1.5
|
|
|
|
.TP
|
|
|
|
.B same
|
|
|
|
: SAME 520.83 bps \-\-startbits 0 \-\-stopbits 0 \-\-sync-byte 0xAB
|
|
|
|
.br
|
|
|
|
NOAA Specific Area Message Encoding (SAME) protocol
|
|
|
|
.TP
|
|
|
|
.B callerid
|
|
|
|
: Bell202 1200 bps Caller-ID (MDMF or SDMF) protocol
|
2014-11-16 22:02:59 +01:00
|
|
|
.TP
|
|
|
|
.B uic-train
|
|
|
|
: UIC-751-3 600 bps train-to-ground message protocol
|
|
|
|
.TP
|
|
|
|
.B uic-ground
|
|
|
|
: UIC-751-3 600 bps ground-to-train message protocol
|
2011-06-23 01:10:31 +02:00
|
|
|
.SH OPTIONS
|
|
|
|
.TP
|
2011-07-09 02:42:19 +02:00
|
|
|
.B \-a, \-\-auto-carrier
|
2012-09-05 01:26:10 +02:00
|
|
|
Automatically detect mark and space frequences from carrier.
|
|
|
|
.TP
|
|
|
|
.B \-i, \-\-inverted
|
|
|
|
Invert the mark and space frequencies (applies whether the
|
|
|
|
frequencies are defaults, discovered by \-\-auto-carrier,
|
|
|
|
or specified manually).
|
2011-07-09 02:42:19 +02:00
|
|
|
.TP
|
2012-08-27 00:16:49 +02:00
|
|
|
.B \-c, \-\-confidence min-confidence-threshold
|
|
|
|
Set receive confidence minimum threshold (default 1.5).
|
|
|
|
The "confidence" value is a metric based primarily on
|
|
|
|
the SNR (signal-to-noise ratio) of the received signal.
|
2012-08-19 06:24:01 +02:00
|
|
|
This value acts as an FSK decoder "squelch" control.
|
|
|
|
Increase to accept only very clean signals (up to INFINITY, but
|
|
|
|
a value around 5.0 is more practical). Decrease to accept partial
|
2012-08-27 00:16:49 +02:00
|
|
|
decoding of noisy signals (down to a minimum value of 1.0).
|
|
|
|
(This option applies to \-\-rx mode only).
|
|
|
|
.B \-l, \-\-limit max-confidence-search-limit
|
|
|
|
Set receive confidence maximum search limit (default 2.3).
|
|
|
|
The "confidence" value is as described above.
|
2012-08-19 06:24:01 +02:00
|
|
|
This value acts as a performance vs. analysis quality control.
|
|
|
|
Increase (up to INFINITY) for a more pedantic analysis
|
2012-08-27 00:16:49 +02:00
|
|
|
and higher CPU usage. Decrease (down to the min-confidence-threshold)
|
2012-08-19 06:24:01 +02:00
|
|
|
for a sloppier analysis, with lower CPU usage.
|
2012-08-27 00:16:49 +02:00
|
|
|
(This option applies to \-\-rx mode only).
|
2011-07-08 22:16:06 +02:00
|
|
|
.TP
|
2011-06-23 01:10:31 +02:00
|
|
|
.B \-8, \-\-ascii
|
|
|
|
ASCII 8\-N\-1
|
|
|
|
.TP
|
|
|
|
.B \-5, \-\-baudot
|
|
|
|
Baudot 5\-N\-1.5
|
|
|
|
.TP
|
2011-06-24 08:46:18 +02:00
|
|
|
.B \-f, \-\-file filename.wav
|
|
|
|
encode or decode an audio file (extension sets audio format)
|
2011-06-23 01:10:31 +02:00
|
|
|
.TP
|
|
|
|
.B \-b, \-\-bandwidth {rx_bandwidth}
|
|
|
|
.TP
|
2012-08-25 09:32:11 +02:00
|
|
|
.B \-v, \-\-volume {tx_amplitude or 'E'}
|
|
|
|
Sets the generated signal amplitude (default is 1.0). As a special case
|
|
|
|
useful for testing, the value 'E' sets the amplitude to the very small value
|
|
|
|
FLT_EPSILON. (This option applies to \-\-tx mode only).
|
|
|
|
.TP
|
2011-06-23 01:10:31 +02:00
|
|
|
.B \-M, \-\-mark {mark_freq}
|
|
|
|
.TP
|
|
|
|
.B \-S, \-\-space {space_freq}
|
|
|
|
.TP
|
2012-09-01 22:33:49 +02:00
|
|
|
.B \-\-startbits {n}
|
|
|
|
Sets the number of start bits (default is 1 for most baudmodes).
|
|
|
|
.TP
|
|
|
|
.B \-\-stopbits {n.n}
|
|
|
|
Sets the number of stop bits (default is 1.0 for most baudmodes).
|
2011-07-02 20:22:06 +02:00
|
|
|
.TP
|
2012-09-01 23:54:32 +02:00
|
|
|
.B \-\-sync-byte {0xXX}
|
|
|
|
If this option is used, initial carrier acquisition will be suppressed
|
|
|
|
until after one or more consecutive data frame(s) containing this value
|
|
|
|
are received. This can be used to synchronize the stream for protocols
|
|
|
|
which include a fixed preamble byte.
|
|
|
|
(This option applies to \-\-rx mode only).
|
|
|
|
.TP
|
2011-07-09 03:08:52 +02:00
|
|
|
.B \-q, \-\-quiet
|
|
|
|
Do not report CARRIER / NOCARRIER or signal analysis metrics.
|
|
|
|
.TP
|
2012-08-11 19:24:28 +02:00
|
|
|
.B \-R, \-\-samplerate {rate}
|
|
|
|
Set the audio sample rate (default rate is 48000 Hz).
|
|
|
|
.TP
|
2012-09-10 00:24:35 +02:00
|
|
|
.B \-A, \-\-alsa[={plughw:X,Y | X,Y | X }]
|
2012-08-09 05:10:55 +02:00
|
|
|
Use ALSA as the audio output system instead of the default
|
2012-09-10 00:24:35 +02:00
|
|
|
PulseAudio (depending on build configuration options). The ALSA
|
|
|
|
device alias "default" is used, if a specific device is not specified.
|
|
|
|
For example, the following options all select ALSA device #1, sub-device #0:
|
|
|
|
\-\-alsa=plughw:1,0 \-\-alsa=1,0 \-A1
|
2012-08-09 05:10:55 +02:00
|
|
|
.TP
|
2012-08-14 06:17:03 +02:00
|
|
|
.B \-\-lut={tx_sin_table_len}
|
|
|
|
Minimodem uses a precomputed sine wave lookup table of 1024 elements,
|
|
|
|
or the size specified here. Use \-\-lut=0 to disable the use of
|
|
|
|
the sine wave lookup table. (This option applies to \-\-tx mode only).
|
|
|
|
.TP
|
2012-08-14 00:55:57 +02:00
|
|
|
.B \-\-float-samples
|
2012-08-13 00:47:59 +02:00
|
|
|
Generate 32-bit floating-point format audio samples, instead of the
|
|
|
|
default 16-bit signed integer format (applies to \-\-tx mode only;
|
|
|
|
\-\-rx mode always uses 32-bit floating-point).
|
|
|
|
.TP
|
2012-08-30 19:17:55 +02:00
|
|
|
.B \-\-rx-one
|
|
|
|
Quit after the first carrier/no-carrier event (applies to \-\-rx mode only).
|
|
|
|
.TP
|
2012-09-01 09:09:32 +02:00
|
|
|
.B \-\-binary-output
|
|
|
|
Print received data bits as raw binary output using characters '0' and '1'.
|
|
|
|
The bits are printed in the order they are received. Framing bits (start
|
|
|
|
and stop bits) are omitted from the output.
|
|
|
|
(This option applies to \-\-rx mode only).
|
|
|
|
.TP
|
2015-04-21 19:39:00 +02:00
|
|
|
.B \-\-binary-raw {nbits}
|
|
|
|
Print all received bits (data bits and any framing bits) as raw binary output
|
|
|
|
using characters '0' and '1'. Framing bits are not interpreted, but simply
|
|
|
|
passed through to the output. The bits are printed in the order they are
|
|
|
|
received, in lines {nbits} wide. So in order to display a standard 8-N-1
|
|
|
|
bitstream (8 databits + 1 start bit + 1 stop bit), use "--binary-raw 10"
|
|
|
|
or a multiple of 10.
|
|
|
|
(This option applies to \-\-rx mode only).
|
|
|
|
.TP
|
2012-10-05 22:29:30 +02:00
|
|
|
.B \-\-print-filter
|
|
|
|
Filter the received text output, replacing any "non-printable" bytes
|
|
|
|
with a '.' character.
|
|
|
|
(This option applies to \-\-rx mode only).
|
|
|
|
.TP
|
2015-04-16 20:51:14 +02:00
|
|
|
.B \-\-tx-carrier
|
|
|
|
When transmitting from a blocking source, keep a carrier going while waiting
|
|
|
|
for more data.
|
|
|
|
.TP
|
2012-08-14 00:51:04 +02:00
|
|
|
.B \-\-benchmarks
|
|
|
|
Run and report internal performance tests (all other flags are ignored).
|
|
|
|
.TP
|
2011-07-02 20:22:06 +02:00
|
|
|
.B \-V, \-\-version
|
|
|
|
print program version
|
2011-06-23 01:10:31 +02:00
|
|
|
.SH EXAMPLES
|
|
|
|
.TP
|
|
|
|
.B minimodem --tx 100
|
|
|
|
Transmit 100 baud tones from one computer ...
|
|
|
|
.TP
|
|
|
|
.B minimodem --rx 100
|
|
|
|
and receive 100 baud tones on another nearby computer.
|
|
|
|
.TP
|
2012-09-01 22:34:50 +02:00
|
|
|
.B minimodem --rx -a rtty
|
2011-06-23 01:10:31 +02:00
|
|
|
Decode amateur radio RTTY signals (listen near 14.085 MHz).
|
2011-07-16 04:17:31 +02:00
|
|
|
.TP
|
2012-09-01 22:34:50 +02:00
|
|
|
.B minimodem --rx same
|
|
|
|
Decode NOAA SAME protocol emergency alert transmissions, e.g.
|
|
|
|
.br
|
2014-11-04 16:46:14 +01:00
|
|
|
<http://en.wikipedia.org/wiki/Specific_Area_Message_Encoding>.
|
2012-09-01 22:34:50 +02:00
|
|
|
.TP
|
2011-07-16 04:17:31 +02:00
|
|
|
.B minimodem --tx 0.5
|
|
|
|
Experiment with very low baud rates (works in noisy conditions).
|
|
|
|
.TP
|
|
|
|
.B minimodem --tx 12000
|
2012-08-09 04:58:05 +02:00
|
|
|
Experiment with very high baud rates (works with audio files).
|
2011-06-23 01:10:31 +02:00
|
|
|
.SH NOTES
|
2011-07-03 17:48:47 +02:00
|
|
|
.B minimodem
|
|
|
|
does not decode AX.25 framed packets.
|
2011-06-23 01:10:31 +02:00
|
|
|
.PP
|
|
|
|
.B minimodem
|
|
|
|
does not support modem control ("AT") commands, nor does it produce
|
|
|
|
DTMF telephone dialing tones.
|
2011-07-16 04:17:31 +02:00
|
|
|
.SH VERSION
|
|
|
|
This page documents
|
|
|
|
.B minimodem
|
|
|
|
version @PACKAGE_VERSION@.
|
|
|
|
The latest version is available at <http://www.whence.com/minimodem>.
|
2011-06-23 01:10:31 +02:00
|
|
|
.SH AUTHOR
|
|
|
|
.B minimodem
|
|
|
|
was written by Kamal Mostafa <kamal@whence.com>.
|
|
|
|
.SH COPYRIGHT
|
2014-11-13 19:16:00 +01:00
|
|
|
Copyright \(co 2011-2014 by Kamal Mostafa <kamal@whence.com>.
|
2011-06-23 01:10:31 +02:00
|
|
|
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
|
|
|
|
.br
|
|
|
|
This is free software: you are free to change and redistribute it.
|
|
|
|
There is NO WARRANTY, to the extent permitted by law.
|