Classify each audio segment as full_band or narrow_band and drop anything that doesn’t match the configured target band. Use it when your training set requires a consistent acoustic bandwidth.
Audio bandwidth describes the highest frequency the recording captures, set by the codec or transmission medium:
BandFilterStage distinguishes specifically between full-band and narrow-band — it does not currently classify wide-band as a separate category.
If your dataset is known to be uniformly one band, you can skip this stage. The classifier is most useful for filtering mixed sources.
The stage uses a scikit-learn classifier trained on spectral features. The default model is downloaded on first use; cache the location with cache_dir:
The stage supports two input modes:
In-pipeline mode is automatic when an upstream stage has populated waveform; otherwise the stage falls back to reading from audio_filepath.
The default resource allocation is Resources(cpus=4.0) — the classifier is CPU-only.
Demand full-band only:
Train against the deployment domain:
Keep both bands but log the split for analysis. Run the classifier in score-only mode by adding it to the pipeline upstream of any other filter, then export the manifest before applying band_value filtering:
If the distribution is severely skewed, you may want to filter; if balanced, training on both can improve robustness.
cache_dir to avoid re-downloading the classifier on every run, especially in containerized or ephemeral environments.band_value with MonoConversionStage resampling: if upstream resampling has changed the spectrum, the classifier may misclassify. Place the band filter immediately after VAD on the original-rate audio when possible.AudioDataFilterStage Composite — bundles the band filter into the standard pipeline.