Linux
Install dependencies
Minimodem requires several libraries and build tools:
The key dependencies are:
- libsndfile - for audio file I/O
- fftw3 - for FFT signal processing
- alsa-lib - for ALSA audio backend
- pulseaudio - for PulseAudio backend
- libsndio - for sndio backend (optional)
Test the installation
Run the test suite to verify the build:All tests should pass. If you see any failures, check your dependencies.
macOS
Install dependencies
Use Homebrew to install required libraries:
macOS doesn’t have ALSA, so minimodem will use the available audio backends (PulseAudio or file I/O).
Windows (via Cygwin)
Download Cygwin installer
Download the appropriate Cygwin installer for your system:
- 32-bit Windows: setup-x86.exe
- 64-bit Windows: setup-x86_64.exe
Install required packages
Run the Cygwin installer and install these packages:Build tools:
gcc-coremakeautomakeautoconfpkg-configgawklibgcc1
pulseaudiolibpulse0libpulse-simple0libpulse-devel
libsndfile1libsndfile-devellibsndfile-utilsfftw3libfftw3_3libfftw3-devel
libevent2.0_5
How to select packages in Cygwin
How to select packages in Cygwin
- Click “Next” until you reach the “Select Packages” screen
- Click the dropdown list next to “View” and select “Full”
- Search for each package name (e.g., “gcc-core”)
- Double-click “Skip” next to the package so it changes to a version number
- Repeat for all packages listed above
- Click “Next” to install
If you get “Could not download mirror sites list”, visit cygwin.com/mirrors.html, copy any mirror URL, and manually add it in the installer.
Troubleshooting
configure: error: Package requirements not met
configure: error: Package requirements not met
This means you’re missing a required dependency. Check the error message to see which package is missing, then install it using your package manager.Common missing packages:
pkg-config- required for detecting other librariesfftw3orfftw3f- required for FFT signal processinglibsndfile- required for audio file support
make check fails
make check fails
If the test suite fails:
- Check that all dependencies are properly installed
- Try building with specific backends disabled:
- Check the test output in
tests/*.logfor specific errors
No audio output/input on Linux
No audio output/input on Linux
Ensure you have the correct audio backend installed:
- For ALSA: install
libasound2-dev - For PulseAudio: install
libpulse-dev - Check if your audio device is working:
aplay -lorpactl list sinks
Permission denied errors
Permission denied errors
Some operations may require elevated privileges. Try with
sudo:Next Steps
Quick Start
Learn how to transmit and receive data with minimodem
Usage Examples
Explore advanced usage scenarios and protocols