Skip to main content
View source

Text To Speech

View as Markdown

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 inLane outDescription
textaudioSynthesize the supplied text.
documentsaudioJoin eligible document page_content values with newlines, then synthesize it.
questionsaudioJoin question text with spaces, then synthesize it.
answersaudioSynthesize 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​

FieldTypeDescriptionDefault
audio_tts.kokoro_voicestringVoice
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.profilestringTTS profile"kokoro"

Dependencies​

  • numpy
  • --only-binary docopt
  • --only-binary num2words
  • kokoro >=0.9.4
  • soundfile >=0.13.1