How Podonos rates your voice models
How automated MOS scoring works and what it measures
A learned panel simulation
Podonos builds a neural scoring model from thousands of (audio, MOS score) pairs gathered in real listening studies. During inference, it estimates the rating a listener panel would give without convening one. Rather than rules, it learns an approximation of human perceptual judgment.
Three independent scoring dimensions
Checks whether the voice sounds human, covering fluency and human-likeness.
Checks whether rhythm, stress, and intonation fit the text, flagging robotic pacing.
Checks word accuracy and catches phoneme errors common in under-trained TTS.
Calibrated with human listener panels
We gathered MOS ratings from listener panels covering multiple TTS systems in our internal beta. The model is recalibrated quarterly as listener data grows. Current calibration: R-squared > 0.89 against 2,400 listener ratings, internal beta, Q4 2024.
One endpoint, all results
Send an audio URL or binary to /v1/evaluate. Get JSON with mos_score, confidence_low, confidence_high, and sub_scores for each dimension. Only an API key is needed.
import podonos
import os
client = podonos.Client(
api_key=os.getenv(
'PODONOS_API_KEY'
)
)
result = client.evaluate(
audio_url='https://example.com/audio/sample.wav'
)
{
"mos_score": 4.2,
"confidence_low": 3.9,
"confidence_high": 4.5,
"sub_scores": {
"naturalness": 0.88,
"prosody": 0.79,
"pronunciation": 0.91
},
"eval_ms": 1820
}