Skip to content
Sign in

What your agent sends out

Drop the audio your agent or text-to-speech model delivers and get pass, check or fail, traced to a rule, a number and a threshold. Your audio is not uploaded.

  1. 1 Drop a file
  2. 2 Read the verdict
  3. 3 Automate it
  4. 4 Pay when convinced

Now the audio you deliver

No file at hand? See the verdict on our sample first

The engine measured one of our sample recordings and the same rules the browser uses judged it against the starting limits.

Read this before the verdict: our sample is one read sentence from our sample set, judged here against the starting limits, the range of 48 clean synthetic voices. It fails on integrated loudness and noise floor: on those measures it sits outside the range we measured on those voices. Against the EBU R128 broadcast: -23 LUFS, -1 dBTP target the same file gets "Pass". A limit does exactly this; the only question is whose limit it is, and that is why you set your own below.

speech-female-pangram.mp3 · 15.1 s · Starting point: 48 clean synthetic-voice recordings

Fail

At least one rule is broken by more than the margin of its measure. The rules below say which, and what to do.

2 rules broken: Integrated loudness, Noise floor.

  • Pass · critical Clipped samples is 0, inside your limit (at most 0).
  • Pass · critical Dropouts is 0, inside your limit (at most 0).
  • Pass · critical Peak is -5.3 dBFS, inside your limit (at least -60.0 dBFS).
  • Fail Integrated loudness is -23.2 LUFS, 1.2 LUFS under your minimum of -22.0 LUFS. The delivered audio is quieter than your range. What to do: Change the gain before encoding, by the same amount for every utterance, then measure again.
  • Pass True peak is -5.3 dBTP, inside your limit (at most -2 dBTP).
  • Fail Noise floor is -59.7 dBFS, 5.3 dBFS over your maximum of -65.0 dBFS. The noise floor is higher than your limit. What to do: Find the stage that adds the noise: the synthesis, a resampler, the encoder or the path after them.
  • Pass Bandwidth is 11003 Hz, inside your limit (at least 7900 Hz).
Open the full report: five panels, each with what it measures, what good is, who chose the limit and what it does not see

Loudness and true peak

Does the delivered audio sit at the level you chose, without peaks that an encoder or a phone line will clip?

Integrated loudness Validated

-23.2 LUFS

Margin: ±0.1 LU

Starting limit: at least -22.0 LUFS, at most -18.0 LUFS

Fail
True peak Validated

-5.3 dBTP

Margin: +0.2 / -0.4 dB

Starting limit: at most -2 dBTP

Pass
Peak Validated

-5.3 dBFS

No limit set: shown, not judged.

Pass
Loudness range Validated

2.2 LU

Margin: ±1 LU

No limit set: shown, not judged.

What good is
Integrated loudness inside your range and a true peak under your ceiling. The starting range is what we measured on 48 clean synthetic-voice recordings; a published delivery target can replace it.
Who chose the limit
You, or the platform whose target you pick. AudioLab only measured the starting range.
If it is red
Too quiet or too loud: change the gain before encoding, by the same amount for every utterance. True peak over the ceiling: limit before delivery. A peak under -60 dBFS is a file with nothing in it: do not ship it.
What it does not see
Whether the level suits the listener's device or the far end of a phone line, and how loud the other party is.

Clipping, noise floor, gaps and bandwidth

Did anything on the way out damage the signal: a stage that clips, a path that adds noise, a buffer that drops audio, a codec that cuts the band?

Clipped samples Validated

0

No limit set: shown, not judged.

Pass
Noise floor Validated

-59.7 dBFS

Starting limit: at most -65.0 dBFS

Fail
Dropouts Validated

0

No limit set: shown, not judged.

Pass
Longest dropout Validated

not measured

Margin: ±2 ms

No limit set: shown, not judged.

Bandwidth Validated

11003 Hz

Starting limit: at least 7900 Hz

Pass
DC offset Validated

0 ratio

No limit set: shown, not judged.

What good is
No clipped samples, no gaps of digital silence, a noise floor under your limit, and a bandwidth at or above what the destination carries.
Who chose the limit
Clipping and gaps: zero is the only sensible limit, so AudioLab sets it and you can switch it off. Noise floor and bandwidth: you, from your own good files.
If it is red
Clipping: lower the gain before the stage that clips (the synthesis output, a resampler, the encoder). A gap: look at the streaming or encoding path that assembled the file. A noise floor that rose: find the stage that adds it: the synthesis, a resampler, the encoder or the path after them. A band that narrowed: the source sample rate or a codec cut it.
What it does not see
Distortion that stays under the rail, codec artefacts, clicks inside sound, and packet loss a codec concealed. The gap count is a lower bound.

Pitch and voice quality

Is this the same voice as before, at its usual pitch and with its usual harmonicity?

Pitch Validated

218 Hz

Margin: ±3 percent

No limit set: shown, not judged.

Harmonics-to-noise ratio Validated

16.2 dB

No limit set: shown, not judged.

What good is
Pitch inside the range you measured on good files of this voice, and a harmonics-to-noise ratio not below your floor. There is no starting range here: every voice has its own.
Who chose the limit
You, from good files of the same voice.
If it is red
A pitch outside the range: the wrong voice, a changed speed, or a resampling step. A harmonics-to-noise ratio that fell: added noise or a lossy codec on the path.
What it does not see
Naturalness, pronunciation, prosody and emotion. Jitter and shimmer are beta and are not shown.

Measured with the engine the check uses, decoded with ffmpeg here and with your browser in the live check, so the last digits can differ for the same file.

From the browser to the build

The limits you set here download in the format of the CI gate: a script that measures every file with the API and fails the build with a line that names the number, its value, its limit, its status and its margin. The gap count has no field among the ten numbers of that guide yet, so the download says so instead of dropping it. Here your audio is never uploaded; on the API route the file goes to the EU-hosted service and only numbers come back.

Pass, check or fail, and why
  • Every rule is a measure with a status. The panels carry only validated measures. A limit you put on a proxy is information, never a pass or fail.
  • The margin decides what the number can say. A value closer to its limit than the published margin of its measure is uncertain: the measure cannot tell which side it is on, so the verdict says "check", not "fail".
  • Three faults fail the file on their own, whatever else passes: Clipped samples (at most 0), Dropouts (at most 0), Peak (at least -60). You can switch each of them off.
  • There is no composite score. An average hides a critical defect, and no weighting of ours has been validated against anything. You get the rules, their outcomes and one verdict.
  • The limits are yours. The starting set is the 5th to 95th percentile of 48 clean synthetic-voice recordings we measured on 2026-10-11, rounded outward: Integrated loudness at least -22 and at most -18; True peak at most -2; Noise floor at most -65; Bandwidth at least 7900. That is what we measured, not what is good. By construction up to about one in ten of those clean voices falls outside each limit, and with four limits a clean voice lands on "check" or "fail" on at least one of them more often than that: a property of a percentile range, not an error rate of the measures. Replace the set with the range of twenty of your own good files, or pick a published delivery target.
  • The result says what produced it. It carries the rules version (outgoing-qc-rules/1), the engine version and a hash of your limits, so you can tell which rules and which limits judged a file. The last digits of a value can differ between decoders, here and in a pipeline; that is why the margin decides, not the digit.
What it does not do
  • It does not judge how natural the voice sounds, whether the words are right or how they are pronounced, or how the audio sounds on the listener's device; see what AudioLab does not do.
  • It keeps nothing: no history, no trend across versions. Two files side by side is as far as it goes; many files at once is the QC view, and your recogniser under known conditions is the stress test.