How to speech compressor — zero upload, browser-based
- Step 1Open the tool (then you can go offline) — Go to the Speech Leveler. Once the page and the FFmpeg WebAssembly engine have loaded, you can disconnect from the internet — the compression runs locally. Drop your confidential recording (MP3, WAV, FLAC, M4A, OGG, or Opus).
- Step 2Confirm nothing uploads — If you want proof, open your browser's network/devtools panel before processing. You will see the file is never sent — there are no upload requests. The audio stays in the tab's memory and on your disk.
- Step 3Pick the preset for your recording — Use the Preset menu: Podcast for a single speaker, Interview for two voices at different mic distances (the common confidential-interview case), or Voiceover for a single very dynamic speaker.
- Step 4Process locally — Click process. The compand pass runs on your CPU via the WebAssembly engine and re-encodes to your source format. No queue, no server round-trip.
- Step 5Download — your original is untouched — The leveled copy downloads to your machine; the original file is not modified or stored anywhere online. Keep or delete each copy under your own control.
- Step 6Redact or denoise locally if needed — If the recording contains names or numbers to redact, run the pii-redactor (also in-browser). To remove room noise first, use the ai-noise-reducer — both keep the audio local.
Where your audio goes at each step
The whole point of this tool: nothing leaves the browser. This table makes the data path explicit.
| Step | Where it happens | Leaves your machine? |
|---|---|---|
| Loading the page + FFmpeg WASM | Downloaded once to your browser | No file leaves — only the app code is fetched |
| Dropping the recording | Held in the tab's memory | No — not uploaded |
| Compand compression | Your CPU, in the browser tab | No — runs locally (works offline after load) |
| Download of the leveled file | Saved to your local disk | No — local save only; original untouched |
Privacy-first speech tools (all no-upload)
Other in-browser audio tools for confidential recordings. Each runs locally; none uploads.
| Need | Tool | What it does locally |
|---|---|---|
| Even out quiet vs loud speakers | Speech Leveler (this tool) | compand compression via three voice presets |
| Redact spoken names / numbers (PII) | pii-redactor | Handles personal data in the audio — see its page for specifics |
| Remove room/background noise | ai-noise-reducer | RNNoise speech model, runs on your CPU |
| Set the playback loudness | loudness-normalizer | 2-pass EBU R128, locally — no upload |
Cookbook
Privacy-sensitive scenarios. The code shows the local data path and the compand curve each preset builds — nothing here involves a server.
Confidential two-person interview
A reporter's source recording with the source soft-spoken and far from the mic. Interview preset, fully offline.
After page load: disconnect Wi-Fi (optional, to prove no upload) File: source-interview.wav Preset: Interview -af compand=0.1,0.6:0.1,0.6:-90/-90|-60/-58|-25/-18|0/-15:8:0:-90:0.1 Soft source brought up toward the interviewer; nothing uploaded
Verify zero upload in devtools
For a recording under NDA, prove the data path before you process.
1. Open devtools -> Network tab, clear it 2. Drop the file, run the leveler 3. Observe: app/wasm assets only; NO request carrying your audio 4. Result downloads locally; original file unchanged
Single confidential statement
A one-person recorded statement with uneven delivery. Podcast preset is the safe default.
File: statement.m4a Preset: Podcast -af compand=0.05,0.4:0.05,0.4:-90/-90|-70/-70|-25/-15|0/-15:6:0:-90:0.1 Output: statement-leveled.m4a (same format, stays on disk)
Denoise then level, both local
A noisy confidential call: clean the noise locally first, then level — never touching a server.
1. ai-noise-reducer (RNNoise, in-browser) -> call-clean.wav 2. Speech Leveler (Interview) -> call-leveled.wav Both steps run on your CPU; the call never uploads.
Leveling is not redaction
Compressing makes a quiet name MORE audible, not hidden. Use the redactor for PII.
Wrong: 'level it so the quiet PII is harder to hear' -> opposite! Leveling lifts quiet speech, making names/numbers clearer. Right: redact first with pii-redactor, then level if needed.
Edge cases and what actually happens
Confirming nothing is uploaded
No uploadAll processing runs in the browser via FFmpeg 8.1 WebAssembly. You can verify in devtools that your audio is never sent, and the tool keeps working if you disconnect from the internet after the page loads. The original file is read locally and a new copy is saved locally.
Expecting it to hide or redact sensitive speech
Wrong toolCompression makes quiet speech more audible, so it makes spoken names and numbers clearer, not hidden. To redact personal data in audio, use the pii-redactor. The leveler is for evening out volume, not concealment.
Free tier cannot run it
Pro requiredSpeech Leveler is Pro-gated; on Free it throws 'Speech Leveler requires a Pro subscription.' This does not change the privacy model — processing is local on every plan. Pro audio limits are 200 MB / 120 minutes / 10 files.
Recording exceeds the per-file limits
RejectedOn Pro, files over 200 MB or 120 minutes are rejected. A long confidential interview can be split locally with audio-splitter (also no-upload), or use Pro + Media for unlimited duration and up to 100 GB.
Background noise becomes more audible
ExpectedLeveling lifts the quiet band, including room noise. This is normal compression behaviour. Denoise locally first with the ai-noise-reducer, then level, so the quiet content is clean before it is boosted.
No loudness target or peak limiter here
By designThis tool is the compressor only. It does not set LUFS or limit true peaks. For a finished file run the loudness-normalizer and true-peak-limiter afterward — both also run in-browser with no upload.
Video file containing the speech
Audio onlyThe tool reads and writes audio. Extract the audio from a video first with video-to-wav (in-browser), level it, then re-attach in your editor. No part of this requires an upload.
No manual compressor settings
By designOnly the three presets are available — there are no threshold/ratio/attack/release fields. Each preset is a fixed compand curve. This keeps the privacy-first tool simple; for hand-tuned compression you would script FFmpeg's compand locally.
Frequently asked questions
Is my recording really never uploaded?
Correct. The tool runs FFmpeg 8.1 as WebAssembly inside your browser tab. Your audio is read, compressed, and written back entirely on your machine. You can confirm in devtools that no upload request carries the file, and it keeps working offline after the page loads.
Can I use it offline?
Yes, after the page and engine have loaded. The compression itself needs no network, so you can disconnect from the internet and still process a sensitive file.
Does it store my file in any account or cloud history?
No. There is no server-side copy. The original stays where it is, and the leveled output is saved to your local disk only. Nothing about the file is logged to a cloud account.
Will leveling help hide sensitive details in the audio?
No — it does the opposite. Compression makes quiet speech louder, so names and numbers spoken quietly become clearer. To redact personal data, use the pii-redactor instead.
What does the compressor actually do?
It runs FFmpeg's compand filter to even out the gap between quiet and loud speech, so a soft-spoken interviewee is as audible as a loud one. You pick from three voice-tuned presets; there are no other controls.
Which preset for a confidential two-person interview?
Interview — it is tuned for two voices at different mic distances and uses a gentler curve with a slower release, bringing a far, soft source up toward the closer speaker without pumping.
Does it set the loudness or limit peaks?
No, it is the compressor stage only. For a publish-ready loudness use the loudness-normalizer, and to cap true peaks use the true-peak-limiter — both also run locally with no upload.
What formats can I process privately?
MP3, WAV, FLAC, M4A, OGG, and Opus. The output keeps the same format as the input. For audio inside a video, extract it locally with video-to-wav first.
How big a confidential file can I process?
On Pro, up to 200 MB and 120 minutes per file. Larger or longer recordings can be split locally with audio-splitter, or handled on Pro + Media (100 GB, unlimited duration).
Why did the background noise get louder?
Because leveling lifts the quiet parts, and quiet room noise is one of them. Denoise first with the local ai-noise-reducer, then level. It is expected behaviour.
Is this tool free?
There is no upload cost, queue, or watermark, but the tool is a Pro feature. Whatever your plan, the privacy model is identical — processing is always local in your browser.
Can I batch several confidential files?
The leveler processes one file per run. Pro allows up to 10 files in the audio family workflow, but each compression pass acts on a single recording, all locally.
Privacy first
Every JAD Audio tool runs entirely in your browser via FFmpeg (WebAssembly) and RNNoise. Your audio files never leave your device — verified by zero outbound network requests during processing.