Skip to content

Audio Problem Detector

Scans audio for common technical and tonal problems. Returns a severity-coded list of detected issues with frequency locations and suggested fixes.

Parameters

ParameterTypeDefaultDescription
file_pathstringrequiredPath to audio file

Example Output

Illustrative summary; MCP responses use structured JSON.

$ detect_problems vocals.wav

{ "problems": [ { "type": "lossy_codec", "severity": "dealbreaker", "message": "Possible lossy codec artifact: 24.6 dB spectral shelf drop above 16kHz.", "details": { "shelf_drop_db": 24.6, "energy_14_16khz_db": -38.2, "energy_16_20khz_db": -62.8 } }, { "type": "snr", "severity": "significant", "message": "SNR is 42.3 dB (poor). Signal RMS: -8.5 dBFS, noise floor: -50.8 dBFS.", "details": { "snr_db": 42.3, "signal_rms_dbfs": -8.5, "noise_floor_dbfs": -50.8, "quality": "poor" } }, { "type": "sibilance", "severity": "moderate", "message": "Excessive sibilance: 5-10kHz band energy is 7.4 dB above expected level.", "details": { "band_energy_db": -16.2, "overall_energy_db": -22.1, "excess_db": 7.4 } }, { "type": "dc_offset", "severity": "minor", "message": "DC offset detected: 0.003000 (mean sample value, left channel).", "details": { "dc_offset": 0.003, "channel": "left" } } ], "clean": false, "summary": { "dealbreaker": 1, "significant": 1, "moderate": 1, "minor": 1, "total": 4 } }

What the Numbers Mean

Severity levels (most to least serious):

  • dealbreaker – Highest-priority detector flag. Inspect the source and delivery needs first; a severity label is not a listening test.
  • significant – Likely audible and worth addressing.
  • moderate – Noticeable on careful listening. Worth considering.
  • minor – Technical issue but may not be audible. Optional fix.

Problem types:

  • clipping – Samples at the configured amplitude threshold, checked on each channel. At the default threshold, integer PCM’s representable full-scale rails are also detected. A flagged rail is a reason to inspect the source; reducing gain cannot restore already clipped detail.
  • dc_offset – Non-zero baseline. Reduces headroom and can cause clicks at edit points.
  • inter_sample_peak – Reconstructed peaks exceed sample peaks by the configured overshoot threshold. Severity also considers true-peak level; a flag does not necessarily mean the peak exceeds 0 dBTP.
  • noise_floor – Broadband noise floor above acceptable levels.
  • snr – Signal-to-noise ratio below professional levels.
  • hum – Power line interference at 50/60 Hz and harmonics.
  • sibilance – Harsh “s” and “t” sounds, 5-10 kHz.
  • mud – Excessive low-mid energy, 200-500 Hz, that obscures clarity.
  • harshness – Aggressive upper-mid energy, 2-4 kHz, that causes listener fatigue.
  • resonant_peak – Narrow spectral peaks that may warrant listening; the measurement does not establish their cause.
  • lossy_codec – A sharp high-frequency shelf that may indicate prior lossy encoding. It is a heuristic, not proof of a file’s history.

There is no sensitivity parameter on this MCP tool. To change a detector threshold, use the documented analysis settings and report which defaults you changed.

Example Prompts

Quick check

Are there any problems with my vocal recording at vocals-take3.wav?

Mix problems

Check my mix for any technical issues before I send it to mastering

Sensitive scan

Run a sensitive problem detection on master.wav – I want to catch everything

  • full_diagnostic – Includes problem detection plus all other analyses
  • analyze_spectrum – Detailed frequency view to investigate detected mud/harshness
  • analyze_loudness – Check if clipping is related to overlevel
  • fix_audio – Automatically apply corrective processing for detected problems

Pro tip

Run problem detection early – before you start mixing. Fixing DC offset, hum, or sibilance at the source is always better than processing a mix that already has these issues baked in.

Optional analytics

With your permission, Vercel measures page views and loading performance, and PostHog measures page views and selected button clicks. We do not send search text or form details, record sessions, or link analytics to your email. Your choice lasts 180 days. You can withdraw anytime using Privacy choices in the footer. Forms work either way.

Privacy policy