Skip to navigation

Respeecher

Respeecher real-time voices in English, Ukrainian and more, with sampling controls for Respeecher TTS.

Respeecher generates speech with real-time models for English, Ukrainian, Arabic, German, Brazilian Portuguese and Swedish. Respeecher tuning is passed in synthesizer.options.

{
"verb": "say",
"text": "Hi there, your order ships today.",
"synthesizer": {
"vendor": "respeecher",
"language": "en-US",
"voice": "samantha",
"options": {
"temperature": 0.8,
"seed": 42
}
}
}

You can also set these in the portal under Extra Options on the speech credential, in which case they apply to every request that uses that credential. Settings supplied on the verb take precedence.

Credential

Create an API key in Respeecher Space. jambonz sends the key in the X-API-Key header. Add it as a Respeecher speech credential in the portal or API, using the vendor id respeecher. Respeecher is used for text-to-speech only.

Models

Respeecher has one model per language, and there is no separate language field: the model sets the language.

ModelLanguage
en-rtEnglish. Default.
ua-rtUkrainian
ar-rtArabic
de-rtGerman
pt-br-rtBrazilian Portuguese
sv-rtSwedish

jambonz picks the model from synthesizer.language by its prefix: en uses en-rt, uk uses ua-rt, ar uses ar-rt, de uses de-rt, pt uses pt-br-rt and sv uses sv-rt. Any other language uses en-rt. Set options.model_id to choose the model directly; it takes precedence over a model_id on the credential, which takes precedence over the language.

jambonz asks Respeecher for 16-bit PCM at 24 kHz and resamples it to the call’s rate.

Voices and languages

A voice is a Respeecher voice id. The portal lists these voices:

LanguageVoice id
English (US)samantha (female, American), amara (female, Indian)
Ukrainianolesia-conversation

Other voices from your Respeecher account, including voices for the Arabic, German, Brazilian Portuguese and Swedish models, work when you enter their id as a custom voice together with the matching language or options.model_id.

Options

model_id
string

en-rt, ua-rt, ar-rt, de-rt, pt-br-rt or sv-rt. Overrides the model picked from the language.

seed
integer

Random seed, for repeatable output.

temperature
number

Sampling temperature, 0 or higher.

top_k
integer

Top-k sampling, -1 (off) or greater than 0.

top_p
number

Top-p sampling, greater than 0 and up to 1.

min_p
number

Min-p sampling, 0 – 1.

presence_penalty
number

Presence penalty, 0 – 2.

repetition_penalty
number

Repetition penalty, 1 – 2.

frequency_penalty
number

Frequency penalty, 0 – 2.

Every option is optional. An option you don’t set is not sent, so Respeecher’s own default applies.

Endpoint override

To point at a non-default endpoint, such as a proxy, set the API base URL on the credential, or api_uri in its Extra Options. Leave it out to use api.respeecher.com.

Streaming

Respeecher supports TTS streaming, so it can be driven token by token from an LLM using tts:tokens, for example from the agent verb. jambonz streams text to Respeecher over a live connection and starts a new Respeecher context for each turn; on barge-in it cancels the current context and drops its remaining audio instead of reconnecting.

Respeecher does not return word-level timestamps, so alignment events are not available.