Drop to load audio
▾
🎚 Master
—
0:00.000
/
0:00.000
L
R
Drop an audio file anywhere · or use “Open audio…” top right
PHASE
LUFS-M
—
LUFS-I
—
Processing…
⬇ Export
▶EQ Models
▶Parametric (IIR · live)
Low Shelf
Freq
80 Hz
Gain
0.0 dB
Q
1.0
Lo Mid
Freq
400 Hz
Gain
0.0 dB
Q
1.0
Hi Mid
Freq
2.0 kHz
Gain
0.0 dB
Q
1.0
Hi Shelf
Freq
8.0 kHz
Gain
0.0 dB
Q
1.0
▶Linear-Phase (FIR · bake)
Designs a symmetric FIR filter from the band magnitudes (RBJ biquad cookbook → cascade → inverse FFT → Hann window) and applies it via overlap-add convolution. Because the filter is symmetric, every frequency experiences the same delay — no phase smear, transients stay sharp.
Trade-off: linear phase introduces pre-ringing (a tiny sinc-like ripple before transients). For most material this is inaudible; for hard-attack percussion it can occasionally soften the click. Use the Parametric (IIR) above if you hear it.
Taps: more taps = sharper bands & better low-frequency resolution but more pre-ring and longer render. 8192 is a good default; 32768 for mastering-level surgery on bass.
Trade-off: linear phase introduces pre-ringing (a tiny sinc-like ripple before transients). For most material this is inaudible; for hard-attack percussion it can occasionally soften the click. Use the Parametric (IIR) above if you hear it.
Taps: more taps = sharper bands & better low-frequency resolution but more pre-ring and longer render. 8192 is a good default; 32768 for mastering-level surgery on bass.
Lo Shelf
Freq
80 Hz
Gain
0.0 dB
Q
0.71
Lo Mid
Freq
300 Hz
Gain
0.0 dB
Q
1.00
Hi Mid
Freq
3000 Hz
Gain
0.0 dB
Q
1.00
Hi Shelf
Freq
8000 Hz
Gain
0.0 dB
Q
0.71
Set band gains, then Apply.
▶Tilt + Tone (live)
One-knob tonal shaping. Tilt rotates the spectrum around Pivot — positive tilt = brighter (highs up, lows down), negative = darker. Body, Warmth, Presence, and Air are macro pushes on a single fixed band each (≈120 Hz / 250 Hz / 3.5 kHz / 12 kHz).
Live, IIR — affects playback in real time, not baked. Stack it with the Parametric for surgical work + tone shaping in one chain.
Live, IIR — affects playback in real time, not baked. Stack it with the Parametric for surgical work + tone shaping in one chain.
Tilt
0.0 dB
Pivot
1.0 kHz
Body
0.0 dB
Warmth
0.0 dB
Presence
0.0 dB
Air
0.0 dB
▶Dynamics
▶Compressor
0.0 dB
GR
Thresh
−6.0 dB
Ratio
4.0 : 1
Attack
3.0 ms
Release
250 ms
▶Peak Limiter
GR
0.0 dB
Live brickwall limiter — set Threshold, add Makeup to taste. Apply bakes the result to audio. Ceiling = hard clip on bake. Linked stereo.
Threshold
−3.0 dBFS
Makeup
+3.0 dB
Ceiling
−0.30 dBFS
Release
50 ms
▶4-Band Tape Expander
Splits into four bands (< 80 Hz · 80 Hz – 3 kHz · 3 – 9 kHz · > 9 kHz) and applies an independent downward expander to each, then sums them. Dolby-A inspired — not a calibrated decoder. Use to tame hiss / floor noise on tape transfers, or to creatively shape per-band dynamics. Threshold = where expansion starts. Ratio = aggressiveness (2:1 mirrors Dolby A). Attack/Release = per-band envelope speed.
Threshold
−40 dB
Ratio
2.0 : 1
Attack
3.0 ms
Release
100 ms
▶📏 Loudness Normaliser (LUFS)
Measures integrated loudness (ITU-R BS.1770-4 K-weighted, 400 ms gated) and applies a single gain to hit the target. With Limit on (default), peaks above the ceiling are smoothly tanh-soft-clipped so the target is reached even when the source is already loud. With Limit off, the gain is capped to keep peaks below the ceiling — which means a softer file when the source is already at commercial loudness.
Target
−16.0 LUFS
Ceiling
−1.0 dBFS
— Click Analyse to see source loudness
▶Audio Restoration
🔀 A/B Compare · Snapshots
Save the current audio state with a name. Restoration is destructive — snapshots let you commit boldly. Click 📸 Snapshot after each step ("after declick", "after denoise"…). Tap any snapshot to load it. Bind two snapshots to 🅰 / 🅱 and click 🔄 A/B (or hit X) to instantly toggle between them — invaluable for tuning denoise / declick depth without committing.
Current: live
No snapshots yet.
🎚 Noise Reduction — Wiener Filter
1 Select a noise-only region
or drag on waveform manually
Ideal: the run-in groove before the music, or any silent gap with only background noise.
2 Learn the noise profile
No profile yet
3 Apply noise reduction
Strength
50%
🧠 Auto Denoise — One-Click
Single-click broadband noise reduction. Auto-finds the quietest 0.75 s of the file, learns its mean spectrum as a noise profile, and applies a Wiener mask — equivalent to running Auto · Learn · Apply above in one step. The Smooth knob adds 2-D mask smoothing across time + frequency to suppress musical-noise warble that plain Wiener can leave on broadband hiss.
Strength
50%
Smooth
40%
✂ Declicker
Two-pass detector: large clicks first, then subtle ones. Repairs with cubic Hermite (Catmull-Rom) spline interpolation — no kinks or flat segments. Shift+Click on the waveform to spot-repair a single visible spike.
Sensitivity
50%
📐 Declipper
Finds runs of consecutive samples that have been flat-topped at or near full scale and reconstructs the original waveform peak using cubic Hermite interpolation seeded with the boundary slopes — naturally restoring the overshoot the clipper destroyed. Best for over-driven digital recordings, tape transfers pushed too hot, or vintage sources with pinned peaks. Threshold sets where a sample counts as clipped (use ≈ −0.3 dBFS for hard digital clip; raise it for soft analog clip). Max Run caps how long a clipped region can be — longer runs are likely real sustained signal (e.g. a held bass note) and are skipped. After repair the file is auto-attenuated by Headroom dB so the new peaks don't immediately re-clip.
Threshold
−0.30 dBFS
Max Run
2.0 ms
Headroom
−1.0 dB
⚡ De-Hum / De-Buzz
Surgically notches mains hum and its harmonic series. Click Auto-Detect to find the fundamental (50 Hz EU/UK/AU/most-of-Asia or 60 Hz US/Canada/parts-of-S.America) by analysing the loudest stationary segment, or pick 50 / 60 manually. Q controls notch sharpness — higher = narrower (less collateral on adjacent frequencies). Harmonics sets how far up the series to notch (electrical hum is rarely just the fundamental — buzz is mostly harmonics 2–8).
Fundamental
60.00 Hz
Q
30
Harmonics
8
Click Auto-Detect or pick a preset, then Apply.
〰 Rumble Filter
4th-order high-pass removes turntable motor rumble and subsonic noise below the cutoff frequency.
Cutoff
30 Hz
↔ Azimuth Correction
Corrects inter-channel timing on stereo sources. A mis-aligned tape head or cartridge shifts one channel a few samples in time, smearing the stereo image. Analyse cross-correlates L vs R (over the current region if one is selected, otherwise a middle window) to suggest the offset. Positive offset delays R; negative delays L. Sub-sample values are interpolated linearly.
Offset
0.0 smp
⏱ Time-Stretch
Stretches the duration without changing pitch. 0.5× = twice as long; 2× = half as long. Phase-vocoder pipeline: forward STFT (Hann, 75% overlap) → per-bin true-frequency recovery → rigid phase-locking around spectral peaks → transient-detect frame freeze → ISTFT with WOLA.
Varispeed mode locks pitch to speed like a tape machine or turntable: 0.5× = +12 st (octave up), 2× = −12 st (octave down). Math: semitones = −12·log₂(Time).
Quality tips: moderate ratios (0.5×–2×) sound cleanest. Bigger FFT = better frequency resolution and smoother sustained tones, but transients (drum hits, plucks) blur more. 4096 is balanced; 2048 for percussive material; 8192 for sustained tones.
Click any value to type it directly.
Varispeed mode locks pitch to speed like a tape machine or turntable: 0.5× = +12 st (octave up), 2× = −12 st (octave down). Math: semitones = −12·log₂(Time).
Quality tips: moderate ratios (0.5×–2×) sound cleanest. Bigger FFT = better frequency resolution and smoother sustained tones, but transients (drum hits, plucks) blur more. 4096 is balanced; 2048 for percussive material; 8192 for sustained tones.
Click any value to type it directly.
Time
1.00×
Set Time, then Apply.
🎵 Pitch-Shift
Shifts pitch without changing duration. +12 st = up an octave; −12 st = down an octave. Internally: phase-vocoder time-stretches by the pitch ratio, then linearly resamples back to the original length. Resampling len·R → len multiplies all frequencies by R while preserving duration.
Quality tips: ±6 st is the cleanest range. Bigger shifts work but artifacts increase with distance from unison. 4096 is balanced; 2048 for percussive material; 8192 for sustained vocals.
Click any value to type a value (e.g., type 7 for a perfect fifth up).
Quality tips: ±6 st is the cleanest range. Bigger shifts work but artifacts increase with distance from unison. 4096 is balanced; 2048 for percussive material; 8192 for sustained vocals.
Click any value to type a value (e.g., type 7 for a perfect fifth up).
Pitch
0.0 st
Set Pitch, then Apply.
⤴⤵ Fade In / Out
Smoothly ramps level. With no selection, fades from the start of the file (Fade In) or to the end (Fade Out). With a region selected, the fade lives inside the region.
Curve:
Duration
2.00 s
▶Spectrogram
📊 Spectrogram · 🖌 Spectral Repair
Long-view time-frequency display + paint-to-repair. Hum shows as horizontal lines (50/60 Hz + harmonics), hiss as a broad bright band across the top, crackle/clicks as bright vertical streaks. Select a region on the master waveform to focus on it; otherwise the full file is shown.
Workflow: 1) Render, 2) 🖌 Brush and drag rectangles around the artifact (drag edges to resize, body to move, right-click to delete), 3) ▶ Audition to hear just the painted band, 4) pick a Mode (Horizontal for time-localised events, Vertical for narrowband tones), 5) Repair. Phase is preserved from the original frame to minimise pre/post-echo.
Workflow: 1) Render, 2) 🖌 Brush and drag rectangles around the artifact (drag edges to resize, body to move, right-click to delete), 3) ▶ Audition to hear just the painted band, 4) pick a Mode (Horizontal for time-localised events, Vertical for narrowband tones), 5) Repair. Phase is preserved from the original frame to minimise pre/post-echo.
view: full
Click Render to compute. Hover for time/freq/level. Wheel = zoom (⌘/Ctrl = coarse) · Shift+wheel = pan · drag = box-zoom · Shift+drag = pan · dbl-click = reset.
No strokes painted.
0:00.0
🤖 AI Stem Splitting
Powered by MVSEP — pick a model, split into stems
Sign in to enable
🔑 Have an access code? Sign in to unlock AI splitting
🔁 LOOP
bars from bar
project
join0 ms
BPM
—
detected