TerminalWave is a terminal-based music player with a visual waveform display. It combines simplicity with functionality, enabling users to browse directories, play MP3 files, and enjoy real-time waveform visualizations, all within the terminal.
- Intuitive Terminal User Interface: Navigate directories with ease using arrow keys.
- MP3 Playback: Play MP3 files directly from your terminal.
- Real-Time Waveform Visualization: Enjoy dynamic waveforms rendered in your terminal.
- Cross-Platform Support: Works seamlessly on Linux and Termux (Android).
- Pause, Resume, and Quit Controls:
p
: Pause playbackr
: Resume playbackq
: Quit playback
Make sure the following dependencies are installed on your system:
- C++ Compiler (e.g.,
g++
orclang++
) - ncurses: For terminal UI.
- mpg123: For MP3 decoding.
- PortAudio: For audio playback.
- FFTW: For waveform visualization.
sudo pacman -S base-devel ncurses mpg123 portaudio fftw
sudo apt install build-essential libncurses5-dev libmpg123-dev libportaudio2 fftw2
pkg install clang ncurses mpg123 portaudio fftw
git clone https://github.com/Techlm77/TerminalWave.git
cd TerminalWave
clang++ music.cpp -o music -lncurses -lmpg123 -lportaudio -lpthread -lm -lfftw3
After building TerminalWave, you can move the executable to a directory in your system's PATH
to run it from anywhere.
sudo mv music /usr/local/bin
mv music $PREFIX/bin
Once installed, you can run TerminalWave from anywhere by simply typing:
music