https://github.com/techlm77/terminalwave
TerminalWave: A sleek terminal-based MP3 player with real-time waveform visualization built with ncurses, PortAudio and mpg123.
https://github.com/techlm77/terminalwave
Last synced: 3 months ago
JSON representation
TerminalWave: A sleek terminal-based MP3 player with real-time waveform visualization built with ncurses, PortAudio and mpg123.
- Host: GitHub
- URL: https://github.com/techlm77/terminalwave
- Owner: Techlm77
- License: mit
- Created: 2024-12-31T01:19:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-18T13:55:16.000Z (over 1 year ago)
- Last Synced: 2025-12-01T06:44:56.182Z (7 months ago)
- Language: C++
- Homepage:
- Size: 67.4 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TerminalWave
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.
## Features
- **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 playback
- `r`: Resume playback
- `q`: Quit playback
## Requirements
Make sure the following dependencies are installed on your system:
- **C++ Compiler** (e.g., `g++` or `clang++`)
- **ncurses**: For terminal UI.
- **mpg123**: For MP3 decoding.
- **PortAudio**: For audio playback.
- **FFTW**: For waveform visualization.
### Installing Dependencies
#### Arch Linux
```bash
sudo pacman -S base-devel ncurses mpg123 portaudio fftw
```
#### Ubuntu/Linux Mint
```bash
sudo apt install build-essential libncurses5-dev libmpg123-dev libportaudio2 fftw2
```
#### Termux
```bash
pkg install clang ncurses mpg123 portaudio fftw
```
## Building TerminalWave
```bash
git clone https://github.com/Techlm77/TerminalWave.git
cd TerminalWave
clang++ music.cpp -o music -lncurses -lmpg123 -lportaudio -lpthread -lm -lfftw3
```
## Installing TerminalWave for Easy Access
After building TerminalWave, you can move the executable to a directory in your system's `PATH` to run it from anywhere.
### Linux
```bash
sudo mv music /usr/local/bin
```
### Termux
```bash
mv music $PREFIX/bin
```
## Running TerminalWave
Once installed, you can run TerminalWave from anywhere by simply typing:
```bash
music
```
## Enjoy!!