TTS Http

Prev Next

Text To Speech Integration Node

Parameters

name
description
default
Address Address of the SESTEK TTS service http://core-tts
IgnoreSslErrors ignore any certificate errors if SESTEK TTS address contains https false
ConnectionTimeoutMsec Connect timeout for provided address in milliseconds 20000
Language Language will be used in order to determine which of the provided voices will be used for TTS -
CredentialId Id of the credential that will be used for TTS requests. This parameter is only necessary if a cloud SESTEKTTS deployment is used. You must leave this empty for on-premise deployments. None(On-Prem)
Voices The array of voices that are available for use -

Inputs

Audio

none

Events

name description known nodes that generate this event
Every Event that Contains the Data.Text field A TTS Synthesis audio can be generated from any event that is text based. Users can also generate their custom event that has Data.Text and send it through the Entry, or External Relay nodes. SR Http, SR WebSocket, Translate
Language Change Change the current voice to match the desired language if there is an avaliable voice. In case of multiple available voices, the first voice in the list will be used. Text Language Identifier, Language Identifier.

Outputs

Audio

 Syntesized speech is sent to output

Events

name description
Start of TTS Fragment This event is sent just before a TTS operation writes the result to Audio output. Contains the Text that was used for the synthesis under the Data.Text field.
End of TTS Fragment This event is send just after a TTS operation has finished writing to Audio output.

Remarks

Custom TTS Event

A sample tts-request event would look as follows.

{
    "Event": {
        "Name": "Custom TTS Event",
        "Channel": 0,
        "Data" : {
            "Text": "hello world"
        }
    }
}

Channel: Channel number is necessary for locating the node that will perform the TTS operation.
Data.Text: The text that will be synthesized.

Sending Custom Events to Projects

To learn more about sending Events to projects, you can check the HTTP and External Relay pages.

Project Structure

A minimum viable TTS project that works with custom events can be built as such:

image.png

An example that utilizes two TTS Http nodes with different Voices can be built as seen below. In order to choose which node does the synthesis, we can change the Channel variable in our custom event.

image.png

Finally, here's an example project that doesn't count on external events, instead, it does simultaneous translation of speech and returns audio segments to the client.

image.png

Supported flow types

Stream, Batch

Release Notes

v3.6.0
  • Improved Observability for request timings.
v3.4.0
  • Added synthesized Text information under the data field in `Start Of TTS Fragment`.
v3.0.0
  • Renamed "Models" to "Voices".
v2.0.0
  • Renamed from "TTS Http Alpha" to "TTS Http".
v1.1.0
  • Introduced node.