TTS数据清洗:四条流水线,四种脏活
VAD、说话人分离、ASR只是入口。Bella Chai 把 Fish Audio S2、Emilia-Pipe、CosyVoice 3 和 NeMo Curator 的清洗流程摊开,音频来源不同,检查重点也完全不同。
四条TTS数据清洗流水线摆在一起,差别比名字大。Bella Chai 在推文里拆了 Fish Audio S2、Emilia-Pipe、CosyVoice 3 和 NeMo Curator。VAD负责切出人声,diarization分说话人,ASR把语音转成文本,这三件事像入场券。音频从哪来,决定了后面还要补哪些检查。
Fish Audio S2 处理的是带背景音乐和噪音的音频。语音分离把人和背景分开,不代表音频就干净。它在分离和VAD分段之后加了自己的语音质量模型 SQM,专门抓残留音乐、重叠人声和低质量片段。最后转录不只给文本,还带说话人身份和语气标签。训练数据要的不只是字对得上,声音本身也得能用。
Emilia-Pipe 面对的是网页上捞来的杂音频。流程先标准化成24 kHz单声道,做UV人声分离,再用pyanote分说话人、Silero VAD切段,Whisper转录。接着查DNSMOS、语言置信度,还看平均字符和电话时长的比例。这个比例检查有点意思,能捞出录音听着还行、转录却可疑的片段。网页数据脏,很多问题不在噪音,在文本和音频对不上。
CosyVoice 3 的重点在多语言数据。多语言场景容易栽在转写和标点上。它用多个ASR模型交叉检查转录,再用MFA按实际停顿对齐标点。标点跟着停顿走,不跟着文本习惯走。它还会过滤大的不一致性,最后看音量和词长比。同一个句子不同模型能给出不同文本,交叉检查是省不掉的活。
NeMo Curator 处理大型混合集合。先归一化和VAD,做第一轮质量检查,带宽、UTMS、SIGMOS阈值都可配置。然后按说话者分组,用串联和SortFormer,再对每个说话者复查VAD、带宽和质量。一个人声音清楚,另一个人可能又远又吵,整段统一过滤会误伤。它把检查拆到说话者级别,导出片段时映射原始时间戳,最后接ASR和文本校验。
四张图看下来,TTS数据清洗没有一套通用模板。Fish Audio S2 补质量模型,Emilia-Pipe 查文本音频比例,CosyVoice 3 做多ASR交叉和停顿标点,NeMo Curator 把质量检查按说话者重复一遍。它们都在回答同一个问题:这批音频里,哪些片段真的能拿去训练。音频来源不同,答案就不同。把VAD、diarization、ASR当全部,后面多半还得返工。
发布时间: 2026-10-26 21:40