HUMANIZER — HELP

what it does, how each module works, and how to get a good result

WHAT THIS IS

Humanizer runs a track through eight signal-processing stages, each targeting one acoustic property that a synthesized or overly-clean recording tends to lack: timing regularity, dynamic flatness, harmonic purity, spatial imaging, noise floor, and inharmonicity. Nothing leaves your browser — decoding, processing, and rendering all happen client-side with the Web Audio API.

This is a production/mastering chain, not a way to defeat AI-detection tools. It genuinely changes the audio content — adding real spectral and timing characteristics a raw signal doesn't have — which is a different thing from disguising a file's origin.

QUICK START

THE CHAIN

01 · NOTE TIMING RESCHED

Detects transients using an energy-flux picker — it looks for sudden jumps in short-time RMS energy, which catches drum hits, picked notes, and other percussive onsets well. It doesn't reliably catch onsets in sustained pads or legato/bowed material, since there's no sharp energy jump to key off there. Detected onsets show up as magenta ticks on the waveform. Each note segment then gets re-triggered with a small random timing offset — the note content itself is untouched, only when it fires moves. Because this changes how the source is scheduled rather than filtering it, changes apply on release rather than live, with a brief restart.

02 · WOW & FLUTTER

Continuous slow (wow) and fast (flutter) pitch/time modulation, like a tape transport with imperfect speed stability. This is the "everything drifts slightly" counterpart to Note Timing's per-note jitter.

03 · DYNAMIC BREATH

Two slow, deliberately non-aligned LFOs modulate overall gain, mimicking the way a human performer's intensity naturally swells and recedes phrase to phrase rather than sitting at a constant level.

04 · HARMONIC SATURATION

A broadband tanh-based saturation stage adds odd/even harmonics that a clean synthesized signal typically lacks. drive controls how hard the signal is pushed into the curve; mix blends it back with the unprocessed signal.

05 · ROOM CONVOLUTION

Real spatial reflections via convolution reverb. By default this uses a procedurally synthesized impulse response (sparse early reflections plus a decaying diffuse tail). You can upload a real captured impulse response instead — see the IR upload section below.

06 · NOISE FLOOR

An additive, filtered noise bed simulating preamp hiss or room tone. Choose white, pink, or brown noise from the color selector — this swaps instantly during playback with no restart, since the noise floor is an independent branch that doesn't touch the rest of the chain.

07 · INHARMONICITY

A modulated micro-delay (comb filter) network detunes upper partials slightly, the way a real string or reed instrument's harmonics aren't perfectly integer multiples of the fundamental. The comb send is high-passed so the low end is never comb-filtered — inharmonicity is a high-partial effect physically, and this keeps it from hollowing out the bass.

08 · STEREO BLEED

High-passed cross-channel delay and gain, simulating the way a real multitrack capture picks up mic/room crosstalk between channels. High-passed for the same reason as inharmonicity — bass doesn't meaningfully bleed between mics in a real room, and leaving it full-band would cause low-end phase cancellation.

PRESETS

Three built-in starting points:

Use 💾 SAVE AS to store your own combination under a name — saved presets persist between sessions. ↺ RESET snaps every module back to its shipped default.

UPLOADING YOUR OWN IMPULSE RESPONSE

In the Room Convolution module, click ⇧ UPLOAD IR and pick an audio file captured from a real space (or a guitar cab/amp IR if you want that character instead of a room). It's decoded at your browser's native sample rate for live preview, and re-decoded at the export sample rate when you render, so there's no mismatch between what you hear and what you download. Click ✕ CLEAR to revert to the synthesized room. While a custom IR is loaded, the size slider has no effect, since a captured IR has its own fixed length.

Good free sources for real room/space IRs: EchoThief (echothief.com) for unusual real-world spaces, and OpenAIR (openairlib.net) for a more academically documented library of buildings and halls.

EXPORT

⇓ WAV renders a full-quality 16-bit PCM file. ⇓ MP3 encodes at 192kbps using an in-browser MP3 encoder. Both render the entire track offline through the exact same signal chain used for live preview — nothing is approximated for export.

NOTES ON LIVE vs. RESCHED CONTROLS

Most sliders and toggles update the live audio graph directly — gain, filter frequency, and delay-time changes are ramped smoothly with no dropout, so you can dial things in while listening. A module tagged RESCHED (currently just Note Timing) changes how the source itself is scheduled rather than filtering an existing signal, so it can't be updated mid-stream the same way — instead it restarts playback from your current position when you release a slider or flip its toggle.