Struct google_api_proto::google::cloud::speech::v1::StreamingRecognizeResponse
source · pub struct StreamingRecognizeResponse {
pub error: Option<Status>,
pub results: Vec<StreamingRecognitionResult>,
pub speech_event_type: i32,
pub speech_event_time: Option<Duration>,
pub total_billed_time: Option<Duration>,
pub speech_adaptation_info: Option<SpeechAdaptationInfo>,
pub request_id: i64,
}
Expand description
StreamingRecognizeResponse
is the only message returned to the client by
StreamingRecognize
. A series of zero or more StreamingRecognizeResponse
messages are streamed back to the client. If there is no recognizable
audio, and single_utterance
is set to false, then no messages are streamed
back to the client.
Here’s an example of a series of StreamingRecognizeResponse
s that might be
returned while processing audio:
-
results { alternatives { transcript: “tube” } stability: 0.01 }
-
results { alternatives { transcript: “to be a” } stability: 0.01 }
-
results { alternatives { transcript: “to be” } stability: 0.9 } results { alternatives { transcript: “ or not to be“ } stability: 0.01 }
-
results { alternatives { transcript: “to be or not to be” confidence: 0.92 } alternatives { transcript: “to bee or not to bee” } is_final: true }
-
results { alternatives { transcript: “ that’s“ } stability: 0.01 }
-
results { alternatives { transcript: “ that is“ } stability: 0.9 } results { alternatives { transcript: “ the question“ } stability: 0.01 }
-
results { alternatives { transcript: “ that is the question“ confidence: 0.98 } alternatives { transcript: “ that was the question“ } is_final: true }
Notes:
-
Only two of the above responses #4 and #7 contain final results; they are indicated by
is_final: true
. Concatenating these together generates the full transcript: “to be or not to be that is the question”. -
The others contain interim
results
. #3 and #6 contain two interimresults
: the first portion has a high stability and is less likely to change; the second portion has a low stability and is very likely to change. A UI designer might choose to show only high stabilityresults
. -
The specific
stability
andconfidence
values shown above are only for illustrative purposes. Actual values may vary. -
In each response, only one of these fields will be set:
error
,speech_event_type
, or one or more (repeated)results
.
Fields§
§error: Option<Status>
If set, returns a [google.rpc.Status][google.rpc.Status] message that specifies the error for the operation.
results: Vec<StreamingRecognitionResult>
This repeated list contains zero or more results that
correspond to consecutive portions of the audio currently being processed.
It contains zero or one is_final=true
result (the newly settled portion),
followed by zero or more is_final=false
results (the interim results).
speech_event_type: i32
Indicates the type of speech event.
speech_event_time: Option<Duration>
Time offset between the beginning of the audio and event emission.
total_billed_time: Option<Duration>
When available, billed audio seconds for the stream. Set only if this is the last response in the stream.
speech_adaptation_info: Option<SpeechAdaptationInfo>
Provides information on adaptation behavior in response
request_id: i64
The ID associated with the request. This is a unique ID specific only to the given request.
Implementations§
source§impl StreamingRecognizeResponse
impl StreamingRecognizeResponse
sourcepub fn speech_event_type(&self) -> SpeechEventType
pub fn speech_event_type(&self) -> SpeechEventType
Returns the enum value of speech_event_type
, or the default if the field is set to an invalid enum value.
sourcepub fn set_speech_event_type(&mut self, value: SpeechEventType)
pub fn set_speech_event_type(&mut self, value: SpeechEventType)
Sets speech_event_type
to the provided enum value.
Trait Implementations§
source§impl Clone for StreamingRecognizeResponse
impl Clone for StreamingRecognizeResponse
source§fn clone(&self) -> StreamingRecognizeResponse
fn clone(&self) -> StreamingRecognizeResponse
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for StreamingRecognizeResponse
impl Debug for StreamingRecognizeResponse
source§impl Default for StreamingRecognizeResponse
impl Default for StreamingRecognizeResponse
source§impl Message for StreamingRecognizeResponse
impl Message for StreamingRecognizeResponse
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 StreamingRecognizeResponse
impl PartialEq for StreamingRecognizeResponse
source§fn eq(&self, other: &StreamingRecognizeResponse) -> bool
fn eq(&self, other: &StreamingRecognizeResponse) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for StreamingRecognizeResponse
Auto Trait Implementations§
impl Freeze for StreamingRecognizeResponse
impl RefUnwindSafe for StreamingRecognizeResponse
impl Send for StreamingRecognizeResponse
impl Sync for StreamingRecognizeResponse
impl Unpin for StreamingRecognizeResponse
impl UnwindSafe for StreamingRecognizeResponse
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