A real-time audio spectrum visualizer using ALSA and ncurses, designed to process audio input and display its frequency spectrum as a waterfall plot.
- Captures audio from ALSA-supported devices.
- Configurable sample rate, buffer size, and skip buffers.
- Interactive ncurses-based user interface.
- Real-time visualization of audio frequency spectrum.
- Adjustable frequency range and gain settings.
- Keyboard controls for intuitive interaction.
- ALSA: Ensure ALSA is installed on your system.
- Ensure your terminal supports RGB colors
-
Clone the repository:
git clone https://github.com/radiopushka/SonicSDR cd SonicSDR -
Build the project:
make
Run the program with the following syntax:
./ftaudio
./ftaudio <alsa_device> <sample_rate> <buffer_size> <skip_buffer><alsa_device>: ALSA audio device (default:"default").<sample_rate>: Audio sample rate in Hz (default:48000).<buffer_size>: Receive buffer size (default:4000).<skip_buffer>: Number of buffers to skip before visualization (default:0).
./ftaudio
./ftaudio hw:0,0 44100 2048 1- ↑: Increase gain.
- ↓: Decrease gain.
- →: Move frequency cursor right.
- ←: Move frequency cursor left.
- Enter: Set the waterfall's maximum frequency.
- Tab: Set the waterfall's minimum frequency.
- r: Reset the frequency range to default.
- h: Display help for controls.
- Space: Pause or resume visualization.
- q: Quit the application.
- Displays the real-time frequency spectrum with adjustable gain and frequency ranges.
- Highlights frequency markers and allows precise control over visualization parameters.
Feel free to report issues or contribute improvements to the project. Open a pull request or file an issue in the issues section.





