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
- macOS 14.0 (Sonoma) or later
- Apple Silicon or Intel Mac
- FFmpeg — bundled with the app, no separate install needed
Installation
- Download the DMG from the link above
- Open the DMG and drag WaxOn to your Applications folder
- Before launching, open Terminal and run:
xattr -cr /Applications/WaxOn.app
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:
- Process — run all files in the list through the processing pipeline
- Cancel — stop processing in progress (replaces Process while running)
- Mix — combine 2 or more selected files into a single output (enabled when 2+ files are selected)
- Remove — remove the selected file(s) from the list
- Clear — remove all files
File List
The left panel shows all loaded files. Each row displays the filename and a status badge:
- Analyzing — audio stats are being computed
- Ready — analysis complete, file is ready to process
- Processing — FFmpeg pipeline is running
- Processed — output file written; click the row to reveal it in Finder
- Error — something went wrong; hover for details
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:
- File selected — waveform display with a stats strip below it
- Mix rendering — a spinner with a live phase label showing where the job is in the pipeline
- Nothing selected — a prompt to select a file
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
Audio Stats Row
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
- Load your files and select two or more in the file list (⌘-click to multi-select)
- Click Mix
- The waveform panel shows a live progress indicator as the job moves through each stage
- 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:
- Mixing N files… — amix blending with normalize=1 for a balanced initial level
- Filtering… — high-pass filter, phase rotation, channel selection, and resampling
- Analyzing loudness… — first-pass EBU R128 measurement (only if Loudness Norm is on)
- Normalizing… — linear gain applied to hit the target (only if Loudness Norm is on)
- Limiting… — 2× oversampled brick-wall limiting
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
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.
-
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.
-
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.
-
Brick-Wall Limiting The signal is upsampled to 2× the target rate, passed through FFmpeg's
alimiterwith 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:
- amix — FFmpeg's
amixwithnormalize=1blends all inputs to a common level before the rest of the pipeline runs. The mixed signal then goes through all three stages identically to a single-file job.
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:
episode-01-44kwaxon-1dB.wavguest-interview-48kwaxon-1.5dB.wav
Mix Output
mix-{N}-files-{rate}waxon-{limit}.wav
Examples:
mix-2-files-44kwaxon-1dB.wavmix-3-files-48kwaxon-1.5dB.wav
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
- Record host and guest on separate tracks
- Drop both files into WaxOn
- Select both and click Mix to produce a single blended track
- Import the mix output into your DAW for editing
- 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.