Inworld

Pitch, speaking rate and temperature controls for Inworld TTS.

Inworld tuning is passed in synthesizer.options. Audio shaping lives under a nested audioConfig object, matching Inworld’s own API.

1{
2 "verb": "say",
3 "text": "Thanks for calling, how can I help you today?",
4 "synthesizer": {
5 "vendor": "inworld",
6 "language": "en",
7 "voice": "Ashley",
8 "options": {
9 "temperature": 0.8,
10 "audioConfig": {
11 "pitch": 0.0,
12 "speakingRate": 1.0
13 }
14 }
15 }
16}

Options

temperature
number

Sampling temperature. Defaults to 0.8. Lower values give a more consistent, predictable read; higher values more variation between renders of the same text.

audioConfig

audioConfig.speakingRate
number

Speaking rate multiplier. Defaults to 1.0. Values above 1.0 are faster, below are slower.

audioConfig.pitch
number

Pitch adjustment. Defaults to 0.0, the voice’s natural pitch.

audioConfig.sampleRateHertz
number

Output sample rate. jambonz already requests the rate that matches the call’s codec, so leave this unset unless you have a specific reason — overriding it forces a resample.

audioConfig.bitRate
number

Output bit rate.

Streaming

Inworld supports TTS streaming, including token-by-token streaming for say with stream: true and for the agent verb, where text is spoken as your LLM produces it.

audioConfig.pitch applies to non-streaming synthesis only; Inworld’s streaming API does not accept it.

Word timestamps

On inworld-tts-1.5-mini, inworld-tts-1.5-max and inworld-tts-2, Inworld returns word-level timing along with the audio. jambonz uses it to track how much of a response the caller actually heard, which powers trackTtsPlayout and lets a barge-in trim the conversation history to the words spoken before the interruption. No configuration is needed beyond enabling that feature — jambonz requests the timing itself.

inworld-tts-1 and inworld-tts-1-max return no timing, so playout tracking is unavailable on them. Both are marked deprecated in the portal and are no longer offered for new speech credentials; existing credentials that use them keep working, and you can still select them if you need to.