Text To Speech
A RocketRide audio node that turns incoming text, documents, questions, or answers into a WAV audio stream through Kokoro.
About Kokoro
Kokoro is the text-to-speech backend used by this node. The node can construct its pipeline locally or ask a configured model server to load the Kokoro backend.
What it does
The node synthesizes non-empty text and streams a audio/wav file on its
audio lane. Choose it when a pipeline needs to make text audible rather than
play already-produced media or turn speech into text. It extracts text from
the four supported input lanes, so it can speak data already moving through a
pipeline without an agent-tool interface.
Lanes
| Lane in | Lane out | Description |
|---|---|---|
text | audio | Synthesize the supplied text. |
documents | audio | Join eligible document page_content values with newlines, then synthesize it. |
questions | audio | Join question text with spaces, then synthesize it. |
answers | audio | Synthesize the answer text. |
Configuration
Choose the single kokoro profile and its voice. Most users only need to
choose a voice appropriate for their text; the profile selector does not offer
an alternative backend.
Voice
The voice is required at startup; a blank value raises Kokoro: choose a voice from the list. Its first character is passed to the local or remote Kokoro
pipeline as the language code, so select a voice with the appropriate prefix
for the language you need. The default af_heart starts with a; change it
when the desired voice or its language-code prefix differs.
Notes
Local and model-server execution
When a model-server address is configured, the node connects a ModelClient,
loads the kokoro loader there, and writes the returned base64 WAV data to a
temporary file. Without one, it installs the local requirements, ensures the
en_core_web_sm spaCy model is present when spaCy is importable, and creates a
local KPipeline. Both paths synthesize at speed 1; the local path writes
mono, 16-bit, 24 kHz WAV output.
Input and cleanup behavior
Whitespace-only input produces no audio. Document input excludes documents of
type Image, Audio, and Video; the remaining page content is joined with
newlines. A temporary WAV file is removed after streaming and is also removed
if synthesis raises an exception.
Upstream docs
Schema
| Field | Type | Description | Default |
|---|---|---|---|
audio_tts.kokoro_voice | string | Voice Kokoro voice. The language is derived automatically from the voice prefix (af_/am_ → American, bf_/bm_ → British, ef_/em_ → Spanish, etc.). | "af_heart" |
audio_tts.profile | string | TTS profile | "kokoro" |
Dependencies
numpy--only-binarydocopt--only-binarynum2wordskokoro>=0.9.4soundfile>=0.13.1