WenetSpeech-Yue:大规模多维度标注粤语语音数据集与技术实践
概述:为什么我们需要高质量的粤语语音数据集?
粤语是全球超过 8490 万人的母语,广泛使用于粤港澳及海外华人社区。然而,长期以来,粤语语音处理面临资源稀缺、标注质量不高、领域覆盖有限等问题,严重制约了语音识别(ASR)与语音合成(TTS)技术的发展。现有的粤语数据集如 Common Voice 和 MDCC,虽然在推动基础研究方面发挥了作用,但其规模较小、缺乏多维度标注,难以支撑当前数据驱动的语音模型训练需求。
WenetSpeech-Yue 的推出正是为了系统性地解决这一问题。该数据集包含 21,800 小时的语音音频,覆盖故事、娱乐、戏剧、文化、博客、评论、教育、播客、新闻等多个领域,并提供了语音转写文本、说话人身份、年龄、性别、信噪比、语音质量分数等多维度标注信息。此外,依托 WenetSpeech-Pipe 数据处理流水线,该数据集在自动标注一致性、质量控制和多系统融合方面实现了显著提升。
本文将全面介绍 WenetSpeech-Yue 数据集的结构、特点与其背后的数据处理流水线 WenetSpeech-Pipe,展示其在 ASR 和 TTS 任务中的实际效果,并分享我们在构建大规模语音数据集过程中遇到的挑战与思考。
WenetSpeech-Pipe:多维度语音数据处理流水线
音频采集与预处理
WenetSpeech-Pipe 的第一步是从多样化的真实场景中收集语音数据,涵盖故事讲述、戏剧、评论、日常生活、娱乐、新闻和教育等十多个领域。原始音频往往是长时录制,需经过语音活动检测(VAD)模块进行切分,生成片段级语音数据,以适应后续转录和质量评估任务。
图片来源:WenetSpeech-Yue 官方仓库
说话人属性标注
为支持多说话人建模和风格可控的语音合成,WenetSpeech-Pipe 使用 pyannote 工具进行说话人日志分析,识别同一音频中不同说话人段落,并为每个段落估计年龄和性别属性。这一步骤不仅增强了数据的元信息,也为语音合成中的风格控制提供了基础。
语音质量评估
高质量的语音生成任务(如 TTS 和语音转换)需依托清晰的语音数据。WenetSpeech-Pipe 引入了三种互补的质量评估方法:
-
使用 Brouhaha 估计信噪比(SNR); -
利用 DNSMOS 预测语音的平均意见分(MOS); -
通过带宽检测分析频谱覆盖范围。
只有 DNSMOS > 2.5 且 SNR > 25dB 的语音片段才会被保留用于 TTS 任务,总计筛选出 12,000 小时的高质量语音。
多系统语音识别与文本后处理
为提升转写准确性,WenetSpeech-Pipe 采用三种领先的粤语 ASR 系统——SenseVoice、Whisper 和 TeleASR——对同一段语音进行独立转写。由于各系统输出格式不一(如繁简中文、标点、数字读法差异),我们设计了统一的文本后处理模块,包括:
-
标点符号去除; -
繁体转简体; -
数字与日期标准化; -
中英文之间插入空格。
这些步骤显著提升了多系统输出之间的一致性,为后续投票融合奠定基础。
识别结果投票与LLM修正
尽管经过文本后处理,各系统的转写结果在用词、分段和语音表示上仍存在差异。WenetSpeech-Pipe 采用 ROVER 投票机制,在字符和发音级别进行多系统结果融合,并计算每条语音的转写置信度。
为进一步提升准确性,我们还使用 Qwen3-4B 大语言模型对投票结果进行上下文感知的微调修正,优化语法、用词和命名实体等内容。
LLM 辅助转写修正流程示意图
WenetSpeech-Yue 数据集详解
元数据结构
数据集的全部元数据以一个 JSON 文件统一管理,包括音频路径、时长、转写置信度、说话人身份、SNR、DNSMOS、年龄、性别以及字级时间戳等字段。该结构具有良好的扩展性,未来可纳入更多标注类型。
多领域覆盖与数据分布
WenetSpeech-Yue 涵盖十大领域:故事、娱乐、戏剧、文化、博客、评论、教育、播客、新闻与其他。其中娱乐和故事类数据占比较高,符合粤语内容在互联网上的实际分布情况。
WenetSpeech-Yue 各领域数据分布
数据划分与置信度策略
我们根据转写置信度将数据分为三个子集:
-
高置信度(>0.9):6,771.43 小时 -
中置信度(0.8–0.9):10,615.02 小时 -
低置信度(0.6–0.8):4,488.13 小时
模型训练采用两阶段策略:首先使用中高置信度数据预训练,再使用高置信度数据微调,以兼顾训练效率和最终性能。
语音质量与说话人属性
语音质量方面,数据集的 DNSMOS 分布在 2.0–4.4 之间,SNR 在 -5dB 到 80dB 之间,采样率覆盖 8kHz 至 32kHz。说话人以中年男性为主,这在公共语音数据中较为常见,但也提醒我们在后续采集中应更加注重性别与年龄的平衡。
WSYue-eval:全面评估粤语语音任务的基准数据集
为客观评估模型在真实场景中的表现,我们构建了 WSYue-eval 基准数据集,包括 ASR 和 TTS 两个子评估集。
WSYue-ASR-eval
该集合包含 9.46 小时的短语音(0-10s)和 1.97 小时的长语音(10-30s),共涉及 2,861 位说话人。所有语音均经过多轮人工转写,并标注了情感、年龄、性别等信息,覆盖日常对话、代码切换和多领域环境,适合全面评估模型鲁棒性。
WSYue-TTS-eval
针对零样本语音合成任务,我们提出了两个测试子集:
-
Base:来自 Common Voice 的 1,000 条样本,代表真实数据分布; -
Coverage:融合人工筛选与 LLM 生成文本,覆盖新闻、诗歌、娱乐等多个领域,并包含多音字、变调、中英混说等语言现象。
实验效果:ASR与TTS任务性能分析
ASR 实验结果
我们在多个测试集上评估了不同规模的 ASR 模型,包括不带LLM的传统模型(如 U2pp-Conformer-Yue、Whisper-medium-Yue)以及融合LLM的混合模型(如 U2pp-Conformer-LLM-Yue)。评估指标为混合错误率(MER),在中文按字计算,英文按词计算。
实验表明,基于 WenetSpeech-Yue 训练的模型在多数测试集上达到最优或接近最优性能。特别值得注意的是,仅 1.3 亿参数的 U2pp-Conformer-Yue 模型在多项测试中超过包括 Whisper-large-v3 在内的多个大参数量模型。而融合LLM的混合模型进一步降低错误率,尤其在长文本和代码切换场景中表现突出。
两阶段训练策略的增益
我们比较了仅使用中高置信度数据(第一阶段)和加入高置信度数据微调(第二阶段)的效果:
模型 | 训练阶段 | WSYue-ASR-eval (Short) | WSYue-ASR-eval (Long) |
---|---|---|---|
Whisper-medium-Yue | Stage 1 | 7.27% | 11.19% |
Stage 2 | 5.05% | 8.05% | |
U2pp-Conformer-Yue | Stage 1 | 7.62% | 12.01% |
Stage 2 | 5.05% | 8.89% |
结果明显显示,第二阶段训练显著提升模型性能,说明高置信度标注数据对模型优化至关重要。
TTS 实验结果
我们在 Llasa-1B 和 CosyVoice2 两个预训练模型上进行粤语适配,使用 WenetSpeech-Yue 的 TTS 子集进行微调,评估指标包括 MER、说话人相似度(SIM)、UTMOSv2 和多项主观评分(I-MOS、S-MOS、A-MOS)。
微调后的模型——Llasa-1B-Yue 和 CosyVoice2-Yue——在几乎所有指标上均显著优于零样本基线。特别是在语音自然度和说话人相似度方面,微调模型获得接近商业系统的评分,而在口音地道性(A-MOS)上甚至优于对比系统。
实践反思:构建大规模语音数据集的挑战与启示
在开发 WenetSpeech-Yue 和 WenetSpeech-Pipe 的过程中,我们深刻体会到几个关键问题:
首先,质量与规模的平衡至关重要。单纯追求数据量而忽视标注质量,反而会降低模型上限。通过多系统投票与LLM修正,我们在不完全依赖人工标注的前提下,显著提升了转写准确率。
其次,多维度元数据是现代语音数据集的必备特性。语音合成、声音克隆、个性化交互等任务不仅需要文本-音频对齐,还要说话人属性、音质分数、环境信息等丰富标签。这些标签在未来模型训练中的作用将越来越重要。
最后,数据可信度与数据划分策略应受到更多重视。我们提出的基于置信度的数据划分方法,即保证高质数据用于模型微调,中低质数据用于预训练和增强鲁棒性,在实际中被证明非常有效。
如何使用 WenetSpeech-Yue?
下载数据集
数据集托管于 Hugging Face,可通过以下方式访问:
-
主数据集:WenetSpeech-Yue -
ASR 评估集:WSYue-ASR-eval -
TTS 评估集:WSYue-TTS-eval
运行官方提供的模型
我们发布了多个基于 WenetSpeech-Yue 训练的模型:
-
ASR 模型:WSYue-ASR -
TTS 模型:Cosyvoice2-Yue 及其说书人声音微调版本:Cosyvoice2-Yue-ZoengJyutGaai
以 U2pp-Conformer-Yue 模型推理为例:
dir=u2pp_conformer_yue
decode_checkpoint=$dir/u2pp_conformer_yue.pt
test_set=path/to/test_set
test_result_dir=path/to/test_result_dir
python wenet/bin/recognize.py \
--gpu 0 \
--modes attention_rescoring \
--config $dir/train.yaml \
--test_data $test_set/data.list \
--checkpoint $decode_checkpoint \
--beam_size 10 \
--batch_size 32 \
--ctc_weight 0.5 \
--result_dir $test_result_dir \
--decoding_chunk_size -1
扩展与应用建议
WenetSpeech-Yue 不仅适用于粤语 ASR 和 TTS,还可用于:
-
方言识别与分类 -
跨语言语音迁移学习 -
说话人验证与识别 -
情感语音合成
我们鼓励研究者和开发者在此基础上探索更多跨领域应用。
总结
WenetSpeech-Yue 是目前全球最大的开放粤语语音数据集,涵盖 21,800 小时数据、多领域覆盖、多维度标注,并配套完整的数据处理流水线 WenetSpeech-Pipe 和基准评估集 WSYue-eval。实验证明,基于该数据集训练的模型在ASR和TTS任务中均达到先进水平,部分场景下甚至优于商用系统。
该数据集的发布极大推动了粤语语音处理的研究与应用,也为其他低资源语言语音数据的构建提供了重要参考。
实用摘要与操作清单
-
数据集获取:通过 Hugging Face 平台下载 WenetSpeech-Yue 及其评估集。 -
模型使用:可直接加载我们在 Hugging Face 上发布的预训练模型进行推理或微调。 -
数据流水线:WenetSpeech-Pipe 代码已开源,适用于构建多语言语音数据集。 -
最佳实践:建议采用两阶段训练策略,先中置信度数据预训练,再高置信度数据微调。
一页速览(One-page Summary)
项目 | 说明 |
---|---|
数据集名称 | WenetSpeech-Yue |
总时长 | 21,800 小时 |
领域覆盖 | 故事、娱乐、戏剧、文化等10类 |
标注维度 | 文本、说话人ID、年龄、性别、SNR、MOS等 |
数据划分 | 按置信度分高、中、低三档 |
评估基准 | WSYue-ASR-eval 和 WSYue-TTS-eval |
模型效果 | ASR 和 TTS 模型均达到 SOTA 或接近 SOTA |
开源地址 | GitHub & Hugging Face |
常见问题(FAQ)
Q1:WenetSpeech-Yue 是否可以用于商业用途?
A:该数据集采用开放协议,可用于学术与商业项目,具体条款需查看其官方许可说明。
Q2:如何贡献数据或标注?
A:目前项目组未开放众包标注,但欢迎通过 GitHub 提交问题或建议。
Q3:是否支持其他粤语方言变体?
A:当前数据主要基于主流粤语(广州音),未来可能扩展至四邑、台山等变体。
Q4:WenetSpeech-Pipe 是否适用于其他语言?
A:是的,该流水线设计为语言无关,可适配于普通话、英语等其他语言。
Q5:如何评估自家模型在 WSYue-eval 上的表现?
A:可在 Hugging Face 下载评估集,并按照提供的评估脚本计算 MER、SIM 等指标。
Q6:数据中是否包含敏感或个人身份信息?
A:所有音频均经过脱敏处理,不包含可识别个人身份的信息。
Q7:是否提供数据集的中间处理结果?
A:目前仅发布最终标注结果,中间数据暂不公开。
Q8:如何引用该数据集?
A:请使用官方提供的 BibTeX 引用格式,可在论文或技术报告中注明。