Text-to-speech CLI with podcast feed publishing.
Project description
Text in, speech out. Free TTS via Microsoft Edge — no API key needed.
Linux
Install
uv tool install aloud
Or with pip:
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
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:
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aloud-0.1.1.tar.gz.
File metadata
- Download URL: aloud-0.1.1.tar.gz
- Upload date:
- Size: 110.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78217764f85023ee69c013c6a90c6d34b68748e56e3e04000b2fb2e0d60e6416
|
|
| MD5 |
fb05f33edd42d75f59846a4741def482
|
|
| BLAKE2b-256 |
230bd911ebd230cd1dde9944af529d1d5ca883a161d1b4674b7bf3088e18c9bb
|
File details
Details for the file aloud-0.1.1-py3-none-any.whl.
File metadata
- Download URL: aloud-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2657b61c1a5e8696e28e8dc2ca23959b2c18b1a59663d165b9bd1642d84f9c6c
|
|
| MD5 |
e40f246b0a6e25af1e571d0375d8b430
|
|
| BLAKE2b-256 |
0118ea1fbd242e72892990842bb2357362e5b18e0e19f1f0d66cc2a83156787b
|