instantreality 1.0

Component:
Sound
Status:
interface only
Structure type:
concrete
Standard:
Avalon

AudioTTS

Text-To-Speech (TTS) node. Transforms text to audio data by using a synthetic computer voice. Besides creating the audio data, this node can also provide weights to morph between different geometries. This can be used to animate the lips of avatars.

Inheritance

Code

XML encoding
<AudioTTS text=''
visemeKey=''
weightValue=''
visemeDurationScale='0.5'
autoSilentIndex='-1'
enabled='TRUE'
description=''
loop='FALSE'
pitch='1.0'
startTime='0'
stopTime='0'
pauseTime='0'
resumeTime='0'
triggerName='Sound'
logFeature=''
 />
Classic encoding
AudioTTS {
	text ""
	visemeKey [""]
	weightValue []
	visemeDurationScale 0.5
	autoSilentIndex -1
	enabled TRUE
	description ""
	loop FALSE
	pitch 1.0
	startTime 0
	stopTime 0
	pauseTime 0
	resumeTime 0
	triggerName "Sound"
	logFeature [""]
}

Interface

Filter: X3D only | Avalon only | All
id Name DataType PartType Default ValueType Description
SFString text SFString inputOutput The text that gets spoken by the computer voice.
MFFloat weights_changed MFFloat outputOnly Provides the weights for the different geometries used to create the final geometry. Usually, you have one geometry for each viseme provided by the text-to-speech system. For each geometry, you get one weight. The sum of all weights is 1. You multiply all geometries with their respective weight and sum them up. The result is an animation of the lips that is synchronous to the speech.
SFString marker_reached SFString outputOnly Sends the name of a marker in the text when the computer voice reaches the position of the marker. Use this outslot to synchronize animations with the spoken text. Not yet implemented.
MFString visemeKey MFString initializeOnly Maps visemes to geometries. E.g. when the viseme a is represented by the first geometry, you put "a" at index 0 of this field, etc.
MFFloat weightValue MFFloat initializeOnly You can use this field to remap weights. This contains (number of visemes) * (number of geometries) weight values. When the node has to display viseme i, it takes the values starting at i * (number of visemes) as weights. Otherwise, it sets the weight of the geometry that corresponds to the viseme to 1 and the weights of all other geometries to 0.
SFNode voice SFNode initializeOnly Voice Contains a Voice node the describes the synthetic computer voice.
SFFloat visemeDurationScale SFFloat inputOutput 0.5 This value determines how long the visemes are displayed during the animation. By default the value is 0.5, which means that half of the time the current viseme is displayed, a quarter of the time is used to interpolate from the previous viseme to the current viseme, and a quarter of the time is used to interpolate from the current viseme to the next viseme.
SFInt32 autoSilentIndex SFInt32 inputOutput -1 The index of the silent geometry. When this field is >= 0, the node ensures that the corresponding geometry is shown at the end of the animation sequence.
SFBool enabled SFBool inputOutput TRUE Enables or disables audio sources. A disabled audio source does not produce audio data.
SFTime cycleTime SFTime outputOnly cycleTime sends a time outputOnly at startTime, and also at the beginning of each new cycle (useful for synchronization with other time-based objects).
SFFloat fraction_changed SFFloat outputOnly fraction_changed continuously sends value in range [0,1] showing time progress in the current cycle.
SFTime time SFTime outputOnly Time continuously sends the absolute time (since January 1, 1970) for a given simulation tick.
SFString triggerName SFString initializeOnly Sound name of the dynamic context-slot which is used by the run-time environment (e.g. Jobs) to trigger the node. Life-Nodes will automatically connect the context-eventOutut to the triggerSlot-eventInput Slot.
SFTime triggerSlot SFTime inputOnly slot which is used internally to connect a dynamic context-slot which name is set by the triggerName value. Its used automatically to install run-time environment trigger.
SFTime ready SFTime outputOnly Sends the current timestamp when audio data is available. Currently not implemented.
MFString logFeature MFString inputOutput state, child, parent, route, eventIn, eventOut controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything