InputAudioConfig

Instructs the speech recognizer on how to process the audio content.

JSON representation
{
  "audioEncoding": enum (AudioEncoding),
  "sampleRateHertz": integer,
  "languageCode": string,
  "enableWordInfo": boolean,
  "phraseHints": [
    string
  ],
  "speechContexts": [
    {
      object (SpeechContext)
    }
  ],
  "model": string,
  "modelVariant": enum (SpeechModelVariant),
  "singleUtterance": boolean,
  "disableNoSpeechRecognizedEvent": boolean,
  "bargeInConfig": {
    object (BargeInConfig)
  },
  "enableAutomaticPunctuation": boolean,
  "defaultNoSpeechTimeout": string,
  "phraseSets": [
    string
  ],
  "optOutConformerModelMigration": boolean
}
Fields
audioEncoding

enum (AudioEncoding)

Required. Audio encoding of the audio content to process.

sampleRateHertz

integer

Required. Sample rate (in Hertz) of the audio content sent in the query. Refer to Cloud Speech API documentation for more details.

languageCode

string

Required. The language of the supplied audio. Dialogflow does not do translations. See Language Support for a list of the currently supported language codes. Note that queries in the same session do not necessarily need to specify the same language.

enableWordInfo

boolean

If true, Dialogflow returns SpeechWordInfo in StreamingRecognitionResult with information about the recognized speech words, e.g. start and end time offsets. If false or unspecified, Speech doesn't return any word-level information.

phraseHints[]
(deprecated)

string

A list of strings containing words and phrases that the speech recognizer should recognize with higher likelihood.

See the Cloud Speech documentation for more details.

This field is deprecated. Please use speechContexts instead. If you specify both phraseHints and speechContexts, Dialogflow will treat the phraseHints as a single additional SpeechContext.

speechContexts[]

object (SpeechContext)

Context information to assist speech recognition.

See the Cloud Speech documentation for more details.

model

string

Optional. Which Speech model to select for the given request. For more information, see Speech models.

modelVariant

enum (SpeechModelVariant)

Which variant of the Speech model to use.

singleUtterance

boolean

If false (default), recognition does not cease until the client closes the stream. If true, the recognizer will detect a single spoken utterance in input audio. Recognition ceases when it detects the audio's voice has stopped or paused. In this case, once a detected intent is received, the client should close the stream and start a new request with a new stream as needed. Note: This setting is relevant only for streaming methods. Note: When specified, InputAudioConfig.single_utterance takes precedence over StreamingDetectIntentRequest.single_utterance.

disableNoSpeechRecognizedEvent

boolean

Only used in Participants.AnalyzeContent and Participants.StreamingAnalyzeContent. If false and recognition doesn't return any result, trigger NO_SPEECH_RECOGNIZED event to Dialogflow agent.

bargeInConfig

object (BargeInConfig)

Configuration of barge-in behavior during the streaming of input audio.

enableAutomaticPunctuation

boolean

Enable automatic punctuation option at the speech backend.

defaultNoSpeechTimeout

string (Duration format)

If set, use this no-speech timeout when the agent does not provide a no-speech timeout itself.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

phraseSets[]

string

A collection of phrase set resources to use for speech adaptation.

optOutConformerModelMigration

boolean

If true, the request will opt out for STT conformer model migration. This field will be deprecated once force migration takes place in June 2024. Please refer to Dialogflow ES Speech model migration.

SpeechContext

Hints for the speech recognizer to help with recognition in a specific conversation state.

JSON representation
{
  "phrases": [
    string
  ],
  "boost": number
}
Fields
phrases[]

string

Optional. A list of strings containing words and phrases that the speech recognizer should recognize with higher likelihood.

This list can be used to:

  • improve accuracy for words and phrases you expect the user to say, e.g. typical commands for your Dialogflow agent
  • add additional words to the speech recognizer vocabulary
  • ...

See the Cloud Speech documentation for usage limits.

boost

number

Optional. Boost for this context compared to other contexts:

  • If the boost is positive, Dialogflow will increase the probability that the phrases in this context are recognized over similar sounding phrases.
  • If the boost is unspecified or non-positive, Dialogflow will not apply any boost.

Dialogflow recommends that you use boosts in the range (0, 20] and that you find a value that fits your use case with binary search.

BargeInConfig

Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request.

The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases:

  • No barge-in phase: which goes first and during which speech detection should not be carried out.

  • Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase.

The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio.

The flow goes like below:

--> Time

without speech detection  | utterance only | utterance or no-speech event
                          |                |
          +-------------+ | +------------+ | +---------------+
----------+ no barge-in +-|-+  barge-in  +-|-+ normal period +-----------
          +-------------+ | +------------+ | +---------------+

No-speech event is a response with END_OF_UTTERANCE without any transcript following up.

JSON representation
{
  "noBargeInDuration": string,
  "totalDuration": string
}
Fields
noBargeInDuration

string (Duration format)

Duration that is not eligible for barge-in at the beginning of the input audio.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

totalDuration

string (Duration format)

Total duration for the playback at the beginning of the input audio.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".