Mode Selection
Transmit mode: encode data to audioAliases:
-t, --transmit, --writeReceive mode: decode audio to data (default)Aliases:
-r, --receive, --readTransmit Mode (—tx)
In transmit mode, minimodem reads data from standard input and generates FSK audio output.Basic Operation
- Command Line
- Pipe Data
- From File
Audio Output
By default, transmit mode outputs audio to your system’s default audio playback device:Transmission Behavior
Transmit mode includes several automatic behaviors:Leader Tone
Leader Tone
A brief leader tone (mark frequency) is transmitted before data to help receivers acquire carrier lock. This is 2 bits in length by default.Disabled if:
--startbits=0 is specifiedTrailer Tone
Trailer Tone
A trailer tone (mark frequency) is transmitted after data ends to ensure complete transmission. This is 2 bits in length by default.
Interactive Mode
Interactive Mode
When transmitting to audio devices (not files), minimodem operates in interactive mode:
- Monitors stdin for input
- Starts transmitting when data arrives
- Automatically stops after a brief timeout when input pauses
- Can use
--tx-carrierto maintain continuous carrier
Sync Bytes
Sync Bytes
For protocols like SAME that require synchronization, minimodem automatically transmits sync byte preambles:This transmits 16 sync bytes before actual data.
TX-Specific Options
Output amplitude (0.0 to 1.0, or ‘E’ for FLT_EPSILON)Flag:
-vSine wave lookup table length for TX tone generationLarger values provide higher quality but use more memory.
Transmit continuous carrier toneMaintains carrier signal even when no data is being sent (outputs idle mark tone).
Print ”### EOT” message when transmission endsUseful for debugging or monitoring transmission completion.
Transmit Examples
Receive Mode (—rx)
In receive mode, minimodem captures audio input, demodulates FSK signals, and outputs decoded data to standard output.Basic Operation
- Live Audio
- Audio File
- Save to File
Carrier Detection
Receive mode automatically detects carrier signals:- Scanning: Searches for FSK carrier in the audio input
- Acquisition: When carrier is detected, displays
### CARRIERmessage - Decoding: Demodulates and outputs data while carrier is present
- Loss: When signal is lost, displays
### NOCARRIERwith statistics
Carrier detection messages are printed to stderr, while decoded data goes to stdout. This allows you to separate the data from status messages:
Auto-Carrier Detection
Automatically detect carrier frequencyFlag:
-aInstead of using fixed mark/space frequencies, minimodem will scan the audio spectrum to find the carrier.- The exact carrier frequency is unknown
- The transmitter frequency may drift
- Multiple signals may be present
Signal Quality
Receive mode monitors signal quality through confidence values:Minimum confidence threshold for signal detectionFlag:
-cLower values accept weaker/noisier signals but may increase errors.
Higher values require cleaner signals.Maximum confidence search limitFlag:
-lControls performance vs. quality tradeoff:- Lower values: faster performance, may miss optimal frame positions
- Higher values: better quality for noisy signals, slower
- INFINITY: search exhaustively for best frame
RX-Specific Options
Exit after receiving one complete transmissionUseful for scripting or batch processing of audio files:
RX filter bandwidth in HzFlag:
-bNarrows or widens the receive filter:- Narrower: better noise rejection, requires accurate tuning
- Wider: more tolerant of frequency errors, more noise
Receive Examples
Common Workflows
Two-Way Communication
- Computer A (Transmit)
- Computer B (Receive)
Test Loop
Test minimodem by looping audio output back to input:File Processing
Batch process multiple audio files:Mode Comparison
| Feature | Transmit (—tx) | Receive (—rx) |
|---|---|---|
| Input | stdin (data) | Audio device or file |
| Output | Audio device or file | stdout (data) |
| Sample Format | S16 or Float | Float only (for FFT) |
| Interactive | Yes (with timing) | Continuous |
| Status Messages | EOT (optional) | CARRIER/NOCARRIER |
| Auto-frequency | No | Yes (with —auto-carrier) |
| Signal Quality | N/A | Confidence metrics |