Intro
The Comparative Mean Opinion Score (CMOS) evaluation is designed to assess how a target audio compares to a reference audio. This evaluation is versatile and can be used for various comparison purposes:- Quality Comparison: “Is the target better or worse than the reference?”
- Similarity/Fidelity: “How similar is the target to the reference?”
- Multi-dimensional Assessment: Evaluate specific aspects like naturalness, clarity, or speaker similarity.
- Objective: Compare target audio against a reference audio on various dimensions.
- Use Case: TTS quality assessment, voice cloning fidelity, audio codec evaluation, speech enhancement validation.
- Type:
CMOSin the SDK.
Creating CMOS Evaluations
There are three ways to create CMOS evaluations:Example: Using create_evaluator()
1
Initialize the Client
Begin by initializing the Podonos client with your API key.
2
Create the Evaluator
Set up the evaluator for a CMOS evaluation.
3
Add Files for Evaluation
Add one stimulus audio and one reference audio. The reference file must be specified with
is_ref=True.- Stimulus: The generated or synthesized audio to evaluate (
is_ref=False) - Reference: The ground-truth or original audio (
is_ref=True)
model_tag values for each stimulus.Which argument you pass each file as does not matter. The SDK stores the reference last regardless, so the stimulus and the reference keep the same positions across every group. Presentation order is randomized per evaluator — see Bias Minimization.
4
Finalize the Evaluation
Close the evaluator to complete the setup.
Example: Using create_evaluator_from_template()
Use a predefined template for standardized CMOS evaluations.Example: Using create_evaluator_from_template_json()
Create custom CMOS-style evaluations with theSINGLE_REF custom type.
- Using String
- Using CustomType Enum
Full Example
Here is a complete example comparing multiple TTS models against the same reference recordings:Key Considerations
For CMOS evaluation, one file must be marked as reference (
is_ref=True) and one as stimulus (is_ref=False). Both files having the same is_ref value will cause an error.- File Configuration: Exactly two files are required - one reference and one stimulus.
- Method Restriction: Use
add_files()method, notadd_file()which is only for single-stimulus evaluations. - Evaluation Logic: Evaluators will rate the quality difference between the stimulus and the reference audio.
custom_type Options
When usingcreate_evaluator_from_template_json(), choose the appropriate custom_type based on your evaluation needs:

