How to generate an audio frequency chart — in-browser, no upload
- Step 1Load the track you're documenting — Drop in MP3, WAV, FLAC, M4A, OGG, Opus, AIFF or WebM. The file is decoded in-browser and down-mixed to mono, so the chart represents the summed frequency content of all channels.
- Step 2Pick an FFT size for what the chart must show — Charting a noise floor or a tonal balance? Use 4096 for clean frequency detail. Charting rhythmic/percussive structure? Use 512–1024. The default 2048 is a safe all-rounder for a general tonal chart.
- Step 3Size the chart for its destination — For a slide or print figure, go wide and tall (e.g. 1920×1080). For an inline note, 1280×480 is compact. Width is the time axis; height is the log-frequency axis. Both have generous caps (3840×2160).
- Step 4Choose PNG for a figure, JPG for a quick share — PNG stays crisp when zoomed in a report — pick it for any figure you'll scrutinise. JPG (0–1 quality slider) makes a small file for a quick paste into chat or email.
- Step 5Render the chart — Run the tool; the spectrogram renders to a canvas and downloads. The metrics panel notes render time and whether the GPU FFT ran — useful if you're charting many files in a session.
- Step 6Annotate outside the tool — The chart itself has no labels, arrows or text overlays — add those in your image editor or document. Note the FFT size and dimensions in your caption so the chart is reproducible by a colleague.
Choosing chart settings by purpose
Match the FFT size and dimensions to the story the chart needs to tell.
| Charting purpose | FFT size | Dimensions | Format |
|---|---|---|---|
| Tonal balance of a mix/master | 2048–4096 | 1280 × 720 | PNG |
| Noise floor / hiss profile | 4096–8192 | 1280 × 1080 | PNG |
| Rhythmic / percussive structure | 512–1024 | 1920 × 480 | PNG |
| Reference vs your master comparison | 2048 (both files) | 1280 × 480 (identical) | PNG |
| Quick chart for a chat message | 2048 | 1280 × 480 | JPG 0.85 |
Reading the chart for EQ and noise decisions
What to look for and what to do about it. Frequencies are read off the log Y axis.
| On the chart | Interpretation | Action |
|---|---|---|
| Broad bright band ~150–500 Hz | Low-mid build-up (mud) | Narrow EQ cut; re-chart to confirm |
| Even faint haze across all heights | Broadband noise floor (hiss) | Try the ai-noise-reducer; re-chart |
| Thin steady horizontal line | Tonal interference (hum/whine) | Notch that frequency |
| Dark cutoff near 16 kHz | Lossy-origin source | Document as lossy; don't 'boost air' |
| Bright vertical streaks at hits | Transients (drums, plosives) | Expected; lower FFT to chart them sharper |
Frequency reference bands (for chart captions)
Approximate ranges to label regions of your chart. The Y axis is log, 20 Hz at the bottom to Nyquist at the top.
| Band | Range | Common description |
|---|---|---|
| Sub-bass | 20–60 Hz | Felt more than heard; rumble lives here |
| Bass | 60–250 Hz | Weight and warmth; boom if excessive |
| Low-mids | 250–500 Hz | Body; mud/box if overdone |
| Mids | 500 Hz–2 kHz | Fundamentals of most voices/instruments |
| Presence | 2–5 kHz | Intelligibility and attack |
| Brilliance / air | 5–20 kHz | Sparkle; sibilance lurks in the low part |
Cookbook
Recipes for charts that actually support an EQ, mastering, or noise-cleanup decision.
A tonal-balance chart for a mastering report
The classic deliverable: one clean chart of the whole track's frequency balance to include with notes.
Settings: FFT 4096 · 1280 × 720 · PNG
Result: master-spectrum.png, a documentation-grade chart
Caption: 'Spectrogram, FFT 4096, log freq 20 Hz–22.05 kHz,
viridis, 80 dB range.' (reproducible by anyone)Noise-floor before/after cleanup
Show that your denoise actually lowered the hiss. Render before and after with identical settings.
1. Chart the raw file: FFT 8192 · 1280 × 1080 · PNG
2. Run /audio-tools/ai-noise-reducer, export
3. Chart the cleaned file with the SAME settings
Reading: the broadband haze should be visibly darker in
the second chart, especially in quiet gaps.Reference-vs-master comparison
Put your master next to a commercial reference. Identical settings make the two charts comparable in shape.
Both files: FFT 2048 · 1280 × 480 · PNG
Place side by side in your slide/report.
Compare: where is your low end heavier/lighter? Does the
reference have more high-frequency content? (Shape
only — colour is normalised per file, not absolute.)Documenting a hum you removed
Chart the steady tone before notching it so you have a record of the problem.
Settings: FFT 8192 · 1280 × 1080 · PNG Before: a thin horizontal line (e.g. ~60 Hz mains hum) After: same settings, the line is gone Keep both charts as the 'fixed' evidence in your notes.
A compact chart for a quick client message
When you just want to show one thing fast, a small JPG is enough.
Settings: FFT 2048 · 1280 × 480 · JPG · quality 0.85
Result: ~40–70 KB image, fast to send
Note: switch to PNG if the client will zoom in to
inspect a specific band.Edge cases and what actually happens
Pro plan required to chart
Pro requiredGenerating the frequency chart needs the Pro tier (minTier: "pro"). On free, the run is blocked with an upgrade prompt and nothing is processed. The free waveform-generator charts amplitude over time (not frequency) if that's enough for your note.
Chart colour can't be used as an absolute dB reference
Relative onlyEach chart's colours are normalised to that file's loudest bin over an 80 dB range. So you can compare the *shape* of two charts but not read absolute dBFS from the colour. For absolute loudness numbers, use the loudness/true-peak measurement tools instead.
No labels or gridlines on the image
By designThe chart is a bare spectrogram — no axis ticks, no frequency labels, no legend. Add those in your document or image editor, and put the FFT size and dimensions in the caption. The bare image keeps the data uncluttered.
Wrong FFT size muddies the story
By designCharting a noise floor at FFT 512 makes broadband hiss look chunky; charting drums at FFT 8192 smears the hits. Pick the FFT size for what the chart must communicate (see the settings-by-purpose table) before rendering.
Lossy source caps the chart at the top
ExpectedIf the file came from MP3/AAC, the chart shows a hard dark ceiling around 16 kHz. That's correct and worth documenting — but don't caption it as 'lacking air' and recommend a high boost; the content simply isn't there to boost.
Mono down-mix hides per-channel issues
By designThe chart is built from a mono down-mix, so a problem isolated to one channel is averaged in. For per-channel documentation, this single chart can't show it; chart each channel's stem separately if you split them first.
JPG artefacts on a fine chart
CompressionLow-quality JPG adds blocky artefacts to thin spectral lines, which can mislead in a report. Use PNG for any chart a reader will scrutinise; reserve JPG for casual sharing.
File over the tier limit
Limit reachedPro allows 200 MB / 120 min per file; Pro-media and Developer reach 100 GB with no duration cap. A long album side beyond your tier is blocked. Chart per-track, or trim with audio-trimmer.
Very short clip charts as one column
By designA clip shorter than the FFT window yields a single stretched frame — a poor chart. For short samples, lower the FFT size (512/1024) so the engine produces multiple frames across the width.
Decode failure
Decode errorIf the browser can't decode the file (unusual or DRM codec), charting fails. Convert to WAV or MP3 first with a sibling like flac-to-mp3 or wav-to-mp3, then chart.
Frequently asked questions
What is an audio frequency chart, exactly?
It's a spectrogram: a chart of frequency (vertical, log scale, 20 Hz to your file's Nyquist) against time (horizontal), with colour showing how loud each frequency is at each moment. It's the standard way to *show* a tonal or noise observation rather than just describe it.
How do I use the chart to make EQ decisions?
Find a band that's brighter than you want it (e.g. a wide bright zone in 150–500 Hz for mud), read its frequency off the log Y axis, apply a narrow EQ cut there in your DAW, then re-chart with the same settings to confirm the region darkened.
Can I read absolute decibel levels off the chart?
No — the colour scale is normalised per file to its loudest bin over an 80 dB range. You can compare the shapes of two charts, but for absolute dBFS or LUFS numbers use the loudness and true-peak measurement tools, not the spectrogram.
Does the chart have axis labels?
No. It's a bare image so the data isn't obscured. Add frequency/time labels in your document, and state the FFT size and dimensions in the caption so a colleague can reproduce the exact chart.
Which FFT size makes the cleanest chart?
For a tonal-balance or noise-floor chart, 4096 (or 8192 for very fine detail) gives clean frequency separation. For a rhythmic/transient chart, 512–1024 keeps the time axis sharp. 2048 is the balanced default for a general-purpose chart.
How do I chart a noise floor before and after cleanup?
Chart the raw file at a high FFT size (8192) and a tall image, run the ai-noise-reducer, then chart the cleaned file with identical settings. The broadband haze should be visibly darker in the quiet gaps of the second chart.
Is the chart watermarked?
No. The PNG or JPG is plain spectrogram pixels with no logo or overlay, so it drops straight into a report or slide. And because rendering is deterministic, the same inputs reproduce the same chart for verification.
What output formats and sizes are available?
PNG (lossless) or JPG (with a 0–1 quality slider, default 0.9). Width 320–3840, height 120–2160. There is no SVG, PDF, or vector chart export — it's a raster image.
Can the chart show left and right channels separately?
No — it's built from a mono down-mix. For per-channel charts, split the channels first with channel-splitter and chart each resulting file separately.
Why does the chart stop near 16 kHz on some files?
That hard dark ceiling means the source was lossy (MP3/AAC) before you got it. It's accurate to chart it that way — just don't conclude the master 'needs more air'; the high content was discarded at the lossy encode and can't be restored.
Is this processed on a server?
No. The FFT and rendering run in your browser, so unreleased tracks stay on your machine. The only server contact is an anonymous processed-file counter for signed-in users, which contains no audio.
Can I batch-chart a whole album?
On paid tiers you can drive the spectrum-analyzer through the local @jadapps/runner from a script to chart many files in one pass on your own machine — still with no upload. Manually, render one track at a time, keeping FFT size and dimensions constant so the charts are comparable.
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.