Skip to content

Class UTryllGenerateAndSpeakParams

ClassList > UTryllGenerateAndSpeakParams

More...

  • #include <TryllGenerateAndSpeakParams.h>

Inherits the following classes: UTryllNodeParamsBase

Public Attributes

Type Name
int32 ContextSize = 0
FString DefaultExit
FString Grammar
ETryllHistoryRole HistoryRole = ETryllHistoryRole::Assistant
FTryllSlotInput Input
int32 MinSentenceChars = 12
FTryllModelName ModelName
FTryllOutputFilterOverrides OutputFilter
FTryllSlotName OutputName
ETryllPlacement Placement = ETryllPlacement::BeforeUserAsSystem
FTryllSamplingOverrides Sampling
int32 SpeakerId = 0
float Speed = 1.0f
FString SystemPrompt
FString Template
FString TtsLang
FTryllModelName TtsModelName
FTryllStoragePath TtsVoice
bool bOverrideGrammar = false
bool bOverrideInput = false
bool bOverrideModelName = false
bool bOverrideOutputName = false
bool bOverrideSystemPrompt = false
bool bOverrideTemplate = false
bool bOverrideTtsLang = false
bool bOverrideTtsModelName = false
bool bSubstituteAgentVariables = false

Public Functions

Type Name
virtual ETryllNodeType GetNodeType () override const
virtual flatbuffers::Offset< void > Pack (flatbuffers::FlatBufferBuilder & Fbb, Tryll::NodeParams::NodeParams & OutType) override const

Public Functions inherited from UTryllNodeParamsBase

See UTryllNodeParamsBase

Type Name
virtual TArray< FString > GetExitTargetOptions () const
virtual ETryllNodeType GetNodeType () const
FString GetOwnerNodeName () const
virtual flatbuffers::Offset< void > Pack (flatbuffers::FlatBufferBuilder & Fbb, ::Tryll::NodeParams::NodeParams & OutType) const
ETryllNodeType return static_cast (0)

Public Static Functions inherited from UTryllNodeParamsBase

See UTryllNodeParamsBase

Type Name
const FTryllGraphDescription * FindEnclosingGraph (const UObject * Obj)

Detailed Description

LLM-driven text generation + streaming TTS synthesis in a single fused node. Streams LLM tokens, segments them into sentences, synthesizes each sentence on a dedicated TTS strand, and emits PCM frames via OnTtsAudio callbacks.

Public Attributes Documentation

variable ContextSize

int32 UTryllGenerateAndSpeakParams::ContextSize;

KV-cache / context window (n_ctx) for the LLM in tokens. 0 = fall back to the model variant's context_size, else the server default_n_ctx. Validated against the model's trained maximum at agent creation.


variable DefaultExit

FString UTryllGenerateAndSpeakParams::DefaultExit;

Default exit target — routes here after generation + synthesis complete. Empty string = END. Graph exit "default" — target node name; empty = END.


variable Grammar

FString UTryllGenerateAndSpeakParams::Grammar;

variable HistoryRole

ETryllHistoryRole UTryllGenerateAndSpeakParams::HistoryRole;

Controls whether/how this node's slot replays in later turns' projected transcript. No send field — GenerateAndSpeak always streams text (streaming and non-streaming delivery would need incompatible projection-replay handling, so only the streamed mode is supported).


variable Input

FTryllSlotInput UTryllGenerateAndSpeakParams::Input;

Upstream inter-node slot this field consumes. Empty = context default.


variable MinSentenceChars

int32 UTryllGenerateAndSpeakParams::MinSentenceChars;

Minimum characters before a sentence boundary fires. Lower values reduce first-utterance latency at the cost of more, smaller TTS calls.


variable ModelName

FTryllModelName UTryllGenerateAndSpeakParams::ModelName;

variable OutputFilter

FTryllOutputFilterOverrides UTryllGenerateAndSpeakParams::OutputFilter;

Opt-in bounded artifact cleanup applied to streamed LLM output before variable substitution, slot/history write, wire delivery, and TTS. Missing/null = all flags off (defaults). Appended after substitute_agent_variables for additive field ids.


variable OutputName

FTryllSlotName UTryllGenerateAndSpeakParams::OutputName;

Effective output slot name for this node. Empty = the node's own name.


variable Placement

ETryllPlacement UTryllGenerateAndSpeakParams::Placement;

Where the rendered template body is placed relative to the resolved input.


variable Sampling

FTryllSamplingOverrides UTryllGenerateAndSpeakParams::Sampling;

Sparse sampling overrides applied on top of the model-catalog defaults.


variable SpeakerId

int32 UTryllGenerateAndSpeakParams::SpeakerId;

TTS speaker / voice index (default 0). Valid range is 0 to the model's speaker count minus 1 — the shipped Supertonic 3 bundle has 10 voice styles (0–9); Pocket TTS is single-speaker, so it must stay 0 there (pick a Pocket voice with tts_voice instead). Agent creation fails with an out-of-range error for values the model cannot satisfy.


variable Speed

float UTryllGenerateAndSpeakParams::Speed;

TTS speech-rate multiplier. 1.0 = native speed.


variable SystemPrompt

FString UTryllGenerateAndSpeakParams::SystemPrompt;

variable Template

FString UTryllGenerateAndSpeakParams::Template;

variable TtsLang

FString UTryllGenerateAndSpeakParams::TtsLang;

variable TtsModelName

FTryllModelName UTryllGenerateAndSpeakParams::TtsModelName;

variable TtsVoice

FTryllStoragePath UTryllGenerateAndSpeakParams::TtsVoice;

Reference-voice WAV for zero-shot voice-cloning families (Pocket TTS): a path relative to the session storage root pointing at a 10–20 s clean mono recording of the target voice. Empty = the model's default voice. Ignored by fixed-voice families (use speaker_id there).


variable bOverrideGrammar

bool UTryllGenerateAndSpeakParams::bOverrideGrammar;

Optional GBNF grammar. When non-empty, the generated (and spoken) output is constrained to this grammar at every decode step. Empty = unconstrained. Must contain a root rule. Mutable — rebuilt per turn. Narrower fit than on Generate: use it to constrain spoken output to a fixed set of barks / canned lines. Validated at agent creation and on mutation (3007). Set to true to override the inherited Grammar value.


variable bOverrideInput

bool UTryllGenerateAndSpeakParams::bOverrideInput;

Slot name this node consumes as its primary text. Empty = "user_message". Structural: immutable after creation — rebinding would re-wire the slot dataflow that is validated once at agent creation. Set to true to override the inherited Input value.


variable bOverrideModelName

bool UTryllGenerateAndSpeakParams::bOverrideModelName;

LLM model catalog name. Empty = use the agent's default_model_name. Set to true to override the inherited ModelName value.


variable bOverrideOutputName

bool UTryllGenerateAndSpeakParams::bOverrideOutputName;

Name this node's output slot is stored under. Empty = the node's own name. Structural: immutable after creation — renaming would re-wire the slot dataflow that is validated once at agent creation. Set to true to override the inherited OutputName value.


variable bOverrideSystemPrompt

bool UTryllGenerateAndSpeakParams::bOverrideSystemPrompt;

Prepended before the user turn during projection. Set to true to override the inherited SystemPrompt value.


variable bOverrideTemplate

bool UTryllGenerateAndSpeakParams::bOverrideTemplate;

Mustache template applied to the user-area message at projection time. Set to true to override the inherited Template value.


variable bOverrideTtsLang

bool UTryllGenerateAndSpeakParams::bOverrideTtsLang;

TTS language hint for multilingual models that select the language per call (e.g. Supertonic 3: "en", "de", "fr", …). Empty = the model's catalog default. Ignored by families whose language is fixed by the model itself (e.g. Pocket TTS per-language models). Set to true to override the inherited TtsLang value.


variable bOverrideTtsModelName

bool UTryllGenerateAndSpeakParams::bOverrideTtsModelName;

TTS model catalog name. Optional — when empty the server uses the first available TTS voice in the model catalog. Set it to pick a specific voice. Set to true to override the inherited TtsModelName value.


variable bSubstituteAgentVariables

bool UTryllGenerateAndSpeakParams::bSubstituteAgentVariables;

When true, replace __VARIABLE__ markers in streamed LLM output with the rendered values of agent variables that declared allow_output_substitution. Matching is ASCII case-insensitive. Default false. Transformed text is authoritative for the slot, wire answer, history, and TTS input (substitution runs before synthesis). Appended after default_exit to keep FlatBuffers field ids additive.


Public Functions Documentation

function GetNodeType

inline virtual ETryllNodeType UTryllGenerateAndSpeakParams::GetNodeType () override const

Implements UTryllNodeParamsBase::GetNodeType


function Pack

virtual flatbuffers::Offset< void > UTryllGenerateAndSpeakParams::Pack (
    flatbuffers::FlatBufferBuilder & Fbb,
    Tryll::NodeParams::NodeParams & OutType
) override const

Implements UTryllNodeParamsBase::Pack



The documentation for this class was generated from the following file C:/_tryll/_monorepo3/tryll/clients/unreal/Source/TryllClient/Public/Generated/Nodes/TryllGenerateAndSpeakParams.h