Best Practices for Audio

This page contains recommendations on how to provide speech data to the Google Assistant API. These guidelines are designed for greater efficiency and accuracy as well as reasonable response times from the service.

Audio pre-processing

It's best to provide audio that is as clean as possible by using a good quality and well-positioned microphone. However, applying noise-reduction signal processing to the audio before sending it to the service typically reduces recognition accuracy. The service is designed to handle noisy audio.

For best results:

  • Position the microphone as close to the user as possible, particularly when background noise is present.
  • Avoid audio clipping.
  • Do not use automatic gain control (AGC).
  • All noise reduction processing should be disabled.

Ideally:

  • The audio level should be calibrated so that the input signal does not clip, and peak speech audio levels reach approximately -20 to -10 dBFS.
  • The device should exhibit approximately "flat" amplitude versus frequency characteristics (+- 3 dB 100 Hz to 8000 Hz).
  • Total harmonic distortion should be less than 1% from 100 Hz to 8000 Hz at 90 dB SPL input level.