pipecat-readaloud
ReadAloud text-to-speech for Pipecat: Piper voices,
low first-audio latency, 8 kHz telephony output, barge-in by connection close. Status: alpha, unpublished (see
../docs/STATUS_MATRIX.md for what is verified).
pip install pipecat-readaloud # not yet on PyPI: install from this directory with `pip install .`
export READALOUD_API_KEY=rtts_...
from pipecat_readaloud import ReadAloudTTSService
tts = ReadAloudTTSService(
api_key=os.environ["READALOUD_API_KEY"], # or omit and set READALOUD_API_KEY
sample_rate=8000, # 8000 for Twilio/Telnyx; 24000 native; 16000 works too
settings=ReadAloudTTSService.Settings(voice="default", speed=1.0),
)
# ... Pipeline([transport.input(), stt, user_agg, llm, tts, transport.output(), assistant_agg])
Options: base_url (default https://api.readaloudai.org), engine (piper default | kokoro),
output_format (auto | pcm_24000 | pcm_8000 | mulaw_8000 | alaw_8000 | pcm_16000), max_retries,
aiohttp_session. auto requests 8 kHz when the pipeline runs at 8 kHz, otherwise 24 kHz, and lets Pipecat resample.
Behaviour: audio frames are yielded as bytes arrive (sample-aligned). On interruption Pipecat cancels the
in-flight synthesis and the connection is closed, which stops generation server-side. "At capacity" (HTTP 503/429),
502 and 504 are retried with exponential backoff (Retry-After honoured) until the first audio byte; auth (401), quota
(402), bad request and unknown voice (400/404) surface immediately as ErrorFrame. No word timestamps (the API
returns none), so TTSTextFrames are not time-aligned. Tested with pipecat-ai==1.12.0; requires pipecat-ai>=1.12,<2.
Tests: pip install -e '.[dev]' && pytest (a local fake ReadAloud server speaks the public HTTP protocol).
Metadata
Release files for pipecat-readaloud 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pipecat_readaloud-0.1.0.tar.gz | 12.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pipecat_readaloud-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.0 kB
Release files / pipecat_readaloud-0.1.0.tar.gz
| Download URL | pipecat_readaloud-0.1.0.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e21c939065eaa594f159ced073e1e81c8f5a76939a4221ca63bb34a01b556b95
|
|
BLAKE2b-256 checksum How to use checksums |
ee2b5ac87cdcf324dba9b525589a75ddf3cadbd32092e25585ad9fb299c96383
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / pipecat_readaloud-0.1.0-py3-none-any.whl
| Download URL | pipecat_readaloud-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e773a30ee243fe905d0822d2afcbc2dec97a85e9cfdf6fe81a699fe9d30f17d
|
|
BLAKE2b-256 checksum How to use checksums |
22ddf2fbf8ea3ba1477aa81a0bd74cdcb684f01eeab5bbcd75028b7ab864cc98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|