My speech-flaw detector flagged 41 false alarms a minute. One line of math fixed it.
说明与用途
Podium 语音缺陷检测器最初在不同说话者的干净录音中每分钟产生 41 次误报。通过将风格与缺陷分离并添加语音间隙特征,误报降至每分钟 3 次,F1 提升至 0.51。
问题
A speech‑flaw detector flagged 41 false alarms per minute on a clean recording from a different speaker.
结果
False alarms on clean different‑speaker recordings reduced from 41/min to 3/min; F1 on held‑out set reached 0.51 with mean IoU 0.81.
工作流
- 1. Force‑align both recordings to the same transcript using torchaudio’s MMS_FA.
- 2. Compute speaker‑normalised features (pitch, loudness, articulation rate, pause, voiced‑gap, high‑frequency energy).
- 3. Build a labelled dataset by injecting synthetic flaws into recordings and preserving exact timestamps.
- 4. Score each word with two robust z‑scores: deviation from reference (z_ref) and deviation from the user’s own style (z_self).
- 5. Define flaw as the soft AND of z_ref and z_self.
- 6. Add a voiced‑gap feature to distinguish stutters from pauses.
- 7. Tune thresholds on JFK, freeze, and test on Reagan and an unseen voice.
证据
Version 1 scored each word by how far it departed from the reference, as a robust z‑score (median/MAD) after removing your overall offset.
False alarms on clean different‑speaker recordings went from 41/min to 3/min.
I built Podium, a tool that compares your reading of a speech with a great delivery of the same text (JFK, Reagan) and tells you exactly where you drift and why.
I also had the same texts read by open Piper TTS voices, with flaws injected into those too. That's the "different speaker" test.
- 记录日期: 2026-10-06T21:40:59.815Z