Metadata-Version: 2.4
Name: aloud
Version: 0.1.1
Summary: Text-to-speech CLI with podcast feed publishing.
Project-URL: Homepage, https://github.com/xuefei-wang/aloud
Project-URL: Repository, https://github.com/xuefei-wang/aloud
Project-URL: Issues, https://github.com/xuefei-wang/aloud/issues
Author: Xuefei Wang
License-Expression: GPL-3.0-or-later
Keywords: cli,edge-tts,podcast,text-to-speech,tts
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Requires-Python: >=3.10
Requires-Dist: edge-tts>=6.1
Provides-Extra: dev
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://raw.githubusercontent.com/xuefei-wang/aloud/main/banner.png" alt="aloud — let it speak.">
</p>

<p align="center">
  <strong>Text in, speech out.</strong> Free TTS via Microsoft Edge — no API key needed.
  <br>
  Linux
</p>

## Install

```bash
uv tool install aloud
```

Or with pip:

```bash
pip install aloud
```

### System dependencies

- **mpv** — audio playback (`sudo apt install mpv`)
- **ffprobe** — episode durations, publish mode only (`sudo apt install ffmpeg`)
- **git** — feed publishing (`sudo apt install git`)
- **xclip** / **xsel** / **wl-paste** — clipboard reading

## Usage

```bash
aloud article.txt              # play locally
aloud -c                       # read from clipboard
cat notes.md | aloud           # read from stdin
aloud -s "+80%" paper.md       # custom speed
aloud -v "en-US-JennyNeural"   # different voice
```

Speak, press **q** to quit. Space = pause, Left/Right = skip 5s.

### Podcast publishing

Generate an MP3 episode and publish to a self-hosted podcast feed:

```bash
aloud -o article.txt           # synthesize + publish to feed
aloud feed                     # regenerate RSS feed and push
```

### Options

| Flag | Description |
|------|-------------|
| `-c`, `--clipboard` | Read from clipboard instead of file |
| `-o`, `--output` | Publish to podcast feed (no playback) |
| `-s`, `--speed` | TTS speed (default: `+20%`) |
| `-v`, `--voice` | TTS voice (default: `en-US-AndrewMultilingualNeural`) |

### Subcommands

| Command | Description |
|---------|-------------|
| `aloud feed` | Regenerate RSS feed and git push |
| `aloud config` | Interactive setup wizard |

## Configuration

Run `aloud config` to set up:

```
Feed directory [~/Projects/read-aloud-feed]:
Feed URL [https://...]:
Default speed [+20%]:
```

Config is stored in `~/.config/aloud/config.json`. Playback works without config — only publishing requires it.

## License

GPL-3.0-or-later
