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,
MP3, and WEBM_OPUS.
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.
Enums
Name
Description
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
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
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
ALAW
8-bit samples that compand 13-bit audio samples using G.711 PCMU/a-law.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class AudioEncoding (2.33.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.33.0 (latest)](/python/docs/reference/speech/latest/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.32.0](/python/docs/reference/speech/2.32.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.31.0](/python/docs/reference/speech/2.31.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.30.0](/python/docs/reference/speech/2.30.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.29.0](/python/docs/reference/speech/2.29.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.28.1](/python/docs/reference/speech/2.28.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.27.0](/python/docs/reference/speech/2.27.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.26.1](/python/docs/reference/speech/2.26.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.25.1](/python/docs/reference/speech/2.25.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.24.1](/python/docs/reference/speech/2.24.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.23.0](/python/docs/reference/speech/2.23.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.22.0](/python/docs/reference/speech/2.22.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.21.1](/python/docs/reference/speech/2.21.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.20.1](/python/docs/reference/speech/2.20.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.19.0](/python/docs/reference/speech/2.19.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.18.0](/python/docs/reference/speech/2.18.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.17.3](/python/docs/reference/speech/2.17.3/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.16.2](/python/docs/reference/speech/2.16.2/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.15.1](/python/docs/reference/speech/2.15.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.14.1](/python/docs/reference/speech/2.14.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.13.1](/python/docs/reference/speech/2.13.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.12.0](/python/docs/reference/speech/2.12.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.11.1](/python/docs/reference/speech/2.11.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.10.0](/python/docs/reference/speech/2.10.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.9.3](/python/docs/reference/speech/2.9.3/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.8.0](/python/docs/reference/speech/2.8.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.7.0](/python/docs/reference/speech/2.7.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.6.0](/python/docs/reference/speech/2.6.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.5.1](/python/docs/reference/speech/2.5.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.4.1](/python/docs/reference/speech/2.4.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.3.0](/python/docs/reference/speech/2.3.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.2.1](/python/docs/reference/speech/2.2.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.1.0](/python/docs/reference/speech/2.1.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [2.0.1](/python/docs/reference/speech/2.0.1/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [1.3.4](/python/docs/reference/speech/1.3.4/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [1.2.0](/python/docs/reference/speech/1.2.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding)\n- [1.1.0](/python/docs/reference/speech/1.1.0/google.cloud.speech_v1p1beta1.types.RecognitionConfig.AudioEncoding) \n\n AudioEncoding(value)\n\nThe encoding of the audio data sent in the request.\n\nAll encodings support only 1 channel (mono) audio, unless the\n`audio_channel_count` and\n`enable_separate_recognition_per_channel` fields are set.\n\nFor best results, the audio source should be captured and\ntransmitted using a lossless encoding (`FLAC` or `LINEAR16`).\nThe accuracy of the speech recognition can be reduced if lossy\ncodecs are used to capture or transmit audio, particularly if\nbackground noise is present. Lossy codecs include `MULAW`,\n`AMR`, `AMR_WB`, `OGG_OPUS`, `SPEEX_WITH_HEADER_BYTE`,\n`MP3`, and `WEBM_OPUS`.\n\nThe `FLAC` and `WAV` audio file formats include a header that\ndescribes the included audio content. You can request recognition\nfor `WAV` files that contain either `LINEAR16` or `MULAW`\nencoded audio. If you send `FLAC` or `WAV` audio file format in\nyour request, you do not need to specify an `AudioEncoding`; the\naudio encoding format is determined from the file header. If you\nspecify an `AudioEncoding` when you send send `FLAC` or `WAV`\naudio, the encoding configuration must match the encoding described\nin the audio header; otherwise the request returns an\n`google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]`\nerror code."]]