General Questions
What is minimodem?
What is minimodem?
- Decode (receive) audio modem tones at any specified baud rate
- Generate (transmit) audio modem tones at any specified baud rate
- Work in real-time via system audio devices
- Process audio files in batch mode
- Support various standard FSK protocols
What protocols does minimodem support?
What protocols does minimodem support?
- Bell103 (300 bps) - Classic 300 baud modem
- Bell202 (1200 bps) - Common for Caller-ID and packet radio
- V.21 (300 bps) - ITU-T V.21 standard
- RTTY (45.45 bps) - Radioteletype, popular in amateur radio
- TTY/TDD (45.45 bps) - Telecommunications Device for the Deaf
- NOAA SAME (520.83 bps) - Weather alert broadcasts
- Caller-ID (1200 bps) - Telephone caller identification
- UIC-751-3 (600 bps) - Train-to-ground communication
- Custom rates - Any floating-point baud rate value
What can't minimodem do?
What can't minimodem do?
- AX.25 framed packets - Use ax25 tools instead
- Modem control (“AT”) commands - Not a Hayes-compatible modem
- DTMF tones - No telephone dialing tone generation
- PSK, QAM, or other modulation schemes - FSK only
- Error correction protocols - Raw data only, no built-in error correction
direwolf or soundmodem.Is minimodem free and open source?
Is minimodem free and open source?
- Free to use, modify, and distribute
- Source code available on GitHub
- Contributions welcome
- Created by Kamal Mostafa
Technical Questions
What sample rate should I use?
What sample rate should I use?
- Low baud rates (< 300 bps): 24000 Hz or 48000 Hz
- Medium baud rates (300-1200 bps): 48000 Hz (default)
- High baud rates (> 1200 bps): 48000 Hz or higher
- Very high rates (> 6000 bps): May need 96000 Hz or higher
What's the difference between mark and space frequencies?
What's the difference between mark and space frequencies?
- Mark frequency - Represents binary ‘1’ (or ‘mark’ state)
- Space frequency - Represents binary ‘0’ (or ‘space’ state)
- Mark: 1200 Hz (binary 1)
- Space: 2200 Hz (binary 0)
What is the confidence value?
What is the confidence value?
inf(infinity) - Perfect signal, rate perfect5.0+- Very clean signal2.0-5.0- Good signal1.5- Default minimum threshold1.0-1.5- Noisy but potentially usable< 1.0- Too noisy
Should I use ALSA or PulseAudio?
Should I use ALSA or PulseAudio?
- ✅ Easier for desktop systems
- ✅ Better integration with modern Linux desktops
- ✅ Automatic device management
- ❌ May have higher latency
- ✅ Lower latency
- ✅ Better for embedded systems
- ✅ More direct hardware control
- ❌ Requires manual device selection
What's the difference between Baudot and ASCII?
What's the difference between Baudot and ASCII?
- 8 data bits per character
- No parity
- 1 stop bit (typically)
- 256 possible characters
- Default for most baud rates
- 5 data bits per character
- No parity
- 1.5 or 2.0 stop bits
- 32 possible codes (uses shift for uppercase/symbols)
- Used by RTTY and TTY/TDD
Usage Questions
How do I transfer files between computers?
How do I transfer files between computers?
- Use a physical audio cable for best results
- Higher baud rates (1200+) work well over cable
- Lower baud rates (300 or less) work better for acoustic coupling
- Consider adding error detection at the application layer
Can I use minimodem with radio?
Can I use minimodem with radio?
- RTTY: 14.085 MHz (20m), 7.040 MHz (40m)
- NOAA SAME: 162.400-162.550 MHz
- Use
--auto-carrierfor unknown transmitter frequencies - RTTY typically uses 170 Hz shift
- May need
--inverteddepending on your radio’s mode (USB/LSB) - Adjust
--confidencefor weak signals
How do I test minimodem without hardware?
How do I test minimodem without hardware?
-
Generate a test transmission:
-
Decode the test file:
What's the maximum reliable baud rate?
What's the maximum reliable baud rate?
- Audio cable: Up to 12000 bps or higher
- Acoustic (air): 100-300 bps
- Telephone line: 1200-2400 bps
- FM radio: 300-1200 bps
- HF radio: 45-300 bps (RTTY/PSK)
Can I use minimodem for Caller-ID?
Can I use minimodem for Caller-ID?
- Connect your phone line to computer’s audio input (use appropriate interface)
- Caller-ID is transmitted between the first and second ring
- You may need
--inverteddepending on your country/system - Signal appears for only a short time, so start listening before the call
Platform-Specific Questions
Does minimodem work on Windows?
Does minimodem work on Windows?
- Requires Cygwin environment
- Uses PulseAudio for audio
- Must configure with
--without-alsa --without-sndio - First run may show PulseAudio warning (run twice)
Does minimodem work on macOS?
Does minimodem work on macOS?
- macOS build typically uses file-based audio
- For real-time audio, consider using PulseAudio via Homebrew
- Or use
soxfor audio device bridging
Can I use minimodem on embedded systems?
Can I use minimodem on embedded systems?
- Raspberry Pi - Works great, all features available
- OpenWRT routers - Successfully tested
- Embedded Linux - Designed for low-resource systems
- Use
--without-pulseaudioand use ALSA directly - Lower baud rates reduce CPU usage
- Adjust
--limitto reduce computational load - Consider
--without-benchmarksat build time
Troubleshooting
Where can I find more help?
Where can I find more help?
- Check the Troubleshooting guide
- Review the Use Cases for examples
- See the Command Reference for all options
- Check GitHub issues for similar problems
- Contribute to the project via Contributing