An open API service indexing awesome lists of open source software.

https://github.com/jonaylor89/apz

Terminal Audio Player
https://github.com/jonaylor89/apz

audio music player rodio rust terminal tty visualizer waveform

Last synced: 3 months ago
JSON representation

Terminal Audio Player

Awesome Lists containing this project

README

          

# apz

Minimal terminal audio player with live spectrum analyzer.

```
┌apz──────────────────────────────────────────────────────────────────────┐
│⏸ sample8.mp3 │
└─────────────────────────────────────────────────────────────────────────┘
┌Waveform─────────────────────────────────────────────────────────────────┐
│▃ ▂▂ ▄▄ ▂▁ ▂ ▄▃ ▄▁ ▄ ▁▅ ▂▃ ▂ ▃ ▂▂ ▃▁ ▃▂ ▅ ▂ █ ▃ ▁ ▃▁ ▃ ▃ ▁ ▁▂ ▁ │
│█▃██▂██▅██▇█▅██▆██▅█▆██▁██▃█▇▄█▇██▅██▅████▆█▂▅▇█ ██▂█ ██ ██▂█▄▅█▁██ ██▁█▆│
│████████████████████████████████████████████████▆████▆█████████████▆█████│
└─────────────────────────────────────────────────────────────────────────┘
┌Progress─────────────────────────────────────────────────────────────────┐
│ 00:00 / 00:32 │
└─────────────────────────────────────────────────────────────────────────┘
┌Volume───────────────────────────────────────────────────────────────────┐
│██████████████████████████████████100% ██████████████████████████████████│
└─────────────────────────────────────────────────────────────────────────┘

┌Controls─────────────────────────────────────────────────────────────────┐
│[Space] play/pause [Q] quit [R] restart │
└─────────────────────────────────────────────────────────────────────────┘
```

## Build

```bash
cargo build --release
```

## Usage

```bash
./target/release/apz [OPTIONS]
```

## Options

```
--visualizer Enable live spectrum analyzer
--bars Number of frequency bars (default: 100)
--smoothing Smoothing factor 0.0-1.0 (default: 0.7)
--bass-boost Bass boost multiplier (default: 1.5)
--volume-step Volume adjustment step (default: 0.05)
--seek-step Seek step in seconds (default: 5)
-h, --help Show help message
```

### Examples

```bash
# Basic playback
./target/release/apz song.mp3

# With visualizer
./target/release/apz --visualizer song.mp3

# Custom visualizer settings
./target/release/apz --visualizer --bars 50 --bass-boost 2.0 song.mp3

# Custom seek/volume steps
./target/release/apz --seek-step 10 --volume-step 0.1 song.mp3
```

## Supported Formats

MP3, WAV, FLAC, OGG, AAC/M4A

## Controls

- `Space` - Play/pause
- `←/→` - Seek ±5 seconds
- `↑/↓` - Volume ±5%
- `R` - Restart
- `Q` - Quit