# Original hum and notch-filter examples

Saturalabs synthesized these three learning WAVs. They contain no recorded
speech or music and no AI output. Only `original.wav`, `high-pass-80hz.wav` and
`notches-60-120hz.wav` in this directory are dedicated to the public domain under
CC0 1.0: https://creativecommons.org/publicdomain/zero/1.0/ . This does not change
the license of any code, software or other Saturalabs asset.

All files: mono, 48,000 Hz, 16-bit PCM, 192,000 frames, four seconds, 384,044 bytes.
The original sums cosine tones at 60 Hz (0.18 amplitude), 120 Hz (0.08), and 440 Hz
(0.12), then applies 960-frame linear outer fades. It is quantized once to PCM16.
The 440 Hz component is the illustrative wanted signal, not a recorded voice.

The high-pass export runs the actual Saturalabs 80 Hz second-order Butterworth
processor on the original's decoded integer PCM. The notch reference instead
runs FFmpeg on that same original WAV, using:

```
bandreject=f=60:t=q:w=20:r=f64,bandreject=f=120:t=q:w=20:r=f64
```

FFmpeg outputs float64 samples, which are quantized with the same PCM16 writer.
No normalization, additional fade, zero-phase processing or filter tail is added.
State resets at the start. Phase, edge transients and near-notch wanted content
can change. Q 20 is an exact-tone demonstration, not a universal repair preset.
The online high-pass editor remains a different filter. The separate local hum
remover can test the same centers/Q on your selected original; independent
native checks compare every sample with this offline reference within two
PCM16 steps. The reference files and their generation chain are unchanged.

Regenerate from the repository root, with FFmpeg installed:

```
node --import tsx scripts/generate-hum-examples.ts
node --import tsx --test tests/hum-examples.test.ts
```

`measurements.json` records actual file checksums, the FFmpeg version/filter,
clipped-sample counts during preparation, and component amplitudes projected
onto sine/cosine pairs over seconds 1–3 of the stored integer PCM. These are
relative component-amplitude changes, not loudness, SNR, broadband noise-floor
readings, perceptual scores or real-world removal percentages. Very small
residual components do not imply a 100 dB improvement in overall audio quality.
Quantization limits and outer transients are part of the exported files.

Listen manually at a comfortable consistent volume. Playback equipment can make
low tones difficult to hear. The guide includes the limits of applying these
observations to recordings with wanted sound in the same frequency bands.

These three files are provided individually in the hum guide. They are not in
the separate 23-file WAV library ZIP or its manifest.
