Struct google_api_proto::google::cloud::dialogflow::cx::v3::StreamingRecognitionResult
source · pub struct StreamingRecognitionResult {
pub message_type: i32,
pub transcript: String,
pub is_final: bool,
pub confidence: f32,
pub stability: f32,
pub speech_word_info: Vec<SpeechWordInfo>,
pub speech_end_offset: Option<Duration>,
pub language_code: String,
}
Expand description
Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance.
While end-user audio is being processed, Dialogflow sends a series of
results. Each result may contain a transcript
value. A transcript
represents a portion of the utterance. While the recognizer is processing
audio, transcript values may be interim values or finalized values.
Once a transcript is finalized, the is_final
value is set to true and
processing continues for the next transcript.
If StreamingDetectIntentRequest.query_input.audio.config.single_utterance
was true, and the recognizer has completed processing audio,
the message_type
value is set to `END_OF_SINGLE_UTTERANCE and the
following (last) result contains the last finalized transcript.
The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results.
In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur.
Num | transcript | message_type | is_final
--- | ----------------------- | ----------------------- | --------
1 | "tube" | TRANSCRIPT | false
2 | "to be a" | TRANSCRIPT | false
3 | "to be" | TRANSCRIPT | false
4 | "to be or not to be" | TRANSCRIPT | true
5 | "that's" | TRANSCRIPT | false
6 | "that is | TRANSCRIPT | false
7 | unset | END_OF_SINGLE_UTTERANCE | unset
8 | " that is the question" | TRANSCRIPT | true
Concatenating the finalized transcripts with is_final
set to true,
the complete utterance becomes “to be or not to be that is the question”.
Fields§
§message_type: i32
Type of the result message.
transcript: String
Transcript text representing the words that the user spoke.
Populated if and only if message_type
= TRANSCRIPT
.
is_final: bool
If false
, the StreamingRecognitionResult
represents an
interim result that may change. If true
, the recognizer will not return
any further hypotheses about this piece of the audio. May only be populated
for message_type
= TRANSCRIPT
.
confidence: f32
The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set.
This field is typically only provided if is_final
is true and you should
not rely on it being accurate or even set.
stability: f32
An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result:
- If the value is unspecified or 0.0, Dialogflow didn’t compute the
stability. In particular, Dialogflow will only provide stability for
TRANSCRIPT
results withis_final = false
. - Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable.
speech_word_info: Vec<SpeechWordInfo>
Word-specific information for the words recognized by Speech in
[transcript][google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.transcript].
Populated if and only if message_type
= TRANSCRIPT
and
[InputAudioConfig.enable_word_info] is set.
speech_end_offset: Option<Duration>
Time offset of the end of this Speech recognition result relative to the
beginning of the audio. Only populated for message_type
=
TRANSCRIPT
.
language_code: String
Detected language code for the transcript.
Implementations§
source§impl StreamingRecognitionResult
impl StreamingRecognitionResult
sourcepub fn message_type(&self) -> MessageType
pub fn message_type(&self) -> MessageType
Returns the enum value of message_type
, or the default if the field is set to an invalid enum value.
sourcepub fn set_message_type(&mut self, value: MessageType)
pub fn set_message_type(&mut self, value: MessageType)
Sets message_type
to the provided enum value.
Trait Implementations§
source§impl Clone for StreamingRecognitionResult
impl Clone for StreamingRecognitionResult
source§fn clone(&self) -> StreamingRecognitionResult
fn clone(&self) -> StreamingRecognitionResult
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for StreamingRecognitionResult
impl Debug for StreamingRecognitionResult
source§impl Default for StreamingRecognitionResult
impl Default for StreamingRecognitionResult
source§impl Message for StreamingRecognitionResult
impl Message for StreamingRecognitionResult
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for StreamingRecognitionResult
impl PartialEq for StreamingRecognitionResult
source§fn eq(&self, other: &StreamingRecognitionResult) -> bool
fn eq(&self, other: &StreamingRecognitionResult) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for StreamingRecognitionResult
Auto Trait Implementations§
impl Freeze for StreamingRecognitionResult
impl RefUnwindSafe for StreamingRecognitionResult
impl Send for StreamingRecognitionResult
impl Sync for StreamingRecognitionResult
impl Unpin for StreamingRecognitionResult
impl UnwindSafe for StreamingRecognitionResult
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request