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)模块进行切分,生成片段级语音数据,以适应后续转录和质量评估任务。

Domain Distribution
图片来源: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 Corrector
LLM 辅助转写修正流程示意图


WenetSpeech-Yue 数据集详解

元数据结构

数据集的全部元数据以一个 JSON 文件统一管理,包括音频路径、时长、转写置信度、说话人身份、SNR、DNSMOS、年龄、性别以及字级时间戳等字段。该结构具有良好的扩展性,未来可纳入更多标注类型。

多领域覆盖与数据分布

WenetSpeech-Yue 涵盖十大领域:故事、娱乐、戏剧、文化、博客、评论、教育、播客、新闻与其他。其中娱乐和故事类数据占比较高,符合粤语内容在互联网上的实际分布情况。

Data Distribution
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 训练的模型:

以 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 引用格式,可在论文或技术报告中注明。