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.