Docs & SDKs
Support
Speech Tiles HOME
Sign in
Join us
Speech Tiles Developers
Conversational Speech Frameworks
Speech Tiles
Developers
Docs & SDKs
Support
Speech Tiles HOME
Conversational Speech Frameworks
Conversational Speech Frameworks
Docs & SDKs
Support
Speech Tiles HOME
STVoiceFlow Framework Reference
2.0.0
Voiceflow JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://speechtiles.com/draft/schemas/VoiceFlow.schema.json", "copyrightNotice": "© Speech Tiles LLC. 2025, All rights reserved.", "title": "Voice Flows Modules", "description": "Version 2.0.0; last updated 10/01/2025. This document contains JSON schema for Voiceflow which contains an array of Voiceflow modules interpreted and processed to execute speech-enabled conversational interactions between Programs and Users. Unless documented otherwise, value of properties that are of type \"string\" can be updated at runtime by an application if their value is entered as a field name wrapped by \"$[\" and \"]\". If a property is of a type other than \"string\", then an additional property of type \"string\" with the same property name appended with the string \"Runtime\" is added to have its value entered as a field name wrapped by \"$[\" and \"]\". This allows the application to set the value of the field name at runtime to be the value of the original non-runtime property. Valid values of runtime fields override the values of non-runtime properties.", "type": "array", "items": { "description": "List of Voice Flow Modules", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "id": { "description": "Unique ID of a Voice Flow Module. User defined. Use reserved IDs \"VF_START\" and \"VF_END\" with type \"node\" to define start and end Voice Flow Modules required in a Voice Flow. The value cannot be set at runtime.", "type": "string" }, "type": { "description": "Type of a Voice Flow Module. Values: \"node\", \"process\", \"pauseResume\", \"playAudio\", \"recordAudio\", \"recognizeAudio\", \"audioDialog\" and \"audioListener\". The value cannot be set at runtime.", "type": "string" }, "name": { "description": "The name of a Voice Flow Module. User defined. The value cannot be set at runtime.", "type": "string" }, "processParams": { "description": "Specifies the parameters for a \"process\" type Voice Flow Module. \"processParams\" configuration is used in \"process\" type Voice Flow Module.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "languageFolder": { "description": "The language folder name containing files retrieved by STVoiceFlow framework to support the particular language specified. Default: \"en-US\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "setValueForFieldNameCollection": { "description": "Specifies dynamic field name/value pair parameters that are created, retrieved, updated or deleted during runtime by Voiceflow processing and by client program.", "type": "array", "items": { "description": "Field name/value pairs for the STVoiceFlow framework to create or update while processing a \"process\" type Voiceflow Module.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "name": { "description": "Field name. Name of field is always enclosed with \"$[\" at beginning and with \"]\" at end. Example: \"name\": \"$[SleepModeReason]\".", "type": "string" }, "value": { "description": "Value of the field. Example: \"value\": \"UserRequested\". The value cannot be set at runtime.", "type": "string" } }, "required": ["name", "value"], "additionalProperties": false } }, "ssEngine": { "description": "the default speech synthesizer engine to use for processing text audio segments referenced by Audio Prompt Modules configured in this Voice Flow Module. Currently only Apple speech synthesizer is supported. Values: \"apple\". Default: \"apple\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "ssVoiceParams": { "$ref": "#/$defs/ssVoiceParams" }, "srEngine": { "description": "The default speech recognition engine to use for speech recognition. Currently only Apple speech recognizer is supported. Values: \"apple\". Default: \"apple\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "srLocale": { "description": "The default language locale for speech recognition engine to use for speech recognition. Default: \"en-us\" for US englisn. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "contextualStringsDictionary": { "$ref": "#/$defs/contextualStringsDictionary" }, "ssAliases": { "$ref": "#/$defs/ssAliases" }, "ssPhonemes": { "$ref": "#/$defs/ssPhonemes" }, "speakerEnabled": { "description": "Specifies whether the STVoiceFlow framework switches to use the device speaker for audio playback. Default: \"false\". The value can be set at runtime using the \"speakerEnabledRuntime\" property.", "type": "boolean" }, "speakerEnabledRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"speakerEnabled\" property. Example: \"$[SpeakerEnabled]\".", "type": "string" }, }, "required": [], "additionalProperties": false }, "audioInterruptTransitionParams": { "description": "Specifies the parameters for transitioning Voice Flow processing to a Voice Flow Module after Audio Session interruption ends. \"audioInterruptTransitionParams\" configuration is used in all Voice Flow Modules but more relevant when used in Voice Flow Modules that perform audio playback: \"playAudio\", \"recordAudio\", \"audioDialog\" and \"audioListener\". \"audioInterruptTransitionParams\" configured in \"process\" type Voice Flow Module will set the default audio interruption transition for the Voice Flow. \"audioInterruptTransitionParams\" configured in other type Voice Flow Modules will set the audio interruption transition for those specifc Voice Flow Modules and will override the default one set for the Voice Flow.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "transitionType": { "description": "The transition type. Values: \"resume\", \"repeat\", \"goto\", or \"end\". Default: \"end\" if no default is set for Voice Flow. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "goToVoiceFlowModuleID": { "description": "The ID of a Voice Flow Module ID in current Voice Flow to transition to. Use with \"goto\" transition type. Default: \"VF_END\" if no default is set for Voice Flow. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "rewindCurrentAudioSegmentMs": { "description": "Value is number of Milliseconds to rewind the audio segment playback from the time position it was interrupted at. Use with \"resume\" transition type. Default: 0 if no default is set for Voice Flow. The value can be set at runtime using the \"rewindCurrentAudioSegmentMsRuntime\" property.", "type": "integer" }, "rewindCurrentAudioSegmentMsRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"rewindCurrentAudioSegmentMs\" property. Example: \"$[RewindCurrentAudioSegmentMs]\".", "type": "string" }, "restartCurrentAudioSegment": { "description": "Specifies whether to play current audio segment that was interrupted from the beginning. Default: \"false\" if no default is set for Voice Flow. The value can be set at runtime using the \"restartCurrentAudioSegmentRuntime\" property.", "type": "boolean" }, "restartCurrentAudioSegmentRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"restartCurrentAudioSegment\" property. Example: \"$[RestartCurrentAudioSegment]\".", "type": "string" }, }, "required": [], "additionalProperties": false }, "playAudioParams": { "description": "Specifies the parameters for a \"playAudio\" type Voice Flow Module. \"plauAudioParams\" configuration is used in \"playAudio\" type Voice Flow Module.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "style": { "description": "Specifies the style or method for processing the Audio Prompt Modules configured for audio playback. Values: \"single\", \"select\", or \"combo\". Default: \"single\" if \"promptID\" is configured or \"combo\" if \"promptCollection\" is configured. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "_promptID": { "description": "Placeholder for documenting or noting other prompt IDs. Voice Flow processing ignores this property.", "type": "string" }, "promptID": { "description": "The ID of an Audio Prompt Module to process for audio playback. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "promptCollection": { "description": "An array that represents a collection or a group of Audio Prompt Module IDs to process for audio playback.", "type": "array", "items": { "description": "List of Audio Prompt Module IDs to process for audio playback.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "_promptID": { "description": "Placeholder for documenting or noting other prompt IDs. Voice Flow processing ignores this property.", "type": "string" }, "promptID": { "description": "The ID of an Audio Prompt Module to process for audio playback. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" } }, "required": ["promptID"], "additionalProperties": false } }, "ssEngine": { "description": "The default speech synthesizer engine to use for processing text audio segments referenced by Audio Prompt Modules configured in this Voiceflow Module. Currently only \"apple\" speech synthesizers are supported. Values: \"apple\". Default: \"apple\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "ssVoiceParams": { "$ref": "#/$defs/ssVoiceParams" } }, "required": [], "additionalProperties": false }, "recordAudioParams": { "$ref": "#/$defs/recordAudioParams" }, "recognizeAudioParams": { "description": "Specifies the parameters for speech recognition of audio. \"recognizeAudioParams\" configuration is used in Voice Flow Modules of types \"recognizeAudio\", \"audioDialog\" and \"audioListener\".", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "_srEngine": { "description": "Placeholder for documenting or noting other srEngine. Voice Flow processing ignores this property.", "type": "string" }, "srEngine": { "description": "The default speech recognition engine to use for recognizing speech in audio. Currently only \"apple\" speech recognition engint is supported. Values: . Default: \"apple\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "srLocale": { "description": "The language locale for the speech recognition engine to use. This allows multi-lingual speech recognition. Default: \"en-US\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "srSessionParams": { "description": "Specifies the speech recognition parameters for the speech recognition session.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "taskID": { "description": "An ID assigned to the speech recognition task. User defined. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "taskHint": { "description": "A value that indicates the type of speech recognition being performed (from Apple developer documentation) Values: \"dictation\", \"search\", \"confirmation\" or \"unspecified\". Default: \"unspecified\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "enablePartialResults": { "description": "Specifies whether intermediate results are returned for each utterance (from Apple developer documentation). Default: \"false\". The value can be set at runtime using the \"enablePartialResultsRuntime\" property.", "type": "boolean" }, "enablePartialResultsRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"enablePartialResults\" property. Example: \"$[EnablePartialResults]\".", "type": "string" }, "autoPunctuate": { "description": "Specifies whether or not to have the speech recognizer automatically punctaute the recognized text. Default: \"false\". The value can be set at runtime using the \"autoPunctuateRuntime\" property.", "type": "boolean" }, "autoPunctuateRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"autoPunctuate\" property. Example: \"$[AutoPunctuate]\".", "type": "string" }, "onDeviceSR": { "description": "Specifies whether a speech recognition request must keep its audio data on the device instead of using the cloud. On device speech recognition may be less accurate than speech recognition that uses the cloud. Default: \"false\". The value can be set at runtime using the \"onDeviceSRRuntime\" property.", "type": "boolean" }, "onDeviceSRRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"onDeviceSR\" property. Example: \"$[OnDeviceSR]\".", "type": "string" }, "contextualStringsDictionary": { "$ref": "#/$defs/contextualStringsDictionary" }, }, "required": [], "additionalProperties": false }, "recordUtteranceAudio": { "description": "Specifies whether or not to record utterance audio to a file. Default: \"false\". The value can be set at runtime using the \"recordUtteranceAudioRuntime\" property.", "type": "boolean" }, "recordUtteranceAudioRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"recordUtteranceAudio\" property. Example: \"$[RecordUtteranceAudio]\".", "type": "string" }, "recognizeUtteranceFile": { "description": "Specifies whether the speech recognition task is to recognize a recorded audio utterance. Default: \"false\". The value can be set at runtime using the \"recognizeUtteranceFileRuntime\" property.", "type": "boolean" }, "recognizeUtteranceFileRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"recognizeUtteranceFile\" property. Example: \"$[RecognizeUtteranceFile]\".", "type": "string" }, "recognizeUtteranceFileParams": { "description": "Specifies parameters for recognizing audio in an utterance file.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "utteranceFileName": { "description": "File name that contains the recorded audio utterance to be sent to a speech recognizer. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "utteranceFileLocation": { "description": "URL or location of folder where \"utteranceFileName\" containing the recorded audio utterance is located. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "offlineMode": { "description": "Specifies whether the speech recognition task will be executed in offline mode which means a recorded audio utterance will be sent in large blocks to the speech recognizer or will be sent in streaming small packets similar to live streaming from a user. Default: \"false\". The value can be set at runtime using the \"offlineModeRuntime\" property.", "type": "boolean" }, "offlineModeRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"offlineMode\" property. Example: \"$[OfflineMode]\".", "type": "string" }, }, "required": [], "additionalProperties": false }, }, "required": [], "additionalProperties": false }, "audioDialogParams": { "description": "Specifies the parameters for an \"audioDialog\" type Voice Flow Module. \"audioDialogParams\" configuration is used in an \"audioDialog\" type Voice Flow Module.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "dialogPromptCollection": { "description": "An array of Audio Prompt Module groups that define all audio playbacks throughout the execution of an interactive dialog.", "type": "array", "items": { "description": "Specifies Audio Prompt Module groups that define all audio playbacks throughout the execution of an interactive dialog.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "type": { "description": "Specifies the type of the Audio Prompt group. Values: \"preInitial\", \"initial\", \"garbage\", \"timeout\", or \"sr_error\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "style": { "description": "Specifies the style, method or sequence of selecting an Audio Prompt Module configured in an Audio Prompt Module group. Values: \"single\", \"select\", \"combo\", or \"serial\". Default: \"combo\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "recognizeWhilePlay": { "description": "Specifies if speech recognition is active during audio playback so User can barge-in instead of speech recognition starting after audio playback ends. Default: \"false\". The value can be set at runtime using the \"recognizeWhilePlayRuntime\" property.", "type": "boolean" }, "recognizeWhilePlayRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"recognizeWhilePlay\" property. Example: \"$[RecognizeWhilePlay]\".", "type": "string" }, "playInitialAfter": { "description": "Specifies whether the \"initial\" type Audio Prompt Module group will be re-processed for audio playback after \"garbage\", \"timeout\" or \"sr_error\" type Audio Prompt Module group has completed its processing for audio playback. Default: \"false\". The value can be set at runtime using the \"playInitialAfterRuntime\" property.", "type": "boolean" }, "playInitialAfterRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"playInitialAfter\" property. Example: \"$[PlayInitialAfter]\".", "type": "string" }, "_promptID": { "description": "Placeholder for documenting or noting other prompt IDs. Voice Flow processing ignores this property.", "type": "string" }, "promptID": { "description": "ID of Audio Prompt Module to process for audio playback. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "promptCollection": { "description": "Specifies an array of Audio Prompt Module IDs to be processed for audio playback according to the \"style\" of the Audio Prompt Module group.", "type": "array", "items": { "description": "List of Audio Prompt Module IDs to be processed for audio playback.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "_promptID": { "description": "Placeholder for documenting or noting other prompt IDs. Voice Flow processing ignores this property.", "type": "string" }, "promptID": { "description": "ID of a Audio Prompt Module. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" } }, "required": ["promptID"], "additionalProperties": false } } }, "required": ["type"], "additionalProperties": false } }, "dialogMaxRetryCount": { "description": "Specifies the parameters for maximum retry counts in a dialog to collect input from a User that translates to a valid SR Hypothesis or a valid User Intent.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "timeout": { "description": "Maximum threshold count of retries for no input or silence from User. The value can be set at runtime using the \"timeoutRuntime\" property.", "type": "integer" }, " timeoutRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"timeout\" property. Example: \"$[Timeout]\".", "type": "string" }, "garbage": { "description": "Maximum threshold count of retries for invalid or unreceognizable input from User. The value can be set at runtime using the \"garbageRuntime\" property.", "type": "integer" }, "garbageRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"garbage\" property. Example: \"$[Garbage]\".", "type": "string" }, "sr_error": { "description": "Maximum threshold count of retries for errors encountered with speech recognition. The value can be set at runtime using the \"sr_errorRuntime\" property.", "type": "integer" }, "sr_errorRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"sr_error\" property. Example: \"$[SR_error]\".", "type": "string" }, "totalRetry": { "description": "Maximum threshold count of total retries inclusive of retry counts from \"garbage\", \"timeout\" and \"sr_error\". The value can be set at runtime using the \"totalRetryRuntime\" property.", "type": "integer" }, "totalRetryRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"totalRetry\" property. Example: \"$[totalRetry]\".", "type": "string" }, }, "required": ["timeout", "garbage", "sr_error", "totalRetry"], "additionalProperties": false } }, "required": [], "additionalProperties": false }, "audioListenerParams": { "description": "Specifies the parameters for a \"audioListener\" type Voice Flow Module. \"audioListenerParams\" configuration is used in \"audioListener\" type Voice Flow Module.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "_promptID": { "description": "Placeholder for documenting or noting other prompt IDs. Voice Flow processing ignores this property.", "type": "string" }, "promptID": { "description": "ID of Audio Prompt Module to process for audio playback. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string", } }, "required": ["promptID"], "additionalProperties": false }, "goTo": { "description": "Specifies the next Voice Flow Module ID to transition to for processing. Voice Flow Module IDs to transition to can be static or can be assigned dynamically to a Key and retrieved at runtime if noted as $[Key]", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "DEFAULT": { "description": "Specifies default Voice Flow Module ID to transition to if no other configured transition rules apply. Example: \"DEFAULT\": \"VF_END\" transitions processing to the Voice Flow Module VF_END which is a reserved Voice Flow Module ID for last Voice Flow Module to process in a Voice Flow. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string", }, "maxTimeoutCount": { "description": "Specifies the Voice Flow Module ID to transition to if a maximum timeout retry count is reached when processing \"audioDialog\" type Voice Flow Module. Default: value of \"DEFAULT\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string", }, "maxGarbageCount": { "description": "Specifies the Voice Flow Module ID to transition to if a maximum garbage retry count is reached when processing \"audioDialog\" type Voice Flow Module. Default: value of \"DEFAULT\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string", }, "maxSRErrorCount": { "description": "Specifies the Voice Flow Module ID to transition to if a maximum speech recognition error retry count is reached when processing \"audioDialog\" type Voice Flow Module. Default: value of \"DEFAULT\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string", }, "maxTotalRetryCount": { "description": "Specifies the Voice Flow Module ID to transition to if a maximum total retry count is reached when processing \"audioDialog\" type Voice Flow Module. Default: value of \"DEFAULT\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string", }, "loadPromptFailure": { "description": "Specifies the Voice Flow Module ID to transition to if an Audio Prompt Module failed to process for audio playback when processing \"playAudio\", \"audioDialog\", or \"audioListener\" type Voice Flow Modules. Default: value of \"DEFAULT\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string", }, "internalFailure": { "description": "Specifies the Voice Flow Module ID to transition to if an internal failure is detected when processing a Voice Flow Module. Default: value of \"DEFAULT\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string", }, "userInputCollection": { "description": "Specifies an array of Voice Flow Module IDs to transition to as a result of comparing a speech hypothesis to entries in list of valid user inputs.", "type": "array", "items": { "description": "List of Voice Flow Module IDs to transition to if a speech hypothesis compares and matches to an entry from list of valid user inputs.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "enablePartialSRHypothsis": { "description": "Specifies whether comparing partial SR hypotheses to entries in a valid user input list is enabled. Default: \"false\". The value cannot be set at runtime.", "type": "boolean" }, "comparator": { "description": "Specifies type of comparison executed between SR hypothesis and entries in a valid user input list. Values: \"equals\", \"starts\", or \"contains\". Default: \"equals\". SR Hypothesis is compared to determine if it equals, starts with or contains an entry in a valid user input list. Comparisons are case insensitive. The value cannot be set at runtime.", "type": "string" }, "input": { "description": "specifies an entry from a valid user input list. The value cannot be set at runtime.", "type": "string" }, "goTo": { "description": "Specifies the Voice Module ID to transition to if comparing speech hypothesis to value of \"input\" results in a match. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" } }, "required": ["input", "goTo"], "additionalProperties": false } }, "userIntentCollection": { "description": "Specifies an array of Voice Flow Module IDs to transition to as a result of Client classifying a speech hypothesis to a User intent that matches an entry in a list of valid user intents.", "type": "array", "items": { "description": "List of Voice Flow Module IDs to transition to if Client classifies a speech hypothesis to an entry from a list of valid user intents.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "enablePartialSRHypothsis": { "description": "Specifies whether to enable classification of partial SR hypotheses to entries in a valid user intent. Default: \"false\". The value cannot be set at runtime.", "type": "boolean" }, "intent": { "description": "specifies an entry from a valid user intent list. Value of \"intent\" may reference a Key with its value updated by Client at runtime. Example: \"intent\": \"$[Key]\". The value cannot be set at runtime.", "type": "string" }, "goTo": { "description": "Specifies the Voice Module ID to transition to if a speech hypothesis is classified to a user intent that matches value of \"input\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" } }, "required": ["intent", "goTo"], "additionalProperties": false } }, "stopRecordReason": { "description": "Specifies the Voice Flow Module IDs to transition to depending on the reason that caused audio recording to stop.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "unknownError": { "description": "Unknown error. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "writeToStreamError": { "description": "Write to stream error. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "alreadyRecording": { "description": "Audio recording did not start because audio recording is already active. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "recordingFileError": { "description": "Recording to file error. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "audioFormatError": { "description": "Audio Format error. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "unknown": { "description": "Unknown reason. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "stopRequest": { "description": "Received a stop audio recording request. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "maxAudioExceeded": { "description": "Audio recorded in file exceeded maximum duration threshold. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "maxRecordingExceeded": { "description": "Audio read from audio source to be processed and recorded exceeded maximum duration threshold. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "maxPreSpeechSilenceExceeded": { "description": "Pre-speech silence duration exceeded maximum pre-speech duration threshold. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "maxPostSpeechSilenceExceeded": { "description": "Post-speech silence duration exceeded maximum post-speech duration threshold. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "maxSpeechExceeded": { "description": "Speech duration exceeded maximum speech duration threshold. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "reachedEndOfFile": { "description": "Reached end of file. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" } }, "required": [], "additionalProperties": false } }, "required": ["DEFAULT"], "additionalProperties": false } }, "required": ["id", "type", "name"], "additionalProperties": false }, "$defs": { "recordAudioParams": { "description": "Specifies the parameters for recording audio. \"recordAudioParams\" configuration is used in Voice Flow Modules of types \"recordAudio\", \"audioDialog\" and \"audioListener\".", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "id": { "description": "Specifies an ID form the audio recording task. User Defined. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "notifyPosMs": { "description": "Time duration in milliseconds for, when audio recording is reached, a notification is sent to Client. Default: 0. The value can be set at runtime using the \"notifyPosMsRuntime\" property.", "type": "integer" }, "notifyPosMsRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"notifyPosMs\" property. Example: \"$[NotifyPosMs]\".", "type": "string" }, "recordPlayPromptParams": { "$ref": "#/$defs/recordPlayPromptParams" }, "saveAudioParams": { "$ref": "#/$defs/saveAudioParams" }, "vadParams": { "$ref": "#/$defs/vadParams" }, "stopRecordParams": { "description": "Specifies the recording audio thresholds, which when reached, result in record audio to stop automatically.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "maxAudioLengthMs": { "description": "Specifies the maximum audio duration threshold in milliseconds of audio captured at a source to be processed and recorded. if VAD is filtering silence from recorded audio then recorded audio duration would be less than duration of audio captured at source. Record audio ends when this threshold is reached. Default: 0 (disabled). The value can be set at runtime using the \"maxAudioLengthMsRuntime\" property.", "type": "integer" }, "maxAudioLengthMsRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"maxAudioLengthMs\" property. Example: \"$[MaxAudioLengthMs]\".", "type": "string" }, "maxSpeechLengthMs": { "description": "Specifies the maximum speech duration threshold in milliseconds in recorded audio. Record audio ends when this threshold is reached. Default: 0 (disabled). The value can be set at runtime using the \"maxSpeechLengthMsRuntime\" property.", "type": "integer" }, "maxSpeechLengthMsRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"maxSpeechLengthMs\" property. Example: \"$[MaxSpeechLengthMs]\".", "type": "string" }, "maxPreSpeechSilenceLengthMs": { "description": "Specifies the maximum pre-speech silence duration threshold in milliseconds. Record audio ends when this threshold is reached. Default: 0 (disabled). The value can be set at runtime using the \"maxPreSpeechSilenceLengthMsRuntime\" property.", "type": "integer" }, "maxPreSpeechSilenceLengthMsRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"maxPreSpeechSilenceLengthMs\" property. Example: \"$[MaxPreSpeechSilenceLengthMs]\".", "type": "string" }, "maxPostSpeechSilenceLengthMs": { "description": "Specifies the maximum post-speech silence duration threshold in milliseconds. Record audio ends when this threshold is reached. Default: 0 (disabled). The value can be set at runtime using the \"maxPostSpeechSilenceLengthMsRuntime\" property.", "type": "integer" }, "maxPostSpeechSilenceLengthMsRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"maxPostSpeechSilenceLengthMs\" property. Example: \"$[MaxPostSpeechSilenceLengthMs]\".", "type": "string" }, }, "required": [], "additionalProperties": false }, }, "required": [], "additionalProperties": false }, "vadParams": { "description": "Specifies the Voice Activity Detection (VAD) parameters used for processing recorded audio.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "enableVAD": { "description": "Specifies if Voice Activity Detection will be enabled on the recorded audio. Default: \"false\". The value can be set at runtime using the \"enableVADRuntime\" property.", "type": "boolean" }, "enableVADRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"enableVAD\" property. Example: \"$[EnableVAD]\".", "type": "string" }, "minSpeechToDetectMs": { "description": "Specifies the minimum duration in milliseconds of speech energy for VAD to declare that speech is detected. Default: 200. The value can be set at runtime using the \"minSpeechToDetectMsRuntime\" property.", "type": "integer" }, "minSpeechToDetectMsRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"minSpeechToDetectMs\" property. Example: \"$[MinSpeechToDetectMs]\".", "type": "string" }, "minSilenceToDetectMs": { "description": "Specifies the minimum duration in milliseconds of silence for VAD to declare that silence is detected. Default: 500. The value can be set at runtime using the \"minSilenceToDetectMsRuntime\" property.", "type": "integer" }, "minSilenceToDetectMsRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"minSilenceToDetectMs\" property. Example: \"$[MinSilenceToDetectMs]\".", "type": "string" }, "vadSensitivity": { "description": "Specifies the sensitivity of VAD. Higher sensitiviy result in VAD detection to be more sensitive to changes in audio energy . Values: \"verylow\", \"low\", \"moderate\" or \"high\". Default: \"low\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "trimSilence": { "description": "Specifies if silence to be trimmed from the recorded audio. Default: \"false\". The value can be set at runtime using the \"trimSilenceRuntime\" property.", "type": "boolean" }, "trimSilenceRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"trimSilence\" property. Example: \"$[TrimSilence]\".", "type": "string" }, "savePreTrimAudio": { "description": "Specifies if the original recorded audio should also be saved in its own file if \"trimSilence\" is \"true\". Default: \"false\". if \"true\", this will result in another file to be recorded with base file name containing \"preTrim\" string. The value can be set at runtime using the \"savePreTrimAudioRuntime\" property.", "type": "boolean" }, "savePreTrimAudioRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"savePreTrimAudio\" property. Example: \"$[SavePreTrimAudio]\".", "type": "string" }, }, "required": [], "additionalProperties": false }, "saveAudioParams": { "description": "Specifies the parameters for saving recorded audio to a file.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "fileType": { "description": "Specifies the audio file type. Valid audio file types: \"wav\", \"caf\", and \"m4a\". Default: \"wav\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "fileName": { "description": "File name that will contain the recorded audio. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "fileLocation": { "description": "URL or location path of folder where \"fileName\" containing the recorded audio will be located.The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "languageFolder": { "description": "Specifies the name of the folder specific to language locale. This folder name is used as part of \"fileLocation\" for the final location to save \"fileName\" at. Default: \"en-US\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "audioFormat": { "$ref": "#/$defs/audioFormat" }, "requestID": { "description": "Specifies an ID that can be used to distinguish recorded audio files from others. User Defined. \"requestID\" is included in the name of the \"fileName\". Default: \"\" (an empty string is inserted in the filename). The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "includeTimeStamp": { "description": "Specifies whether to include a time stamp as part of the recorded audio file name. Default: \"false\". The value can be set at runtime using the \"includeTimeStampRuntime\" property.", "type": "boolean" }, "includeTimeStampRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"includeTimeStamp\" property. Example: \"$[IncludeTimeStamp]\".", "type": "string" }, }, "required": [], "additionalProperties": false }, "recordPlayPromptParams": { "description": "Specifies the parameters for recording audio during or after a prompt is processed for audio playback, or for recording audio directly from a audio prompt module as the audio source.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "promptID": { "description": "The ID of an Audio Prompt Module to process for audio playback before starting or during audio recording, or to record audio diretly fromit as the audio source. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "recordPromptNoPlay": { "description": "Specifies how to use the audio prompt module for recording audio. If \"false\" then the audio prompt module is processed for audio playback before or during audio recording. If \"true\" then the audio generated by processing the audio prompt module is used as the source for audio recording. Default: \"false\". The value can be set at runtime using the \"recordPromptNoPlayRuntime\" property.", "type": "boolean" }, "recordPromptNoPlayRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"recordPromptNoPlay\" property. Example: \"$[RecordPromptNoPlay]\".", "type": "string" }, "recordWhilePlay": { "description": "Specifies when to process the audio prompt module for audio playback. If \"false\" then the audio prompt module is processed for audio playback, and audio recording is started after audio playback is completed. If \"true\" then the audio prompt module is processed for audio playback just after audio recording starts. Default: \"false\". The value can be set at runtime using the \"recordPromptNoPlayRuntime\" property.", "type": "boolean" }, "recordWhilePlayRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"recordWhilePlay\" property. Example: \"$[RecordWhilePlay]\".", "type": "string" }, "stopPlayAudioWhenSpeechDetected": { "description": "Specifies if audio playback should automatically stop if speech is detected during audio recording. Default: \"false\". if \"true\" then this requires \"vadParams\" to be also configured in \"recordAudio\" voice flow module. The value can be set at runtime using the \"stopPlayAudioWhenSpeechDetectedRuntime\" property.", "type": "boolean" }, "stopPlayAudioWhenSpeechDetectedRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"stopPlayAudioWhenSpeechDetected\" property. Example: \"$[StopPlayAudioWhenSpeechDetected]\".", "type": "string" }, "stopPlayAudioWhenValidSRHypothesis": { "description": "Specifies if audio playback should automatically stop if a valid Speech Recognition hypothesis is recognized during audio recording. Default: \"false\". Requires \"stopPlaySRHypothesisList\" to be configured. This property is used only in \"audioDialog\" and \"audioListener\" Voiceflow Module types. The value can be set at runtime using the \"stopPlayAudioWhenValidSRHypothesisRuntime\" property.", "type": "boolean" }, "stopPlayAudioWhenValidSRHypothesisRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"stopPlayAudioWhenValidSRHypothesis\" property. Example: \"$[StopPlayAudioWhenValidSRHypothesis]\".", "type": "string" }, "enableStopPlaySRHypothesisPartial": { "description": "Specifies if audio playback should automatically stop if a partial Speech Recognition hypothesis is recognized during audio recording. Default: \"false\". This property is used only in \"audioDialog\" and \"audioListener\" Voiceflow Module types. The value can be set at runtime using the \"enableStopPlaySRHypothesisPartialRuntime\" property.", "type": "boolean" }, "enableStopPlaySRHypothesisPartialRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"enableStopPlaySRHypothesisPartial\" property. Example: \"$[EnableStopPlaySRHypothesisPartial]\".", "type": "string" }, "stopPlaySRHypothesisList": { "description": "String containing multiple SR Hypotheses separated by \"|\" delimiter. Audio recording will automatically stop if SR hypothesis matches any hypothesis in the list. This property is used only in \"audioDialog\" and \"audioListener\" Voiceflow Module types. Example: \"stopPlaySRHypothesisList\": \"hey veronica | Go to sleep | wake up\". The value can be set at runtime using \"$[
]\" entry convention..", "type": "string" }, }, "required": [], "additionalProperties": false }, "audioFormat": { "description": "The parameters to control the audio format of the recorded synthesized audio to a file.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "formatID": { "description": "The audio format of the recorded audio to a file. Options are: \"linearpcm\" for linear PCM, \"aac\" for Apple MPEG4 AAC, and \"alac\" for Apple Lossless. Default value is \"linearpcm\".The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "commonFormat": { "description": "The common format of the recorded audio to a file. Options are: \"int16\", \"int32\", \"float32\" and \"float64\". Default value is \"float32\".The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "sampleRate": { "description": "The sampling rate of the recorded audio to a file. Options are: \"16000\", \"22050\", \"32000\", \"44100\" and \"48000\". Default value is determined automatically by the media engine. The value can be set at runtime using the \"sampleRateRuntime\" property.", "type": "integer" }, "sampleRateRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"sampleRate\" property. Example: \"$[SampleRate]\".", "type": "string" }, "channelCount": { "description": "The number of channerls of the recorded audio to a file. Options are: \"1\" and \"2\". Default value is determined automatically by the media engine. The value can be set at runtime using the \"channelCountRuntime\" property.", "type": "integer" }, "channelCountRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"channelCount\" property. Example: \"$[ChannelCount]\".", "type": "string" }, "encoderBitsPerSample": { "description": "The number of encoder bits per sample of the recorded audio to a file. This only applies to format ID \"alac\". Options are: \"16\", \"20\", \"24\" and \"32\". Default value is \"32\". The value can be set at runtime using the \"encoderBitsPerSampleRuntime\" property.", "type": "integer" }, "encoderBitsPerSampleRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"encoderBitsPerSample\" property. Example: \"$[EncoderBitsPerSample]\".", "type": "string" }, "encoderBitRate": { "description": "The encoder bit rate of the recorded audio to a file. This only applies to format ID \"aac\". Examples of values: \"32000\", \"64000\", \"96000\" and \"128000\". Default value is determined automatically by the media engine. Note: Setting the bit rate to higher may result in failure in recording audio to a file. The value can be set at runtime using the \"encoderBitRateRuntime\" property.", "type": "integer" }, "encoderBitRateRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose integer value can be set at runtime by an application. If the value of the field is a valid integer, then it will replace the value entered in the \"encoderBitRate\" property. Example: \"$[EncoderBitRate]\".", "type": "string" }, }, "required": [], "additionalProperties": false }, "contextualStringsDictionary": { "description": "Specifies custom contextual string dictionaries to be sent to speech recognizer for more accurate speech recognition.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "loadContextualDictionary": { "description": "Specifies whether to have the speech recognizer load the contextual dictionary for more accurate speech recognotion of specific vocabulary. Default: \"false\". The value can be set at runtime using the \"loadContextualDictionaryRuntime\" property.", "type": "boolean" }, "loadContextualDictionaryRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"loadContextualDictionary\" property. Example: \"$[LoadContextualDictionary]\".", "type": "string" }, "contextualDictionaryEntryList": { "description": "An array of contextual string to phonetic map entries that are sent to speech recognizer for more accurate speech recognition of specific vocabulary.", "type": "array", "items": { "description": "Contextual string to phonetic map entries that are sent to speech recognizer for more accurate speech recognition of specific vocabulary. The phonetic map for a contextual string can contain multiple entries separated by \"|\".", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "contextualString": { "description": "Contextual string. Example: \"contextualString\": \"Quvenzhané\".", "type": "string" }, "phoneticMap": { "description": "Phonetic map of the contextual string. Example: \"phoneticMap\": \"Kwuh-ven-zha-nay\".", "type": "string" } }, "required": ["contextualString", "phoneticMap"], "additionalProperties": false } }, "contextualDictionaryFileName": { "description": "Specifies the file name that contains a list of contextual strings to phonetic map pairs. The phonetic map can contain multiple entries separated by \"|\". The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "contextualDictionaryFileLocation": { "description": "Specifies the location path of the file containing the list of contextual strings to phonetic map pairs. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" } }, "required": [], "additionalProperties": false }, "ssAliases": { "description": "Specifies custom aliases assigned to replace particular words during speech synthesis for more accurate speech synthesis results.", "type": "array", "items": { "description": "Specifies custom aliases assigned to replace particular words during speech synthesis for more accurate speech synthesis results.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "loadSSAliases": { "description": "Specifies whether to have the speech synthesizer load the aliases for more accurate speech syntehsis of the vocabulary or words replaced by the aliases. Default: \"false\". The value can be set at runtime using the \"loadSSAliasesRuntime\" property.", "type": "boolean" }, "loadSSAliasesRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"loadSSAliases\" property. Example: \"$[LoadSSAliases]\".", "type": "string" }, "ssAliasList": { "description": "A string containing all words to alias entries delimited by \"|\".", "type": "string" }, "ssAliasFileName": { "description": "Specifies the file name that contains a list of all words and their respective aliases. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "ssAliasFileLocation": { "description": "Specifies the location path of the file containing the list of words and their aliases. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" } }, "required": [], "additionalProperties": false } }, "ssPhonemes": { "description": "Specifies custom ipa phonemes assigned to replace particular words during speech synthesis for more accurate speech synthesis results.", "type": "array", "items": { "description": "Specifies custom ipa phonemes assigned to replace particular words during speech synthesis for more accurate speech synthesis results.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "loadSSPhonemes": { "description": "Specifies whether to have the speech synthesizer load the ipa phonemes for more accurate speech syntehsis of the vocabulary or words replaced by the aliases. Default: \"false\". The value can be set at runtime using the \"loadSSPhonemesRuntime\" property.", "type": "boolean" }, "loadSSPhonemesRuntime": { "description": "Contains the name of a field, as a string wrapped between \"$[\" and \"]\", whose boolean value can be set at runtime by an application. If the value of the field is a valid boolean, then it will replace the value entered in the \"loadSSPhonemes\" property. Example: \"$[LoadSSPhonemes]\".", "type": "string" }, "ssPhonemeList": { "description": "Specifies the file name that contains a list of all words and their respective ipa phonemes. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "ssPhonemeFileName": { "description": "Specifies the file name that contains a list of all words and their respective ipa phonemes. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "ssPhonemeFileLocation": { "description": "Specifies the location path of the file containing the list of words and their ipa phoneme reprentations. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" } }, "required": [], "additionalProperties": false } }, "ssVoiceParams": { "description": "Specifies the parameters of the voice used for Speech Synthesis. If declared in a \"processParams\" then this applies globally to all VoiceFlows. If declared in \"playAudioParams\" then this applies to the Voiceflow Module. if declared in an audio segment then this applies for that audio segment only.", "type": "object", "properties": { "_COMMENT_": { "description": "Placeholder for entering a comment. Voice Flow processing ignores this property.", "type": "string" }, "identifier": { "description": "The voice identifier. All supported speech synthesis voices with their parameters can be extracted from STVoiceFlow framewok via STVoiceFlow and STMedia SDKs. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "name": { "description": "The voice name. All supported speech synthesis voices with their parameters can be extracted from STVoiceFlow framewok via STVoiceFlow and STMedia SDKs. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "gender": { "description": "The voice gender. Options are: \"male\", \"female\" and \"unknown\". Default value is \"unknown\". All supported speech synthesis voices with their parameters can be extracted from STVoiceFlow framewok via STVoiceFlow and STMedia SDKs. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "quality": { "description": "The voice quality. Options are: \"default\", \"enhanced\", \"premium\", \"unspecified\", and \"unknown\". Default value is \"unknown\". All supported speech synthesis voices with their parameters can be extracted from STVoiceFlow framewok via STVoiceFlow and STMedia SDKs. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, "language": { "description": "The voice language. Example: \"en-US\" for US english. All supported speech synthesis voices with their parameters can be extracted from STVoiceFlow framewok via STVoiceFlow and STMedia SDKs. The value can be set at runtime using \"$[
]\" entry convention.", "type": "string" }, }, "required": [], "additionalProperties": false }, } }