arXiv 2610.10899 · 2026

How Hackable Is Your Speech Quality Metric?

A Corrected Protocol, a Benchmark, and What Patching Buys

Ali Alavi · Donald S. Williamson Department of Computer Science and Engineering, The Ohio State University

Speech quality predictors such as NISQA, DNSMOS and UTMOS are now used as training rewards, so it matters how much score an optimiser can extract without improving the audio. We fix two flaws in how that is measured, benchmark four widely used predictors under one protocol, and audit whether patching a predictor on its own hacks makes it a safer reward.

Utterances hacked by the same attacker

One black-box attacker per predictor in the EnCodec latent space, perturbation size ε = 0.5, 500 BVCC test utterances, five attackers each. A hack raises the score more than τ = 0.3 MOS above the codec round trip while an independent panel says the audio got worse.

NISQA 89.6% NISQA: hacked on 89.6% of utterances (mean of 5 attackers), 87.6% to 91.6% across attackers; 83.9% under the naive reference. Mean gain +0.954 MOS; codec round-trip offset +0.14 MOS.
SSL-MOS 20.5% SSL-MOS: hacked on 20.5% of utterances (mean of 5 attackers), 13.6% to 25.2% across attackers; 17.0% under the naive reference. Mean gain +0.191 MOS; codec round-trip offset −0.10 MOS.
DNSMOS OVRL 13.6% DNSMOS OVRL: hacked on 13.6% of utterances (mean of 5 attackers), 6.4% to 20.0% across attackers; 18.3% under the naive reference. Mean gain +0.124 MOS; codec round-trip offset +0.02 MOS.
UTMOS22 5.7% UTMOS22: hacked on 5.7% of utterances (mean of 5 attackers), 4.2% to 7.6% across attackers; 9.4% under the naive reference. Mean gain +0.144 MOS; codec round-trip offset −0.07 MOS.
mean of five attackers, corrected reference range across the five mean, naive reference

Abstract

Speech quality predictors are increasingly used as rewards, yet no agreed measure of their hackability exists. The usual measurement has two flaws. First, the perturbation reaches the predictor through a processing chain (here a neural codec) that shifts the score on its own, which scoring against the raw input charges to the attack. Referencing the unperturbed round trip instead changes measured hackability by up to a factor of four (0.31 to 0.08 for one defence). Second, one trained attacker is a sample, not a measurement: five attackers differing only in random seed reach success rates from 0.00 to 0.38 against one fixed predictor, so a defence claim needs the worst case over several. Under this protocol, four published predictors differ widely: NISQA is hacked on 90% of utterances, SSL-MOS on 21%, DNSMOS on 14% and UTMOS on 6%. We then audit a closed attack–detect–patch loop. It hardens the predictor only in its own attack space, by less than the spread between attackers; a random-perturbation baseline matches it; and it costs up to 0.30 system SRCC out of domain. Enhancers post-trained against patched predictors hack them far less (PESQ −0.03 versus −0.23). Code, preregistration and run outputs are released.

Two corrections to the usual measurement

Attacks on quality predictors are usually scored by comparing the attacked audio with the original recording, and reported for one trained attacker. Both choices change the answer.

Reference the codec round trip

Naive R(y) − R(x) > τ
Corrected R(y) − R(x̂) > τ

The perturbation reaches the predictor through a neural codec, and the codec moves the score on its own: by −0.10 MOS for SSL-MOS, −0.07 for UTMOS, +0.02 for DNSMOS and +0.14 for NISQA, and by up to +0.95 for a patched predictor. Scoring against the raw input x charges that offset to the attack. Scoring against the zero-perturbation round trip x̂ moves the multi-space defence from apparently catastrophic (0.306) to among the most robust (0.082).

Report the worst of several attackers

An attacker is itself a trained model. Five attackers that differ only in random seed reach success rates from 0.000 to 0.261 against the undefended predictor R0 and from 0.000 to 0.382 against the patched R3, a spread as large as every defence effect we measure.

Between predictors the spread is small relative to the differences (NISQA 0.876–0.916 against UTMOS 0.042–0.076), so the benchmark ranking holds where defence comparisons do not. We report the worst of five attackers.

Attacker, detector and patch loop

A policy trained with group relative policy optimisation (GRPO) adds one offset to the codec latents of each utterance, rescaled to a fixed size ε. It sees only the predictor's scores, so any predictor can be a target. An output counts as a hack only if its score rises and at least one independent measure (ESTOI, SI-SDR, SpeechBERTScore or the Whisper word error rate) says it got worse. No human labels are used. Each hack becomes a preference pair x̂ ≻ y, and the predictor is fine-tuned on its regression loss plus a margin ranking loss over every hack found so far.

Diagram of the loop. Clean speech x is encoded by a codec; a GRPO policy adds a perturbation delta of size epsilon to the latent z; the codec decoder produces the attacked output y. A dashed path with delta equal to zero gives the round trip x-hat. The predictor R_{k-1} scores y and returns the reward to the policy. A detector flags a hack when the score gain exceeds tau and one of ESTOI, SI-SDR, WER or SpeechBERTScore is worse than for x-hat; flagged outputs become pairs x-hat preferred over y, which patch the predictor into R_k for the next round.

Fig. 1. The attack–detect–patch loop. A GRPO policy perturbs codec latents at a fixed size; an output is flagged only if its score rises above that of the zero-perturbation round trip x̂ (dashed) and an independent panel degrades relative to x̂. Flagged pairs patch the predictor; the next round retrains the attacker.

Listen to the attacks

Each attacked clip is paired with the reference its score is measured from: the codec round trip for latent attacks, the clean input for waveform PGD. Switch between the two while a clip plays to hear what the attack changed; most perturbations are small, so headphones help. A clip counts as hacked when the attacked predictor scores it more than τ = 0.3 above the reference and at least one panel measure says it got worse.

The clips are not from the paper’s test set, because BVCC may not be redistributed. The released attackers, trained on BVCC, are applied unchanged to VoiceBank-DEMAND test speech, and every score is computed on the exact file you hear.

Unchanged

Clean recording

the unchanged input

  • NISQA3.527
  • SSL-MOS4.219
  • DNSMOS OVRL3.364
  • UTMOS224.294

EnCodec round trip

encoded and decoded, no perturbation

  • NISQA4.865
  • SSL-MOS4.031
  • DNSMOS OVRL3.309
  • UTMOS224.024

DAC round trip

encoded and decoded, no perturbation

  • NISQA4.836
  • SSL-MOS4.062
  • DNSMOS OVRL3.394
  • UTMOS224.230

One kind of attack, four predictors

Each predictor is attacked by its own black-box policy in EnCodec latents (ε = 0.5), which sees only that predictor’s scores. Each card shows the attacked predictor’s score. On this clean read speech the rates are lower than Table I’s on BVCC, with the predictors in the same order.

NISQA

Not hacked

the strongest of its five attackers in Table I

NISQA score4.865→5.162+0.297

Score rises 0.297 over the EnCodec round trip, less than τ = 0.3. Measured from the clean input instead: +1.635.

Panel measures and files
vs. cleanround tripattacked
ESTOI0.9620.935 (worse)
SI-SDR9.0 dB7.9 dB (worse)
WER0%0%
SBS0.9480.866 (worse)

Measured against the clean input. Red: worse than the reference by more than the panel’s margin.

attacked.wav · rt_encodec.wav

Hacks 76% of all 824 test utterances

SSL-MOS

Not hacked

the strongest of its five attackers in Table I

SSL-MOS score4.031→4.188+0.157

Score rises 0.157 over the EnCodec round trip, less than τ = 0.3. Measured from the clean input instead: −0.031.

Panel measures and files
vs. cleanround tripattacked
ESTOI0.9620.945
SI-SDR9.0 dB8.6 dB
WER0%0%
SBS0.9480.891 (worse)

Measured against the clean input. Red: worse than the reference by more than the panel’s margin.

attacked.wav · rt_encodec.wav

Hacks 4% of all 824 test utterances

DNSMOS OVRL

Not hacked

the strongest of its five attackers in Table I

DNSMOS OVRL score3.309→3.364+0.055

Score rises 0.055 over the EnCodec round trip, less than τ = 0.3. Measured from the clean input instead: +0.000.

Panel measures and files
vs. cleanround tripattacked
ESTOI0.9620.944
SI-SDR9.0 dB6.7 dB (worse)
WER0%0%
SBS0.9480.889 (worse)

Measured against the clean input. Red: worse than the reference by more than the panel’s margin.

attacked.wav · rt_encodec.wav

Hacks 1% of all 824 test utterances

UTMOS22

Not hacked

the strongest of its five attackers in Table I

UTMOS22 score4.024→4.006−0.018

Score falls 0.018 below the EnCodec round trip. Measured from the clean input instead: −0.288.

Panel measures and files
vs. cleanround tripattacked
ESTOI0.9620.952
SI-SDR9.0 dB8.9 dB
WER0%0%
SBS0.9480.929

Measured against the clean input. Red: worse than the reference by more than the panel’s margin.

attacked.wav · rt_encodec.wav

Hacks 0% of all 824 test utterances

Other attacks on SSL-MOS

DAC latents

Not hacked

black-box policy in DAC latents, ε = 0.5, trained against SSL-MOS

SSL-MOS score4.062→3.984−0.078

Score falls 0.078 below the DAC round trip. Measured from the clean input instead: −0.235.

Panel measures and files
vs. cleanround tripattacked
ESTOI0.9540.951
SI-SDR−11.1 dB−11.8 dB
WER0%0%
SBS0.9740.970

Measured against the clean input. Red: worse than the reference by more than the panel’s margin.

attacked.wav · rt_dac.wav

Hacks 0% of all 824 test utterances

Waveform PGD

Hacked

white-box: follows SSL-MOS’s gradient for 50 steps, every sample moved by at most 0.002

SSL-MOS score4.219→4.812+0.593

Score rises 0.593 over the clean input, more than τ = 0.3, and the audio got worse by ESTOI, SI-SDR and SpeechBERTScore.

Panel measures and files
vs. cleancleanattacked
ESTOI—0.978 (worse)
SI-SDR—30.4 dB (worse)
WER—0%
SBS—0.855 (worse)

Measured against the clean input. Red: worse than the reference by more than the panel’s margin.

attacked.wav · clean.wav

Hacks 96% of all 824 test utterances

Random latent direction

Not hacked

no learning: a random EnCodec-latent offset of the same size (ε = 0.5), scored by SSL-MOS

SSL-MOS score4.031→3.875−0.156

Score falls 0.156 below the EnCodec round trip. Measured from the clean input instead: −0.344.

Panel measures and files
vs. cleanround tripattacked
ESTOI0.9620.924 (worse)
SI-SDR9.0 dB7.2 dB (worse)
WER0%0%
SBS0.9480.915 (worse)

Measured against the clean input. Red: worse than the reference by more than the panel’s margin.

attacked.wav · rt_encodec.wav

Hacks 0% of all 824 test utterances

Audio: VoiceBank-DEMAND clean test set, speakers p232 and p257, 16 kHz, by Cassia Valentini-Botinhao, University of Edinburgh (clean speech from VCTK) (source, CC BY 4.0); the attacked and decoded clips derived from it are shared under the same licence. Rates are over all 824 test utterances. The examples, 2.5 to 5 s long, are one per speaker drawn at random plus the utterance with the largest score gain among those the SSL-MOS attack hacks.

Common predictors differ by more than an order of magnitude

At one perturbation size NISQA is hacked on 89.6% of utterances for a mean gain of +0.954 MOS, SSL-MOS on 20.5%, DNSMOS OVRL on 13.6% and UTMOS on 5.7%. NISQA and DNSMOS are routinely used as reinforcement-learning rewards, so the choice of reward is a first-order robustness decision, and the ranking is not predictable from in-domain accuracy.

Predictoroffsetmean ASRworst ASRmean gain
SSL-MOS (BVCC)−0.100.2050.252+0.191
UTMOS22−0.070.0570.076+0.144
NISQA+0.140.8960.916+0.954
DNSMOS OVRL+0.020.1360.200+0.124

Table I. Hackability of common predictors at one size (ε = 0.5, EnCodec latents), five independently trained attackers each, 500 BVCC-test utterances; “worst” is the largest of the five. Offset is the codec round trip's own score change, R(x̂) − R(x), in MOS.

What patching buys

We start from SSL-MOS trained on BVCC (R0) and run three rounds of the loop (R1 to R3), a multi-space variant that also attacks DAC latents and the waveform, and three baselines that patch on noise, waveform-PGD or random latent pairs with the same loss and step budget.

offsetASR by attack spacehuman agreement
PredictorR(x̂) − R(x)EnCodecDACPGDBVCCOOD
R0 (no defense)−0.09±0.020.226±0.2050.065±0.1130.999±0.0020.922±0.0040.731±0.006
R1−0.06±0.030.050±0.0480.161±0.0331.000±0.0010.911±0.0090.690±0.014
R20.00±0.070.017±0.0060.141±0.0251.000±0.0000.918±0.0030.682±0.008
R3 (EnCodec loop)−0.27±0.250.137±0.1790.127±0.0311.000±0.0000.920±0.0010.637±0.046
R3multi (multi-space)0.95±0.160.082±0.1070.016±0.0260.841±0.0890.914±0.0030.552±0.015
noise pairs−0.09±0.010.270±0.1070.230±0.0281.000±0.0000.917±0.0040.722±0.013
PGD pairs−0.08±0.020.223±0.0570.225±0.0440.969±0.0250.909±0.0010.635±0.009
random-latent pairs−0.03±0.030.019±0.0160.200±0.0531.000±0.0000.922±0.0040.696±0.010

Table II. Auditing the loop. Corrected-reference attack success rate per attack space (fresh attacker, BVCC test) and agreement with human MOS (BVCC system SRCC; out-of-domain mean over 12 sets), mean ± sd over 3 seeds.

Two panels. (a) Bar chart of attack success rate for SSL-MOS, UTMOS22, NISQA and DNSMOS under the naive and corrected references, with error bars over five attackers; NISQA is near 0.9 and the others below 0.25. (b) Line chart of in-loop attack success rate against patch round 1 to 3: the EnCodec loop falls toward zero, multi-space DAC and PGD attacks fall, and the multi-space EnCodec attacker stays flat.

Fig. 2. (a) Benchmark of four common predictors at one perturbation size under the naive (x) and corrected (x̂) ceiling references; error bars span the five attackers, and the reference moves DNSMOS and NISQA in opposite directions. (b) In-loop attack success rate (BVCC train, corrected reference) of the round-k attacker against the predictor patched in round k − 1, one line per seed.

Downstream, patched predictors are safer rewards

A small speech enhancer, pre-trained on VoiceBank-DEMAND, is post-trained with GRPO using one predictor's score as its only reward. Against R0 it shows the textbook hack: the reward rises by +0.263 while PESQ falls by 0.226, ESTOI by 0.057 and SI-SDR by 6.1 dB. Against R3 the reward rises as much (+0.269) with PESQ intact (−0.034), and the random-pair baseline again matches it.

MeasureR0R3random-latent pairs
Δ own reward0.263±0.0100.269±0.0280.334±0.051
ΔPESQ−0.226±0.170−0.034±0.1260.019±0.050
ΔESTOI−0.057±0.010−0.038±0.013−0.043±0.006
ΔSI-SDR (dB)−6.1±1.4−5.8±1.4−5.7±0.6
ΔDNSMOS−0.075±0.031−0.076±0.056−0.075±0.043
ΔNISQA0.335±0.1860.300±0.0720.468±0.059
ΔUTMOS0.018±0.0060.057±0.0300.076±0.011

Table III. Downstream GRPO enhancement. Change against the supervised pre-trained enhancer on VoiceBank-DEMAND test, per reward predictor. Mean ± sd over 3 seeds.

Limitations

Reproduce every number

The release holds every checkpoint behind the paper (195 files, 19.3 GB: predictors, every patch round, all attackers and enhancers), the exact configuration of each run, the per-run outputs and the preregistration. Each table, figure and result has its own notebook. A notebook either re-runs the evaluation from the released checkpoints on a GPU, or aggregates the released run outputs on a CPU in seconds, and then compares its numbers with the paper's.

# environment (Python 3.11)
git clone https://github.com/saliAlavi/audio_assessment_hackability
cd audio_assessment_hackability
pip install -r requirements.txt
pip install --no-deps -r requirements-nodeps.txt
export SCRATCH_DIR=/path/with/space   # checkpoints, caches, runs
source scripts/env.sh

# every number in the paper from the released outputs (CPU)
NB_SOURCE=released jupyter nbconvert --to notebook --execute \
  notebooks/results/paper_numbers.ipynb

# or re-run the evaluations from checkpoints (77 jobs, ~17 A100-hours)
NB_SOURCE=recompute NB_RUN=local jupyter nbconvert --to notebook \
  --execute notebooks/results/paper_numbers.ipynb
In the paperNotebook
Table Itables/table1_benchmark
Table IItables/table2_loop_audit
Table IIItables/table3_downstream
Fig. 2figures/fig2_results
Sec. V resultsresults/, one per claim
Every modeltraining/, 01–13
All 1902 numbersresults/paper_numbers

Citation

@misc{alavi2026hackable,
  title         = {How Hackable Is Your Speech Quality Metric? A Corrected Protocol,
                   a Benchmark, and What Patching Buys},
  author        = {Alavi, Ali and Williamson, Donald S.},
  year          = {2026},
  eprint        = {2610.10899},
  archivePrefix = {arXiv},
  primaryClass  = {cs.LG},
  url           = {https://arxiv.org/abs/2610.10899}
}