encoding property

String? encoding
getter/setter pair

Encoding of audio data sent in all RecognitionAudio messages.

This field is optional for FLAC and WAV audio files and required for all other audio formats. For details, see AudioEncoding. Possible string values are:

  • "ENCODING_UNSPECIFIED" : Not specified.
  • "LINEAR16" : Uncompressed 16-bit signed little-endian samples (Linear PCM).
  • "FLAC" : 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.
  • "MULAW" : 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
  • "AMR" : Adaptive Multi-Rate Narrowband codec. sample_rate_hertz must be 8000.
  • "AMR_WB" : Adaptive Multi-Rate Wideband codec. sample_rate_hertz must be 16000.
  • "OGG_OPUS" : Opus encoded audio frames in Ogg container (OggOpus). sample_rate_hertz must be one of 8000, 12000, 16000, 24000, or 48000.
  • "SPEEX_WITH_HEADER_BYTE" : 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.
  • "MP3" : MP3 audio. MP3 encoding is a Beta feature and only available in v1p1beta1. Support all standard MP3 bitrates (which range from 32-320 kbps). When using this encoding, sample_rate_hertz has to match the sample rate of the file being used.
  • "WEBM_OPUS" : Opus encoded audio frames in WebM container (WebM). sample_rate_hertz must be one of 8000, 12000, 16000, 24000, or 48000.

Implementation

core.String? encoding;