WaxOn

Podcast audio prep for macOS. WaxOn is focused on preparing raw recordings for editing — it exposes the controls that matter for that job and keeps sensible defaults for everything else. Drop your files in, configure what you care about, and get to editing.

WaxOn does not do noise reduction, de-essing, or restoration. It's a first-step ingest processor: high-pass filtering, loudness normalization, phase rotation, and brick-wall limiting, outputting 24-bit WAV files ready for your DAW.

Getting Started

System Requirements

Installation

  1. Download the DMG from the link above
  2. Open the DMG and drag WaxOn to your Applications folder
  3. Before launching, open Terminal and run:
xattr -cr /Applications/WaxOn.app
Why is this necessary? WaxOn is not notarized with Apple. Without clearing the quarantine attribute, macOS Gatekeeper will refuse to open it. The xattr -cr command removes the quarantine flag — it does not disable any macOS security features.

First Launch

After running the xattr command, double-click WaxOn in Applications. No configuration is required — the defaults are ready to use immediately.

The Interface

WaxOn has a single resizable window divided into three areas.

Toolbar

The top bar contains the main controls:

File List

The left panel shows all loaded files. Each row displays the filename and a status badge:

Drag rows to reorder files. The divider between the file list and the waveform panel is draggable.

Waveform Panel

The right panel shows three things depending on context:

Settings Bar

The bottom strip contains all processing settings. See the Settings Reference for details.

Working with Files

Adding Files

Drag and drop audio files anywhere onto the WaxOn window. Files can be added at any time, including while processing is in progress.

Supported Formats

WAV, AIF, AIFF, MP3, FLAC, M4A, OGG, Opus, CAF, WMA, AAC. Unsupported formats are silently rejected; a notice appears if any files were skipped.

Reordering

Drag rows in the file list to reorder them. Order affects the Mix output when combining files.

Removing Files

Select one or more files and click Remove, or use ⌘⌥Delete to clear the entire list.

File Stats

Selecting a file displays a stats strip below the waveform. Each stat is shown as a labeled column — the label above, the value below — so you can scan across the strip at a glance. Stats are computed asynchronously as files load; they appear within a second or two of dropping a file in.

The strip has two rows separated by a divider: file info on top, audio analysis below.

File Info Row

FORMAT
Container format — WAV, MP3, FLAC, etc.
SR
Sample rate in kHz (e.g., 44.1 kHz, 48 kHz)
CH
Channel layout — Stereo or Mono
BIT
Bit depth — 16-bit, 24-bit, 32-bit. Not shown for lossy formats (MP3, AAC, etc.)
DUR
Duration in M:SS or H:MM:SS
BR
Bit rate derived from file size and duration (Mbps or kbps)

Audio Stats Row

RMS
Root Mean Square level in dBFS — represents average loudness over the entire file
PEAK
True peak level in dBFS — the highest sample value across all channels
CREST
Crest factor (PEAK − RMS) in dB — indicates dynamic range. Higher values mean more headroom between peaks and average level
LUFS
Integrated loudness per ITU-R BS.1770-4 — the broadcast and streaming standard. Computed with K-weighting and two-stage gating (absolute −70 LUFS, relative −10 LU)
LUFS vs. RMS Both measure loudness, but LUFS is perceptually weighted and gated — silence doesn't drag the number down, and high-frequency content is weighted more like human hearing. For comparing files intended for broadcast or streaming, LUFS is the more meaningful number.

Processing

Process All

Click Process to run every file in the list through the pipeline. Up to three files are processed concurrently. Each file transitions through Processing → Processed (or Error).

Output files are saved alongside the originals by default, or to your configured output directory. See Output Files for naming details.

Canceling

Click Cancel while processing is running. Any files already written to disk remain. In-flight FFmpeg processes are terminated cleanly.

Revealing Output

Click a processed file row to reveal the output in Finder.

Mix Mode

Mix combines two or more audio files into a single processed output. This is useful for blending a host and guest recording, or merging any set of stems before editing.

How to Mix

  1. Load your files and select two or more in the file list (⌘-click to multi-select)
  2. Click Mix
  3. The waveform panel shows a live progress indicator as the job moves through each stage
  4. When complete, the mixed file appears in the list as a processed item

Mix Pipeline Phases

These labels appear in the waveform panel while a mix is rendering:

Mix Output

The output is a standard WaxOn-processed 24-bit WAV file with the naming format:

mix-{N}-files-{rate}waxon-{limit}.wav

Example: mix-2-files-44kwaxon-1dB.wav

Note: Mix runs a single job — it cannot be run concurrently with Process. The Mix button is disabled while processing is in progress.

Settings Reference

Setting Range / Options Description
Sample Rate 44.1 kHz · 48 kHz Output sample rate. 48 kHz is standard for video; 44.1 kHz for audio-only delivery. Both use FFmpeg's high-quality resampler.
Output Stereo · Mono Stereo passes both channels through. Mono sums or extracts a single channel.
Channel Left · Right Mono mode only. Which channel to extract from a stereo source. Use Left for a typical single-mic recording on channel 1.
Limiter −1.0 to −3.0 dB True peak ceiling for the brick-wall limiter. −1.0 dB is a safe default for most delivery formats.
High Pass 40–90 Hz High-pass filter cutoff. 80 Hz removes most low-frequency rumble and handling noise without thinning the voice. Lower values for sources with significant bass content.
Loudness Norm On · Off Enables the optional two-pass EBU R128 loudness normalization stage. Adds one analysis pass per file but produces more consistent levels across a batch.
Target −16 to −35 LUFS Integrated loudness target when Loudness Norm is on. −23 LUFS is the broadcast standard; −16 LUFS is typical for podcast streaming platforms. Default is −30 LUFS for conservative ingest.
Output Directory Path or empty Where output files are written. If empty, files are saved alongside the source. Set this if you want outputs collected in one folder regardless of where the sources are.

All settings persist between sessions.

Processing Pipeline

WaxOn uses FFmpeg internally. Every file — and every mix — passes through the same three-stage chain.

  1. Filter, Channel & Resample High-pass filter at the configured cutoff, followed by a 200 Hz allpass for phase rotation (reduces peak asymmetry and improves limiter headroom), then channel selection (if mono output), and resampling to the target rate. Output: 24-bit WAV at the target sample rate.
  2. Loudness Normalization Optional Two-pass EBU R128. First pass measures integrated loudness (I), true peak (TP), LRA, and threshold. Second pass applies linear gain to hit the configured target. Linear mode preserves the natural dynamic shape of the recording.
  3. Brick-Wall Limiting The signal is upsampled to 2× the target rate, passed through FFmpeg's alimiter with a 5 ms attack and 50 ms release, then resampled back. Operating at 2× the target rate makes inter-sample peaks visible to the limiter, preventing true peak violations in the final file.

Mix Pipeline

Mix adds a zeroth stage before the chain above:

Output Format

All outputs are 24-bit WAV, regardless of the input format. Lossless, uncompressed, and compatible with every DAW.

Output Files

Individual Files

{original-name}-{rate}waxon-{limit}.wav

Examples:

Mix Output

mix-{N}-files-{rate}waxon-{limit}.wav

Examples:

Location

By default, output files are written to the same folder as the source file. If a custom output directory is set in settings, all files go there regardless of where the sources are.

If neither location is writable, WaxOn falls back to ~/Music/WaxOn/, creating it if necessary.

If an output file with the same name already exists, it is overwritten.

Tips & Workflow

Typical Podcast Workflow

  1. Record host and guest on separate tracks
  2. Drop both files into WaxOn
  3. Select both and click Mix to produce a single blended track
  4. Import the mix output into your DAW for editing
  5. After editing, export and hand off to WaxOff for final loudness and MP3 encoding

Checking Levels Before Processing

Select a file and read the stats strip before hitting Process. The LUFS value tells you how loud the raw recording is. If it's much lower than your loudnorm target, normalization will apply significant gain — which is fine, but worth knowing before you process.

Loudnorm or Limiter Only?

For consistent batch ingest, turn Loudness Norm on. It ensures every file lands at the same integrated loudness before the limiter, which matters when files were recorded at different gain levels. For a single file or when you want to preserve the original level relationship, leave it off and let the limiter handle ceiling compliance only.

Mono vs. Stereo for Podcasts

Most podcast editing workflows prefer mono tracks per speaker — it's easier to pan, balance, and process individually. Use Mono / Left for a standard single-mic recording on channel 1. If your interface captures both mics on a single stereo track, use Mix first to blend them, then process the result.

Reordering Before Mix

File order in the list doesn't affect audio quality, but the mix output filename encodes the count (mix-2-files-…). Reorder before mixing if you want the host track first for organizational purposes.

Companion App: WaxOff

WaxOff is the finishing step after DAW editing. It handles EBU R128 loudness normalization for delivery targets, optional phase rotation, and MP3 encoding.

Workflow:

Raw recordings → WaxOn → Edit in DAW → WaxOff → Distribute

WaxOn prepares your raw tracks for editing. WaxOff prepares your finished mix for release. They're designed to work together but are completely independent — use either or both.


WaxOn is free software licensed under the GPL-3.0. Built by Seven Morris with AI collaboration.