Noise Calibration

Intelligently remove ambient noise from your recordings with automatic baseline profiling in just 5 seconds.

Why Calibrate?

Ambient noise (HVAC, traffic, room hum, typing surface vibration) can mask the true acoustic signature of your keyboard. Clackalyzer's noise calibration solves this.

Isolate the true acoustic character of your keyboard
Analyze recordings from different rooms with consistent noise subtraction
Focus on meaningful frequencies (not background noise)
Detect subtle differences between switch types
Improve the SNR (signal-to-noise ratio) of your analysis

What Gets Removed

  • HVAC hum and room vibrations
  • Low-frequency rumble
  • Persistent background noise

Preserved: Keyboard fundamentals remain unaffected. Click, spring ping, and plate resonance are fully captured.

Calibration Workflow

1

Ready

Tap "Calibrate" in Settings or the header

2

Sample

Record ambient noise silently for 5 seconds

⏱️ 5 sec

3

Analyze

App computes per-bin noise floor automatically

4

Done

Profile saved. Auto-dismiss in 1.5 seconds

How It Works (The Science)

During the 5-second calibration window, Clackalyzer performs a robust noise floor estimation:

1.Accumulate FFT magnitude frames for 5 seconds
2.Compute per-bin minimum across all frames (robust noise floor)
3.Where minimum stayed infinite, fall back to frame-mean
4.Apply 3-tap smoothing [0.25, 0.5, 0.25] per bin for stability
5.Save profile + bin count to UserDefaults
6.On next frame: subtract the per-bin floor while preserving residual

Result: A per-bin noise profile is saved. On the next FFT frame, the saved floor is subtracted while preserving keyboard signals. The header shows live reduction in dB.

📊 Live Reduction Statistics

After calibration, the header displays how much noise is being removed:

Noise Profile: −18.3 dB

This means 18.3 decibels of ambient noise signal is being subtracted from live analysis. Watch this number change as room conditions vary.

When to Recalibrate

Room conditions change (different building, time of day, etc.)
You move to a quieter or noisier environment
Testing in a new location or different microphone distance
You change the FFT size (profile invalidates automatically)
You want to analyze profiles from different environments

💡 Profiles are invalidated automatically when you change the FFT size, so you'll always be working with compatible calibration data.

Managing Your Calibration Profile

Enable / Disable

Tap the noise profile button in the header to toggle on/off without deleting calibration data. Useful for comparing with/without noise subtraction.

Clear Profile

Delete saved calibration data. You can recalibrate anytime.

Status Badge

Settings show Active (teal), Bypassed, or Not Set (grey) at a glance.