Metadata-Version: 2.4
Name: sigplay
Version: 0.0.12
Summary: A retro-modern terminal music player
Project-URL: Homepage, https://sigplay.com
Project-URL: Repository, https://github.com/kaumnen/sigplay
Project-URL: Issues, https://github.com/kaumnen/sigplay/issues
Author: kaumnen
License-Expression: MIT
License-File: LICENSE
Keywords: audio,cli,music,player,terminal,textual,tui
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Sound/Audio :: Players
Requires-Python: >=3.13
Requires-Dist: librosa>=0.11.0
Requires-Dist: miniaudio>=1.61
Requires-Dist: mutagen>=1.47.0
Requires-Dist: numpy>=1.26.0
Requires-Dist: pedalboard>=0.9.19
Requires-Dist: strands-agents[openai]>=1.17.0
Requires-Dist: textual-dev>=1.8.0
Requires-Dist: textual[syntax]>=6.5.0
Description-Content-Type: text/markdown

# SIGPLAY

A terminal music player with a retro-modern vibe. Built with Python and Textual.

![Python 3.13+](https://img.shields.io/badge/python-3.13+-orange)
![License MIT](https://img.shields.io/badge/license-MIT-orange)

## What it does

- Plays music from your `~/Music` folder (MP3, WAV, OGG, FLAC)
- Keyboard-driven interface with vim-style navigation
- Real-time audio visualization
- **Floppy Mix**: AI-powered DJ mixing using natural language instructions

## What it looks like

<p align="center">
  <img alt="main-view" src="https://github.com/user-attachments/assets/ba4901ea-8a97-4f57-a808-5232c6063018" width="800" />
</p>


## Run

First, install [uv](https://docs.astral.sh/uv/getting-started/installation/) if you don't have it:

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

Then run:

```bash
uvx sigplay
```

That's all! No other things needed.

## Controls

| Key | Action |
|-----|--------|
| `j/k` | Navigate track list |
| `Enter` | Play selected track |
| `Space` | Play/Pause |
| `s` | Stop |
| `n/p` | Next/Previous track |
| `+/-` | Volume up/down |
| `m` | Mute |
| `r` | Shuffle |
| `f` | Floppy Mix (AI DJ) |
| `d` | Back to main view |
| `h` or `?` | Help |
| `q` | Quit |

## Floppy Mix

Press `f` to open the AI DJ mixer. Select tracks, write instructions in plain English, and let the AI create a mix.

Example instructions:
- "Mix these with smooth 4-second crossfades"
- "Boost the bass and add reverb"
- "Create a high-energy mix with compression"

Requires an [OpenRouter](https://openrouter.ai/keys) API key. You can set it as an environment variable or enter it when prompted:

```bash
export OPENROUTER_API_KEY="your-key-here"
export SIGPLAY_MIX_MODEL_ID="anthropic/claude-haiku-4.5"  # optional
```

## Requirements

- `uv` installed
- Audio files in `~/Music`

## License

MIT
