ComfyUI Node

SpeechMOS Score

A naturalness number for a clip, no reference audio needed

By kale4eat·Created 2 years ago·Updated about a year ago· 23
SpeechMOS Score
  • model
  • audio
  • score

The actual scoring node. Feed it a loaded SpeechMOS model and a clip, get back one float: the model's predicted Mean Opinion Score for how natural that clip sounds. No reference or ground-truth recording required - that's the whole point of a no-reference MOS predictor, and it's what makes this usable for scoring a batch of TTS output or flagging bad clips in a dataset without a human listening to every single one.

How it works

Since it's a no-reference predictor, the model scores the clip on its own - no comparison audio, no alignment step. Single clip in, single float out.

The inputs and outputs that matter

  • model (SPEECH_MOS) - from SDT_SpeechMOSLoader.
  • audio - the clip to score.
  • score (output, FLOAT) - the predicted MOS. Traditional human-rated MOS runs on a 1-to-5 scale (1 = bad, 5 = excellent), and automatic predictors like this one are trained to approximate that same range - but neither this node nor the README pins down the exact scale or which underlying SpeechMOS checkpoint is loaded, so treat the number as a relative signal for comparing clips against each other rather than an absolute, citable score.

How to install it

Via ComfyUI Manager: search ComfyUI-speech-dataset-toolkit, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/kale4eat/ComfyUI-speech-dataset-toolkit
cd ComfyUI-speech-dataset-toolkit
pip install torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt

This node itself adds nothing beyond the pack baseline - the model weights and loading concerns sit on SDT_SpeechMOSLoader.

Common issues & troubleshooting

Errors immediately. Check SDT_SpeechMOSLoader loaded successfully first - same troubleshooting order as every other AI loader/apply pair in this pack.

Scores cluster tightly even between clips you can clearly hear are different. No-reference MOS predictors are a proxy, not ground truth - they're genuinely useful for catching output that's obviously broken (garbled, robotic, clipped) and for relative comparison across a batch, but less reliable for fine-grained ranking between samples that are all already decent. Don't read too much into a small score gap between two okay-sounding clips.

Comparing two TTS systems or checkpoints. Score a batch from each and compare distributions or averages rather than trusting any single clip's number - the same caveat applies to any automatic quality metric: it's noisy per-sample, more reliable in aggregate.

Barely any community discussion if you hit something odd. Consistent with SpeechMOS being a narrow academic tool rather than a mainstream one - the SpeechMOS project is the better reference, not a forum search.

Categoryspeech-dataset-toolkit/ai/SpeechMOS

Inputs (2)

NameTypeDefaultDescription
modelSPEECH_MOS
audioAUDIO

Outputs (1)

NameTypeDescription
scoreFLOAT