#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SerializedSodaConfigMsg {
#[prost(int32, optional, tag="1")]
pub channel_count: ::core::option::Option<i32>,
#[prost(int32, optional, tag="2")]
pub sample_rate: ::core::option::Option<i32>,
#[prost(int32, optional, tag="4", default="0")]
pub max_buffer_bytes: ::core::option::Option<i32>,
#[prost(bool, optional, tag="5", default="false")]
pub simulate_realtime_testonly: ::core::option::Option<bool>,
#[deprecated]
#[prost(string, optional, tag="3")]
pub config_file_location: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub api_key: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="7")]
pub language_pack_directory: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="serialized_soda_config_msg::RecognitionMode", optional, tag="8", default="Ime")]
pub recognition_mode: ::core::option::Option<i32>,
#[prost(bool, optional, tag="9", default="true")]
pub reset_on_final_result: ::core::option::Option<bool>,
#[prost(bool, optional, tag="10", default="true")]
pub include_timing_metrics: ::core::option::Option<bool>,
#[prost(bool, optional, tag="11", default="false")]
pub enable_lang_id: ::core::option::Option<bool>,
}
pub mod serialized_soda_config_msg {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RecognitionMode {
Unknown = 0,
Ime = 1,
Caption = 2,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimingMetrics {
#[prost(int64, optional, tag="1")]
pub audio_start_epoch_usec: ::core::option::Option<i64>,
#[prost(int64, optional, tag="2")]
pub audio_start_time_usec: ::core::option::Option<i64>,
#[prost(int64, optional, tag="3")]
pub elapsed_wall_time_usec: ::core::option::Option<i64>,
#[prost(int64, optional, tag="4")]
pub event_end_time_usec: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SodaRecognitionResult {
#[prost(string, repeated, tag="1")]
pub hypothesis: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(enumeration="soda_recognition_result::ResultType", optional, tag="2")]
pub result_type: ::core::option::Option<i32>,
#[prost(enumeration="soda_recognition_result::FinalResultEndpointReason", optional, tag="3")]
pub endpoint_reason: ::core::option::Option<i32>,
#[prost(message, optional, tag="4")]
pub timing_metrics: ::core::option::Option<TimingMetrics>,
}
pub mod soda_recognition_result {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ResultType {
Unknown = 0,
Partial = 1,
Final = 2,
Prefetch = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FinalResultEndpointReason {
EndpointUnknown = 0,
EndpointEndOfSpeech = 1,
EndpointEndOfUtterance = 2,
EndpointEndOfAudio = 3,
EndpointAsrResetByHotword = 4,
EndpointAsrResetExternal = 5,
EndpointAsrError = 6,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SodaEndpointEvent {
#[prost(enumeration="soda_endpoint_event::EndpointType", optional, tag="1", default="Unknown")]
pub endpoint_type: ::core::option::Option<i32>,
#[prost(message, optional, tag="2")]
pub timing_metrics: ::core::option::Option<TimingMetrics>,
}
pub mod soda_endpoint_event {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EndpointType {
StartOfSpeech = 0,
EndOfSpeech = 1,
EndOfAudio = 2,
EndOfUtterance = 3,
Unknown = 4,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SodaAudioLevelInfo {
#[prost(float, optional, tag="1")]
pub rms: ::core::option::Option<f32>,
#[prost(float, optional, tag="2")]
pub audio_level: ::core::option::Option<f32>,
#[prost(int64, optional, tag="3")]
pub audio_time_usec: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SodaLangIdEvent {
#[prost(string, optional, tag="1")]
pub language: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag="2")]
pub confidence_level: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SodaResponse {
#[prost(enumeration="soda_response::SodaMessageType", optional, tag="1", default="Unknown")]
pub soda_type: ::core::option::Option<i32>,
#[prost(message, optional, tag="2")]
pub recognition_result: ::core::option::Option<SodaRecognitionResult>,
#[prost(message, optional, tag="3")]
pub endpoint_event: ::core::option::Option<SodaEndpointEvent>,
#[prost(message, optional, tag="4")]
pub audio_level_info: ::core::option::Option<SodaAudioLevelInfo>,
#[prost(message, optional, tag="5")]
pub langid_event: ::core::option::Option<SodaLangIdEvent>,
}
pub mod soda_response {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SodaMessageType {
Unknown = 0,
Recognition = 1,
Stop = 2,
Shutdown = 3,
Start = 4,
Endpoint = 5,
AudioLevel = 6,
Langid = 7,
}
}