livekit-plugins-gandr
Gandr text to speech for LiveKit Agents.
pip install livekit-plugins-gandr
from livekit.agents import AgentSession
from livekit.plugins import gandr
session = AgentSession(
stt=...,
llm=...,
tts=gandr.TTS(voice="gandr-mia"), # key from GANDR_API_KEY
)
Get a key at gandr.ai. The free tier is 100,000 tokens, no card.
Voices
gandr-mia, gandr-ava, gandr-jenny, gandr-dane, gandr-leo, gandr-lewis, or a gnd: clone id.
One cloned voice speaks 23 languages. Swap mid-session with session.tts.update_options(voice=...).
Behaviour worth knowing
- Audio streams back in chunks as it is generated, so playback starts while the rest is still rendering.
- A truncated stream is never played as if complete. The API flags an early end and the plugin raises
instead of handing back half a sentence, so a
FallbackAdaptercan take the turn. - One retry through a busy moment, rather than letting the first caller in that window hear silence.
await tts.prewarm()opens the path early if you would rather do it on the SIP invite than on first speech.
Accuracy
Word error rate 1.982% against a 2.171% human reference, scored by one whisper-large-v3 configuration
across everything including the human baseline, n=1,088. Numbers, dates and order IDs are read correctly
rather than approximated, which is the failure that actually breaks phone agents.
Every render carries an inaudible watermark.
MIT.
Release files for livekit-plugins-gandr 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 | |
|---|---|---|---|
| livekit_plugins_gandr-0.1.1.tar.gz | 6.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| livekit_plugins_gandr-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / livekit_plugins_gandr-0.1.1.tar.gz
| Download URL | livekit_plugins_gandr-0.1.1.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
776ba0f8d9e6b7ee7b9c52b8f73888ca6da6db9d119667d7aaf4e2b316ed1acd
|
|
BLAKE2b-256 checksum How to use checksums |
5fcb3737ecccc00c47f0c220d033586797a2d5cbeedd680b639b3aa087e87bfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / livekit_plugins_gandr-0.1.1-py3-none-any.whl
| Download URL | livekit_plugins_gandr-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
79abdddf1c5867c0d3e01bf68d1cf8a0814e7a9bbf913d6aacdaf75897ad5511
|
|
BLAKE2b-256 checksum How to use checksums |
07a2adc9c079ad4007492b7405482ff7ecc2d7eb5b4f40ca7e4471134e896cf9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|