得益于大规模语音合成 (TTS) 模型的发展和训练数据规模的扩大, 当下的TTS 系统取得了令人瞩目的表现。其中,获取到大规模的训练数据集是训练良好效果模型的前提。然而,当前 TTS 系统所用的现有大规模开源数据集大都是英文或是多语种的,相比之下中文 TTS 领域明显缺乏相对广泛的开源数据集,这对大规模中文 TTS模型的研究构成了阻碍。
近期,西工大音频语音与语言处理研究组(ASLP@NPU)和深圳大数据研究院、香港中文大学、WeNet开源社区、上海彼格镁隆技术有限公司合作论文“WenetSpeech4TTS: A 12800-hour Mandarin TTS Corpus for Large Speech Generation Model Benchmark”被语音研究顶级会议INTERSPEECH2024接收。该论文发布12800 小时的中文 TTS 数据集 WenetSpeech4TTS,对先前发布的WenetSpeech数据集进行了精细化处理,使其更适合语音生成任务,并根据语音质量等级划分了不同规模的子集。在这些子集上训练和微调了 VALL-E、NaturalSpeech 2模型以验证数据集的可用性,同时为 TTS 系统的公平对比建立基准。目前数据集和相关模型已在 HuggingFace、ModelScope 平台开放,即下即用。现对该论文进行简要的解读和分享。
合作单位:深圳大数据研究院、香港中文大学、WeNet开源社区、上海彼格镁隆技术有限公司
HuggingFace下载网址:https://huggingface.co/Wenetspeech4TTS
ModelScope下载网址:https://modelscope.cn/datasets/dukguo/WenetSpeech4TTS
合成样例:https://wenetspeech4tts.github.io/wenetspeech4tts/
发表论文截图
扫码直接看论文
背景动机
最近,基于大语言模型或扩散模型的 TTS 系统取得了卓越的表现,除了模型强大的建模能力外,这些成就主要归功于训练数据规模的扩大。例如,VALL-E[1] 和 NaturalSpeech 2[2] 系统分布使用了 60000 和 44000 小时规模的语音数据。然而目前现有的大规模开源数据集都是英文或多语种的,相比之下,构建中文 TTS模型缺乏相对大规模的数据集。据我们所知,当前用于 TTS 任务最大规模的中文开源语音数据集是 DIDISPEECH[3],其中包含近800小时的朗读式语音。由于其数据规模小且不具备多样性,不足以训练大型 TTS 模型。此外,当前缺乏公平对比大型中文 TTS 模型的公开基准,这对研究社区的发展形成了一定的阻碍。
据我们所知,WenetSpeech[4] 是目前最大的广泛使用的开源中文语音识别数据集(见下推文),包含从 YouTube 和 Podcast 收集的 12483 小时转录普通话语音,覆盖大量说话人和广泛的领域如有声读物、访谈、新闻等。在被直接应用于 TTS 任务时,该数据集具有一定的局限性,最明显的是,这些直接来源于 YouTube 和 Podcast 的语音数据包含各种噪声。这种复杂的声学环境可能有利于构建鲁棒的 ASR 系统,但并不适用于构建理想的 TTS 系统。其次,其中 YouTube 视频数据的分段是由 OCR 系统完成的,而在原视频字幕中同一句话通常被分为几段出现在不同帧中。尽管在 OCR 分段时已经尽量合并短语,但仍导致同一句话被分割成多个语音片段,其中许多片段太短且语义不完整。此外,专为 ASR 任务设计的 WenetSpeech 无法确保每一片段内都只有单个说话人。另外,原始视频数据的语音和字幕在时间上并不完全同步,导致 OCR 系统检测到的字幕边界不完全准确,进而很多片段开头或结尾处字发音被截断。
全球最大多领域中文语音识别数据集 WenetSpeech 正式发布并开放下载
为了解决 WenetSpeech 中的上述问题,我们设计了一个包含多个处理步骤的管线,以使得片段时长更加合理、增强语音质量、确保说话人的单一性等。由此改进产生 WenetSpeech4TTS数据集,一个专为 TTS 模型训练定制的包含 12800 小时语音的数据集。根据语音质量的不同等级,WenetSpeech4TTS 划分了几个子集,其中的 Basic、Standard、Premium 分别包含了 7226、4056、945 小时的有效数据。
为了验证数据集的可用性,我们在不同的子集上训练和微调了 VALL-E 和 NaturalSpeech 2 系统。主观和客观评估表明 WenetSpeech4TTS 对于训练大型 TTS 模型是有效的,且更高质量的子集会获得更好的性能。目前数据集和模型权重均已开放下载。
处理管线
相邻片段合并与边界扩展
图1 相邻片段合并过程演示
语音增强
图3 降噪前后语音的 DNSMOS P.808 分数分布
去噪后:
多说话人检测
包含多个说话人的语音片段不能直接用于 TTS 模型训练,为此,我们采用基于聚类的说话人日志过程进行检测。每个片段以1.5秒的窗长和0.75秒的窗移进一步分窗以计算说话人表征,随后用标准谱聚类算法获得聚类中心和簇分配。每个簇里与中心距离最远的10%的表征标记为离群表征,两簇的中心的余弦相似度大于0.75则合为一簇。最终,来自同一片段的所有表征,若被分配到不同的簇,或者超过一半的表征被标记为离群,则该片段被视为包含多个说话人。
语音识别
我们使用开源的Paraformer-large[8] 系统识别新的语音片段得到转录文本,同时我们计算出识别时的后验概率作为置信度。该模型在 WenetSpeech “Test_Net” 集合上的字错误率为6.74%。
质量过滤
上述步骤完成后,我们丢弃包含多说话人或是转录置信度低于0.7的片段,而后得到规模为 12800 小时的WenetSpeech4TTS 数据集。由于原始WenetSpeech数据集不包含的一些语音间隔(静音)也被合并在内,因此数据时长规模反而增大。
WenetSpeech4TTS 数据集
图4 数据集语音质量分布图。横轴为 P.808分数,纵轴为该分段数据的总时长
图5 WenetSpeech (a) 和 WenetSpeech4TTS Basic 子集 (b) 中片段的长度分布
WenetSpeech4TTS 测试集包含 150 句测试文本和 26 个目标说话人,其中10个集内说话人,16 个集外说话人,男女人数相等。集外说话人中有6个来自 WenetSpeech “Test_Net” 测试集,5个来自开源数据集 Aishell3,5 个是我们收集的说话人语音。
实验
为了验证 WenetSpeech4TTS 数据集的可用性并为大规模 TTS 模型建立公平对比基准,我们在 Basic 子集上训练了两个代表性的大型 TTS 系统 VALL-E 和 NaturalSpeech 2,并在此基础上依次用质量更高的 Standard 和 Premium 子集进行微调。
实验配置
VALL-E 的自回归和非自回归模型都是12层的 Transformer 结构,每层16个注意力头,注意力维度为1024,前馈层维度为4096。为了获得更好的音质,我们采用 AudioDec[9] 而非 Encodec[10] 作为声学编解码器,其中所有音频均被重采样到24kHz。
NaturalSpeech 2 的模型配置遵循 Amphion[11] 工具包中的默认配置(声学编解码器是 Encodec),我们从Basic子集中随机采样了 2000 小时的数据利用Kaldi[12] 工具包训练ASR模型,然后以此得到所有数据的外部时长对齐信息用于 NaturalSpeech 2 的训练。
客观测试
主观测试
随着数据质量的提高,自然度 NMOS 分数普遍呈上升趋势,总体而言VALL-E生成语音的自然度要优于NaturalSpeech 2。我们将其归因于使用自动转录抄本的外部时长对齐模型造成的错误累积。NaturalSpeech 2的说话人相似度SMOS得分低于VALL-E,我们推测这是因为Encodec生成的语音质量比AudioDec差,影响了测听人员对说话人音色的感知。
样例展示
客观与主观评估已经证明了 WenetSpeech4TTS 数据集的可用性。下面展示一些合成样例。
集外说话人原始录音(Prompt):
VALL-E “Basic” 结果:
VALL-E “Standard, FT” 结果:
VALL-E “Premium, FT” 结果:
参考文献
[1] C. Wang, S. Chen, Y. Wu, Z. Zhang, L. Zhou, S. Liu, Z. Chen, Y. Liu, H. Wang, J. Li, L. He, S. Zhao, and F. Wei, “Neural codec language models are zero-shot text to speech synthesizers,” CoRR, vol. abs/2301.02111, 2023.
[2] K. Shen, Z. Ju, X. Tan, E. Liu, Y. Leng, L. He, T. Qin, sheng zhao, and J. Bian, “Naturalspeech 2: Latent diffusion models are natural and zero-shot speech and singing synthesizers,” in ICLR, 2024.
[3] T. Guo, C. Wen, D. Jiang, N. Luo, R. Zhang, S. Zhao, W. Li, C. Gong, W. Zou, K. Han et al., “Didispeech: A large scale mandarin speech corpus,” in ICASSP, 2021.
[4] B. Zhang, H. Lv, P. Guo, Q. Shao, C. Yang, L. Xie, X. Xu, H. Bu, X. Chen, C. Zeng et al., “Wenetspeech: A 10000+ hours multidomain mandarin corpus for speech recognition,” in ICASSP, 2022.
[5] https://github.com/resemble-ai/Resemblyzer
[6] W. Xu, Z. Chen, Z. Tan, S. Lv, R. Han, W. Zhou, W. Zhao, and L. Xie, “MBTFNET: multi-band temporal-frequency neural network for singing voice enhancement,” in ASRU, 2023.
[7] C. K. Reddy, V. Gopal, and R. Cutler, “Dnsmos: A non-intrusive perceptual objective speech quality metric to evaluate noise suppressors,” in ICASSP 2021.
[8] Z. Gao, S. Zhang, I. McLoughlin, and Z. Yan, “Paraformer: Fast and accurate parallel transformer for non-autoregressive end-to-end speech recognition,” in INTERSPEECH, 2022.
[9] Y.-C. Wu, I. D. Gebru, D. Markovi ́ c, and A. Richard, “AudioDec: An open-source streaming high-fidelity neural audio codec,” in ICASSP, 2023.
[10] A. D ́ efossez, J. Copet, G. Synnaeve, and Y. Adi, “High fidelity neural audio compression,” Transactions on Machine Learning Research, 2023.
[11] X. Zhang, L. Xue, Y. Gu, Y. Wang, H. He, C. Wang, X. Chen, Z. Fang, H. Chen, J. Zhang, T. Y. Tang, L. Zou, M. Wang, J. Han, K. Chen, H. Li, and Z. Wu, “Amphion: An open-source audio, music and speech generation toolkit,” arXiv, vol. abs/2312.09911, 2024.
[12] https://github.com/kaldi-asr/kaldi
欢迎关注ASLP实验室微信公众号,获取更多语音研究相关资讯!
“打造最开放、最前沿、最落地的人工智能实验室”