vocbench-eval
VocBench: A Neural Vocoder Benchmark for Speech Synthesis — AlBadawy et al. (2021) (arXiv:2112.03099, 2021)
What this evaluates
Evaluates the audio synthesis quality, computational efficiency, and speaker generalization of neural vocoders across autoregressive, GAN-based, and diffusion-based architectures. It probes how well models preserve waveform fidelity and spectrogram structure while balancing inference speed and training complexity.
Datasets
- LJ Speech — total 13100; splits: train (13070), val (10), test (20)
- LibriTTS — total ?; splits: train (-1), val (-1), test (-1)
- VCTK — total ?; splits: train (-1), val (-1), test (-1)
Metrics
MOS (primary) — range: [0, 5]
- 5-scale subjective numerical measure of human-judged overall quality after listening to a synthesized sample.
SSIM — range: [0, 1]
- Quantitative metric measuring similarity between synthetic and real spectrograms in the frequency domain.
FAD — range: other
- Distance between two multivariate Gaussians estimated on feature embeddings (background vs evaluation) using a VGG audio classifier.
LS-MSE — range: other
- Mean squared error between ground truth and generated log-mel spectrograms.
PSNR — range: other
- Ratio of peak signal power to noise power in dB, computed in the frequency domain where peak=1 and noise=LS-MSE.
Input / output format
Input: 80-dimensional log-mel spectrogram features extracted from 24 kHz speech signals (40 ms Hanning window, 12.5 ms frame shift, 1024-point FFT, 0-12 kHz cutoffs, log dynamic range compression, min-max normalized).
Output: Synthesized audio waveform (24 kHz sampling rate).
Scoring recipe
def compute_vocbench_metrics(gt_audios, pred_audios):
metrics = {'MOS': [], 'SSIM': [], 'LS-MSE': [], 'PSNR': [], 'FAD': []}
for gt, pred in zip(gt_audios, pred_audios):
gt_spec = extract_log_mel(gt)
pred_spec = extract_log_mel(pred)
metrics['LS-MSE'].append(mse(gt_spec, pred_spec))
metrics['SSIM'].append(ssim(gt_spec, pred_spec))
metrics['PSNR'].append(10 * log10(1.0 / metrics['LS-MSE'][-1]))
metrics['FAD'].append(vgg_embeddings(pred))
metrics['MOS'] = average_human_ratings(gt_audios, pred_audios)
metrics['FAD'] = frechet_distance(metrics['FAD'], bg_embeddings)
return {k: mean(v) for k, v in metrics.items()}
Common pitfalls
- Different vocoders require different input preprocessing (e.g., μ-law compression for WaveNet on LJ/VCTK vs raw waveform for LibriTTS), so failing to standardize inputs breaks fair comparison.
- RTF (Real Time Factor) is excluded for autoregressive models due to extreme slowness, making speed benchmarks incomplete for that architecture class.
- FAD and MOS do not always correlate; a model can achieve the best FAD score but second-best MOS, requiring both to be reported for a complete evaluation.
Evidence (verbatim from paper)
We adopt the following metrics is this study: Mean Opinion Score (MOS) is a subjective numerical measure of the human-judged overall quality after listening to a sample. We use 5-scale MOS to assess the quality for the synthesized speech sample. ... Fréchet Audio Distance (FAD) measures the quality and diversity of the generated samples. ... Log-mel Spectrogram Mean Squared Error (LS-MSE) is computed between the ground truth spectrogram sample and a generated one. ... Peak Signal-to-Noise Ratio (PSNR) is the ratio of the power of a peak signal, which is the magnitude of the best-case output of a signal to the power of the noise at the peak measured in dB. We apply PSNR computation in the frequency domain, where the peak signal of the output is 1 and the distorting noise is represented by LS-MSE.
Citation
@misc{albadawy2021vocbench,
title={VocBench: A Neural Vocoder Benchmark for Speech Synthesis},
author={AlBadawy et al. (2021)},
year={2021},
note={arXiv:2112.03099}
}
1---2name: vocbench-eval3description: Evaluates the audio synthesis quality, computational efficiency, and speaker generalization of neural vocoders across autoregressive, GAN-based, and diffusion-based architectures. It probes how well models preserve waveform fidelity and spectrogram structure while balancing inference speed and training complexity. Use when the user wants to benchmark on LJ Speech, LibriTTS, VCTK, or asks about evaluating this task. Reports MOS.4---56# vocbench-eval78> VocBench: A Neural Vocoder Benchmark for Speech Synthesis — AlBadawy et al. (2021) (arXiv:2112.03099, 2021)910## What this evaluates1112Evaluates the audio synthesis quality, computational efficiency, and speaker generalization of neural vocoders across autoregressive, GAN-based, and diffusion-based architectures. It probes how well models preserve waveform fidelity and spectrogram structure while balancing inference speed and training complexity.1314## Datasets1516- **LJ Speech** — total 13100; splits: train (13070), val (10), test (20)17- **LibriTTS** — total ?; splits: train (-1), val (-1), test (-1)18- **VCTK** — total ?; splits: train (-1), val (-1), test (-1)1920## Metrics2122- `MOS` **(primary)** — range: [0, 5]23 - 5-scale subjective numerical measure of human-judged overall quality after listening to a synthesized sample.24- `SSIM` — range: [0, 1]25 - Quantitative metric measuring similarity between synthetic and real spectrograms in the frequency domain.26- `FAD` — range: other27 - Distance between two multivariate Gaussians estimated on feature embeddings (background vs evaluation) using a VGG audio classifier.28- `LS-MSE` — range: other29 - Mean squared error between ground truth and generated log-mel spectrograms.30- `PSNR` — range: other31 - Ratio of peak signal power to noise power in dB, computed in the frequency domain where peak=1 and noise=LS-MSE.3233## Input / output format3435**Input**: 80-dimensional log-mel spectrogram features extracted from 24 kHz speech signals (40 ms Hanning window, 12.5 ms frame shift, 1024-point FFT, 0-12 kHz cutoffs, log dynamic range compression, min-max normalized).3637**Output**: Synthesized audio waveform (24 kHz sampling rate).3839## Scoring recipe4041```python42def compute_vocbench_metrics(gt_audios, pred_audios):43 metrics = {'MOS': [], 'SSIM': [], 'LS-MSE': [], 'PSNR': [], 'FAD': []}44 for gt, pred in zip(gt_audios, pred_audios):45 gt_spec = extract_log_mel(gt)46 pred_spec = extract_log_mel(pred)47 metrics['LS-MSE'].append(mse(gt_spec, pred_spec))48 metrics['SSIM'].append(ssim(gt_spec, pred_spec))49 metrics['PSNR'].append(10 * log10(1.0 / metrics['LS-MSE'][-1]))50 metrics['FAD'].append(vgg_embeddings(pred))51 metrics['MOS'] = average_human_ratings(gt_audios, pred_audios)52 metrics['FAD'] = frechet_distance(metrics['FAD'], bg_embeddings)53 return {k: mean(v) for k, v in metrics.items()}54```5556## Common pitfalls5758- Different vocoders require different input preprocessing (e.g., μ-law compression for WaveNet on LJ/VCTK vs raw waveform for LibriTTS), so failing to standardize inputs breaks fair comparison.59- RTF (Real Time Factor) is excluded for autoregressive models due to extreme slowness, making speed benchmarks incomplete for that architecture class.60- FAD and MOS do not always correlate; a model can achieve the best FAD score but second-best MOS, requiring both to be reported for a complete evaluation.6162## Evidence (verbatim from paper)6364> We adopt the following metrics is this study: Mean Opinion Score (MOS) is a subjective numerical measure of the human-judged overall quality after listening to a sample. We use 5-scale MOS to assess the quality for the synthesized speech sample. ... Fréchet Audio Distance (FAD) measures the quality and diversity of the generated samples. ... Log-mel Spectrogram Mean Squared Error (LS-MSE) is computed between the ground truth spectrogram sample and a generated one. ... Peak Signal-to-Noise Ratio (PSNR) is the ratio of the power of a peak signal, which is the magnitude of the best-case output of a signal to the power of the noise at the peak measured in dB. We apply PSNR computation in the frequency domain, where the peak signal of the output is 1 and the distorting noise is represented by LS-MSE.6566## Citation6768```bibtex69@misc{albadawy2021vocbench,70 title={VocBench: A Neural Vocoder Benchmark for Speech Synthesis},71 author={AlBadawy et al. (2021)},72 year={2021},73 note={arXiv:2112.03099}74}75```7677- arXiv: 2112.03099