Local text-to-speech with Kokoro and Chatterbox engines
Project description
narrate
Local text-to-speech with multiple engine support.
Install
pip install narrate[kokoro] # Kokoro 82M — fast, runs on CPU
pip install narrate[chatterbox] # Chatterbox 500M — high quality, emotion control
pip install narrate[all] # Both engines + audio playback
Usage
from narrate import narrate
# Uses the best available engine and default voice
narrate("Hello world")
# Choose voice (second positional argument)
narrate("Hello world", "am_adam") # male voice
narrate("Hello world", "bf_emma") # British female
narrate("Hello world", "af_sarah") # soft female
# Keyword style with speed control
narrate("Hello world", voice="af_heart", speed=1.2)
# Chatterbox with emotion control (0.0 = neutral, 1.0 = expressive)
narrate("Hello world", engine="chatterbox", emotion=0.8)
# Save to file without playing
narrate("Hello world", output="hello.wav", play=False)
Available Voices (Kokoro)
| Voice ID | Name | Description |
|---|---|---|
af_heart |
Heart | Female, warm (default) |
af_bella |
Bella | Female, clear |
af_nicole |
Nicole | Female, professional |
af_sarah |
Sarah | Female, soft |
af_sky |
Sky | Female, bright |
am_adam |
Adam | Male, deep |
am_michael |
Michael | Male, natural |
bf_emma |
Emma | British female |
bm_george |
George | British male |
# List all available voices programmatically
from narrate import list_voices
for v in list_voices():
print(f"{v['id']:15} {v['name']:10} {v['description']}")
Engines
| Engine | Params | Speed | Quality | Features |
|---|---|---|---|---|
| Kokoro | 82M | Fast (CPU) | Good | 9 voices, speed control |
| Chatterbox | 500M | Moderate | Excellent | Emotion control, voice cloning |
License
MIT
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
narrate-0.1.1.tar.gz
(6.7 kB
view details)
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 narrate-0.1.1.tar.gz.
File metadata
- Download URL: narrate-0.1.1.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
334ede8d3ce93ea9611d32325ca13ab0e1d055202a9fcf40719d38b135656fa3
|
|
| MD5 |
2def284370579c0a16f39cc2d42b8274
|
|
| BLAKE2b-256 |
2e844d1dcd5886eb1fb7a618ae2e748cd35daf8bd8b02be77aa513e00e554805
|
File details
Details for the file narrate-0.1.1-py3-none-any.whl.
File metadata
- Download URL: narrate-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0704ca771e84329ce5aff88222607d8463262e7ff835f104b09e461ceaf0b04
|
|
| MD5 |
04e12956ed92649b3b1d87ae1fca22d4
|
|
| BLAKE2b-256 |
091de3082acdff52a9a119d9b238676df369ba1b3949e8f0de25d3791b22e9df
|