Enum gapi_grpc::google::cloud::speech::v1::recognition_config::AudioEncoding [−][src]
The encoding of the audio data sent in the request.
All encodings support only 1 channel (mono) audio, unless the
audio_channel_count
and enable_separate_recognition_per_channel
fields
are set.
For best results, the audio source should be captured and transmitted using
a lossless encoding (FLAC
or LINEAR16
). The accuracy of the speech
recognition can be reduced if lossy codecs are used to capture or transmit
audio, particularly if background noise is present. Lossy codecs include
MULAW
, AMR
, AMR_WB
, OGG_OPUS
, SPEEX_WITH_HEADER_BYTE
, and MP3
.
The FLAC
and WAV
audio file formats include a header that describes the
included audio content. You can request recognition for WAV
files that
contain either LINEAR16
or MULAW
encoded audio.
If you send FLAC
or WAV
audio file format in
your request, you do not need to specify an AudioEncoding
; the audio
encoding format is determined from the file header. If you specify
an AudioEncoding
when you send send FLAC
or WAV
audio, the
encoding configuration must match the encoding described in the audio
header; otherwise the request returns an
[google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] error code.
Variants
Not specified.
Uncompressed 16-bit signed little-endian samples (Linear PCM).
FLAC
(Free Lossless Audio
Codec) is the recommended encoding because it is
lossless–therefore recognition is not compromised–and
requires only about half the bandwidth of LINEAR16
. FLAC
stream
encoding supports 16-bit and 24-bit samples, however, not all fields in
STREAMINFO
are supported.
8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
Adaptive Multi-Rate Narrowband codec. sample_rate_hertz
must be 8000.
Adaptive Multi-Rate Wideband codec. sample_rate_hertz
must be 16000.
Opus encoded audio frames in Ogg container
(OggOpus).
sample_rate_hertz
must be one of 8000, 12000, 16000, 24000, or 48000.
Although the use of lossy encodings is not recommended, if a very low
bitrate encoding is required, OGG_OPUS
is highly preferred over
Speex encoding. The Speex encoding supported by
Cloud Speech API has a header byte in each block, as in MIME type
audio/x-speex-with-header-byte
.
It is a variant of the RTP Speex encoding defined in
RFC 5574.
The stream is a sequence of blocks, one block per RTP packet. Each block
starts with a byte containing the length of the block, in bytes, followed
by one or more frames of Speex data, padded to an integral number of
bytes (octets) as specified in RFC 5574. In other words, each RTP header
is replaced with a single byte containing the block length. Only Speex
wideband is supported. sample_rate_hertz
must be 16000.
Implementations
impl AudioEncoding
[src]
pub fn is_valid(value: i32) -> bool
[src]
Returns true
if value
is a variant of AudioEncoding
.
pub fn from_i32(value: i32) -> Option<AudioEncoding>
[src]
Converts an i32
to a AudioEncoding
, or None
if value
is not a valid variant.
Trait Implementations
impl Clone for AudioEncoding
[src]
fn clone(&self) -> AudioEncoding
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for AudioEncoding
[src]
impl Debug for AudioEncoding
[src]
impl Default for AudioEncoding
[src]
fn default() -> AudioEncoding
[src]
impl Eq for AudioEncoding
[src]
impl From<AudioEncoding> for i32
[src]
fn from(value: AudioEncoding) -> i32
[src]
impl Hash for AudioEncoding
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for AudioEncoding
[src]
fn cmp(&self, other: &AudioEncoding) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<AudioEncoding> for AudioEncoding
[src]
fn eq(&self, other: &AudioEncoding) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<AudioEncoding> for AudioEncoding
[src]
fn partial_cmp(&self, other: &AudioEncoding) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for AudioEncoding
[src]
impl StructuralPartialEq for AudioEncoding
[src]
Auto Trait Implementations
impl RefUnwindSafe for AudioEncoding
impl Send for AudioEncoding
impl Sync for AudioEncoding
impl Unpin for AudioEncoding
impl UnwindSafe for AudioEncoding
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoRequest<T> for T
[src]
pub fn into_request(self) -> Request<T>
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,