Returns the name of the specified viseme as a character string.
Visemes represent facial expressions related to the pronunciation of certain phonemes. This information can be used to align visual cues to audio playback. This may be useful in applications such as lip-syncing. When viseme generation is enabled, these markers will be generated whenever synthesis is performed. For each viseme, there will be an offset (in bytes) within the audio buffer along with a name for each.
Please refer to the phoneme tables associated with the TTS language you are using to look up the viseme that corresponds with each phoneme produced during synthesis.
This functionality was added in LumenVox version 11.3.100 (August 2013)
Function
- LV_TTS_RETURN_CODE LV_TTS_GetVisemeName(HTTSCLIENT client_handle, unsigned int viseme_idx, char * name_buffer, int name_buffer_length);
Parameters
client_handle
Handle to the active TTS client object.
viseme_idx
Index of the viseme whose name is being queried. It must be in the range [0, (viseme_count - 1)], where viseme_count was obtained from a call to LV_TTS_GetVisemesCount.
name_buffer
Memory address of a character string array that will be populated with the queried visieme's name.
name_buffer_length
Length in bytes of the maximum string length permitted in name_buffer.
Return Values
LV_SUCCESS
No errors; the queried name is available in name_buffer.
LV_INVALID_TTS_HANDLE
The input TTS client handle is not a valid one.
LV_NO_RESULT_AVAILABLE
Synthesis results are not yet available.
LV_FAILURE
The input viseme_idx is out of range.
LV_EXCEPTION
An exception occurred while processing the request.
Remarks
Note that visemes will only be generated if viseme generation is enabled via LV_TTS_SetPropertyEx.