ClipHack

Clip prep for macOS. Process broadcast clips — noise reduction, dynamic leveling, loudness normalization, brick-wall limiting — before dropping them into a mix.

What is ClipHack?

ClipHack is a macOS utility for preparing broadcast audio clips — news stories, promos, inserts — before they go into a podcast, show, or mix. It runs each clip through a configurable FFmpeg pipeline and outputs a 24-bit WAV at your target sample rate.

The typical use case: you have a clip from a broadcast source that's inconsistently leveled, noisy, or peaking hot. Drop it into ClipHack, enable the stages you need, click Process. The output is ready to drop into your DAW.

What ClipHack is not

ClipHack is not a mastering tool or a final delivery step. It's a pre-edit prep tool. If you need EBU R128 delivery normalization or MP3 export for your finished mix, use WaxOff.

First Launch

macOS Gatekeeper Warning ClipHack is not notarized with Apple. After mounting the DMG and dragging ClipHack to Applications, you must clear the quarantine attribute before it will open:
xattr -cr /Applications/ClipHack.app

After running that command, ClipHack will open normally. You only need to do this once.

Getting Started

  1. Configure your settings in the right panel — sample rate, ceiling, and any optional processing stages.
  2. Drag and drop audio files onto the window, or drag them into the file list on the left.
  3. Click Process.
  4. Output files are saved alongside the originals, or in your chosen output folder if you've set one.

You can queue up a batch before hitting Process. Files are processed in parallel — a batch of 10 clips takes roughly as long as the longest single clip.

Update Checker

ClipHack checks for new releases on launch and via Help → Check for Updates. If an update is available, you'll see a prompt with a link to the release page.

Interface

File List (left panel)

Drag files here to add them. Each row shows the filename, processing status, and — after analysis — RMS level, peak level, and LUFS. A warning badge appears when the noise floor is high enough to affect level accuracy.

Select a file to see its waveform. For stereo files, L and R channels are displayed separately with independent amplitude scales.

Waveform (center)

Shows the selected file's waveform. Stereo files display both channels stacked with L on top. The amplitude axis is calibrated in dBFS.

Settings Panel (right)

All processing controls live here. Toggle the panel open or closed with the button in the toolbar. Settings are saved between sessions.

Toolbar

Processing Pipeline

Each stage is optional except the final limiter. Stages run in this order:

  1. Resample Resamples to the target sample rate. Skipped if the file is already at the target rate. Preserves the original channel count.
  2. Noise Reduction optional RNNoise neural network model via arnndn. Attenuates broadband background noise — hiss, room tone, HVAC. For stereo files, each channel is processed independently, then recombined, so the stereo image is preserved.
  3. Channel Extraction For mono output from a stereo source, extracts the selected channel (Left or Right) using an explicit pan filter. Skipped for stereo input when Stereo Output is on.
  4. Level Audio optional Dynamic leveling via FFmpeg's dynaudnorm. Evens out level variation across the clip. Three parameters — frame size, Gaussian smoothing, and max gain — scale together from Gentle to Aggressive.
  5. Loudness Norm optional Two-pass EBU R128 loudness normalization. First pass measures integrated loudness; second pass applies a linear gain to hit the target LUFS. Runs before the limiter.
  6. Brick-Wall Limiter 2× oversampled true peak limiting at the configured ceiling. Always applied as the final stage. Output format: 24-bit WAV.
Why this order? Noise reduction runs on the raw signal — before any gain changes — so the model sees the noise at its original level. Channel extraction runs after NR so stereo NR can process both channels. Loudness normalization runs before the limiter so the limiter only needs to catch the occasional true peak overshoot.

Settings Reference

Output

SettingRangeDescription
Sample Rate 44.1 kHz / 48 kHz Output sample rate. 44.1 kHz for most podcast use; 48 kHz for broadcast and video.
Stereo Output on / off Force stereo output. Upmixes mono sources to dual-mono stereo. When off, all output is mono.
Channel Left / Right For mono output from a stereo source, selects which channel to use. Disabled when Stereo Output is on. Uses an explicit pan filter — not a downmix average.
Ceiling −6 to −1 dB Brick-wall limiter ceiling. Sets the maximum true peak level of the output. −1 dBTP is standard for podcast insertion.

Noise Reduction

SettingRangeDescription
Noise Reduction on / off Enables RNNoise ML noise suppression. Best for clips with consistent background noise (HVAC, room hiss). Not designed for music.

Level Audio

SettingRangeDescription
Level Audio on / off Enables dynaudnorm dynamic leveling. Evens out level variation within a clip. Best for broadcast sources with varying levels — not recommended for dialog or music.
Aggressiveness Gentle → Aggressive Controls how quickly the leveler responds to level changes. See the table below.

Aggressiveness Parameters

Three dynaudnorm parameters scale together as you move the slider:

LevelFrame SizeGaussian (g)Max Gain
Gentle750 ms31
Low600 ms2511×
Medium450 ms1914×
High300 ms1317×
Aggressive150 ms720×

Three parameters are always fixed: RMS-based measurement (responds to perceived loudness, not transient peaks), channel-coupled (L and R get the same gain, preserving the stereo image), and boundary extension (gain holds steady at the start and end of the file rather than tapering to zero).

Loudness Normalization

SettingRangeDescription
Loudness Norm on / off Enables two-pass EBU R128 loudness normalization. Linear gain only — no dynamic processing.
Target −30 to −14 LUFS Normalization target. −16 LUFS is a common podcast insertion target. Use a lower target (e.g. −23 LUFS) for broadcast compliance.

Output Directory

By default, processed files are saved in the same directory as the source file. Use Choose… to set a custom output folder. Click Reset to return to the default behavior.

Output Naming

Output filenames encode what processing was applied:

{original-name}-{rate}{nr-}{leveled-}{norm-}clipped-{limit}dB.wav

Tokens

TokenWhen PresentExample
{rate} Always 44k or 48k
nr- Noise Reduction was applied nr-
leveled- Level Audio was applied leveled-
norm- Loudness Norm was applied norm-
{limit}dB Always 1dB, 3dB, etc.

Examples

clip-44kclipped-1dB.wav
clip-44knr-clipped-1dB.wav
clip-48knr-leveled-norm-clipped-3dB.wav

Supported Formats

ClipHack bundles FFmpeg and accepts any format it can decode:

WAV, AIFF, AIF, MP3, FLAC, M4A, OGG, Opus, CAF, WMA, AAC, MP4, MOV

All output is 24-bit WAV at the configured sample rate.

No Installation Required FFmpeg is bundled inside the app. You don't need to install FFmpeg separately or manage any dependencies.