ovos-audio-transformer-plugin-bandpass

September 1, 2026 · View on GitHub

License: Apache-2.0 Python

A band-pass filter audio transformer for OpenVoiceOS. It runs on the captured speech audio before STT and attenuates energy outside a configurable pass-band.

The default 300–3400 Hz band is the telephone speech band: it removes low-frequency rumble (HVAC, handling noise) and high-frequency hiss that carry no phonetic information, which can improve recognition on noisy inputs without touching the speech formants.

Install

pip install ovos-audio-transformer-plugin-bandpass

Configure

Enable it in mycroft.conf under audio_transformers. Any component that runs the audio-transformer pipeline, such as the listener or the STT server, applies it:

{
  "audio_transformers": {
    "ovos-audio-transformer-plugin-bandpass": {
      "low_hz": 300,
      "high_hz": 3400,
      "order": 4,
      "sample_rate": 16000
    }
  }
}
OptionDefaultMeaning
low_hz300Lower edge of the pass-band, in Hz.
high_hz3400Upper edge of the pass-band, in Hz.
order4Butterworth filter order. Higher is a steeper roll-off.
sample_rate16000Sample rate of the incoming PCM audio, in Hz.

Edges are clamped into the open interval below Nyquist, so an aggressive band on a low sample rate degrades gracefully instead of failing.

License

Apache-2.0. See LICENSE.