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
Metadata
Release files for narrate 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| narrate-0.1.1.tar.gz | 6.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| narrate-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.7 kB
Release files / narrate-0.1.1.tar.gz
| Download URL | narrate-0.1.1.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
334ede8d3ce93ea9611d32325ca13ab0e1d055202a9fcf40719d38b135656fa3
|
|
BLAKE2b-256 checksum How to use checksums |
2e844d1dcd5886eb1fb7a618ae2e748cd35daf8bd8b02be77aa513e00e554805
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / narrate-0.1.1-py3-none-any.whl
| Download URL | narrate-0.1.1-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c0704ca771e84329ce5aff88222607d8463262e7ff835f104b09e461ceaf0b04
|
|
BLAKE2b-256 checksum How to use checksums |
091de3082acdff52a9a119d9b238676df369ba1b3949e8f0de25d3791b22e9df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|