Understanding minimodem
minimodem works by encoding digital data as audio frequency-shift keying (FSK) signals. It can:- Transmit (
--tx) - Convert text/data to audio tones - Receive (
--rx) - Decode audio tones back to text/data - Work in real-time via sound card or batch mode via audio files
- Support various protocols: Bell 103, Bell 202, RTTY, TTY/TDD, NOAA SAME, Caller-ID
The baud rate must match between transmitter and receiver. Common rates are 300 (Bell 103), 1200 (Bell 202), and 45.45 (RTTY).
Basic Transmit and Receive
File-based Transfer
The simplest way to test minimodem is using audio files:Transmit data to a file
Create an audio file containing encoded data:This encodes “Hello minimodem!” at 1200 baud and saves it to
output.wav.Real-time Audio Transfer
For real-time transmission between two computers (or two terminals):Start the receiver
On the receiving computer/terminal:Minimodem will listen for incoming audio signals through the microphone.
Common Usage Patterns
Choosing a Baud Rate
Saving Received Data
Working with Audio Files
minimodem supports various audio formats through libsndfile: WAV, FLAC, AIFF, AU, and more.
Protocol Examples
RTTY (Radioteletype)
RTTY uses 5-bit Baudot encoding, common in amateur radio:RTTY mode automatically sets:
- Baud rate: 45.45
- Data bits: 5 (Baudot)
- Stop bits: 1.5
TTY/TDD (Telecommunications Device for the Deaf)
TDD uses specific frequencies and Baudot encoding:NOAA SAME (Specific Area Message Encoding)
Decode NOAA weather radio alerts:Caller ID
Decode telephone Caller ID signals:Advanced Options
Custom Frequencies
Specify custom mark and space frequencies:Volume Control
Adjust transmission volume:Quiet Mode
Suppress carrier and status messages:Auto-carrier Detection
Automatically detect carrier frequency:Complete Examples
Example 1: Local File Transfer Test
Verify your minimodem installation:Example 2: Two-Computer Transfer
Example 3: Audio Cable Transfer
Connect two computers with an audio cable (speaker output → line-in/mic):Example 4: Ham Radio Data Transfer
Transmit data over amateur radio:Understanding Output Messages
Carrier Detection
No Carrier Message
- ndata: Number of data frames decoded
- confidence: Signal quality (higher is better,
infis perfect) - ampl: Signal amplitude (0.0 to 1.0+)
- bps: Actual bit rate detected
- rate perfect: Indicates the timing matched exactly
- X% fast/slow: Indicates timing difference from expected rate
Troubleshooting
No carrier detected
No carrier detected
- Check volume levels (both speaker and microphone)
- Ensure baud rate matches between TX and RX
- Try
--auto-carriermode:minimodem --rx -a 1200 - Verify audio devices are working:
arecord -l(Linux) - Use a file-based test first to rule out hardware issues
Garbled or partial data
Garbled or partial data
- Signal quality may be poor (check confidence values)
- Try a lower baud rate (300 instead of 1200)
- Reduce background noise
- Adjust volume (not too loud, not too quiet)
- Check for audio clipping or distortion
Audio device errors
Audio device errors
- Specify device explicitly:
- List available devices:
Permission denied
Permission denied
Some audio devices require permissions:
Next Steps
Command Reference
Complete guide to all minimodem options and flags
Protocols
Detailed documentation of supported protocols
Examples
Advanced usage examples and recipes
Troubleshooting
Common issues and solutions