Env-TTS-SD-Corpus
收藏资源简介:
env-tts-sd-corpus 是一个用于环境感知文本到语音(TTS)训练的开源语料库。该数据集整合了四个公开的说话人日志源:M3SD(770小时)、AISHELL-4(120小时)、MSDWILD(80小时)和CHiME-6(40小时),总计包含超过10万条样本。每条数据记录(行)包含一组用于环境感知TTS建模的关联数据,具体字段为:`environment_audio_source`(环境音频源,≤15秒的16 kHz单声道FLAC)、`speaker_audio_source`(说话人音频源,经过DAIEN增强的≤15秒16 kHz单声道FLAC)、`text`(原始转录文本或经Qwen3-ASR重新标注的文本)、`speech`(合成的语音片段,3-15秒的16 kHz单声道FLAC),以及对应的持续时间字段。此外,每条记录还包含语言标识(zh/en/auto)、来源数据集标识(m3sd/aishell4/msdwild/chime6)、对话ID、说话人ID、环境ID、文本来源(original/asr)、说话人音频增强类型(none/noise/rir+noise)及信噪比等信息。该数据集主要适用于环境感知TTS、说话人日志相关的研究与模型训练任务。
数据集概述:env-tts-sd-corpus
基本信息
- 数据集名称:env-tts-sd-corpus
- 许可证:CC-BY-SA-4.0
- 语言:英语、中文
- 数据规模:100,000 < 样本数 < 1,000,000
- 标签:环境感知文本到语音、说话人日志、语音合成、音频
数据集描述
这是一个环境感知文本到语音训练语料库。每一行数据包含三个短片段(16 kHz 单声道 FLAC 格式)及其对应的转录文本:
- 环境样本:不同说话人但相同声学场景
- 说话人参考:同一说话人(可选的声学增强)
- 目标语音:需要合成的目标话语
这使得文本到语音(TTS)模型能够学习在指定声音和指定环境条件下合成目标话语。
数据模式(Schema)
| 列名 | 类型 | 描述 |
|---|---|---|
environment_audio_source |
二进制(FLAC 16 kHz 单声道) | 声学场景参考,≤15秒,与speech不同说话人但同一录音会话 |
environment_audio_duration |
float32 | 时长(秒) |
speaker_audio_source |
二进制(FLAC 16 kHz 单声道) | 说话人身份参考,≤15秒,与speech同一说话人 |
speaker_audio_duration |
float32 | 时长(秒) |
text |
字符串 | speech的转录文本(原始标注或Qwen3-ASR重新标注) |
speech |
二进制(FLAC 16 kHz 单声道) | 目标话语,3–15秒 |
speech_duration |
float32 | 时长(秒) |
language |
字符串 | zh / en / auto |
dataset |
字符串 | m3sd / aishell4 / msdwild / chime6 |
conversation_id |
字符串 | 源数据集内唯一标识 |
speaker_id |
字符串 | 会话内日志标签 |
env_id |
字符串 | 声学场景标识(通常为conversation_id) |
text_source |
字符串 | original 或 asr |
spk_aug |
字符串 | none / noise / rir+noise(仅当应用增强时出现) |
spk_aug_snr_db |
float32 | 当spk_aug != none时的信噪比 |
源语料库
| 数据集 | 时长(小时) | 会话数 | 语言 | 使用方式 |
|---|---|---|---|---|
| M3SD (Wu et al., 2025) | 770 | 1,372 | 中英混合 | YouTube说话人日志语料库,多场景,转录文本通过Qwen3-ASR |
| AISHELL-4 (Fu et al., 2021) | 120 | 211 | 中文 | 普通话会议,带有原生TextGrid转录 |
| MSDWILD (Liu et al., 2022) | 80 | 3,143 | 中英混合 | 野外说话人日志视频,转录文本通过Qwen3-ASR |
| CHiME-6 (Watanabe et al., 2020) | 40 | 18 | 英语 | 晚餐聚会录音(Kinect U06 / U01双耳),官方JSON转录 |
数据处理流程
整个流水线包含三个并行运行的流式阶段:
- 下载:每个源数据一个线程,使用
httpx.stream流式处理,不完整写入磁盘 - 处理:异步事件循环,默认最多64个并发会话。对每个会话:
- 将音频重采样为16 kHz单声道
- 将日志中的话轮切分为3–15秒片段
- 选取同一说话人参考(≥3秒)和不同说话人环境片段(≥3秒)
- 对缺少转录或话轮被分割的语音片段,提交至Qwen3-ASR-1.7B模型进行重新语音识别
- 将三个片段编码为FLAC格式并追加到分片Parquet文件中
- 上传:监控并上传打包好的数据组至仓库,每组约3,200行
每条记录按数据集分布
| 数据集 | 记录数 | 生成行数 |
|---|---|---|
| M3SD | 1,372 | ≈212,000 |
| MSDWILD | 3,113 | ≈28,400 |
| AISHELL-4 | 145 | ≈35,250 |
| CHiME-6 | 18 | ≈15,800 |
许可说明
- 衍生语料库以CC-BY-SA-4.0发布
- M3SD仅限学术和非商业研究
- MSDWILD使用X-LANCE研究专用协议
- AISHELL-4(Apache 2.0)和CHiME-6(CC-BY-SA-4.0)为开放许可
- 重新分发音频需遵守M3SD和MSDWILD的非商业限制
加载方式
python from datasets import load_dataset
ds = load_dataset("ChristianYang/env-tts-sd-corpus", split="train", streaming=True) row = next(iter(ds)) print(row["text"]) print(row["speech"]["sampling_rate"], len(row["speech"]["array"]))
音频列使用HuggingFace Audio特征类型(16 kHz,单声道),访问时自动解码。
磁盘文件结构
data/ group_00000/ manifest.json data_000000.parquet data_000001.parquet data_000002.parquet data_000003.parquet group_00001/ ...
每组包含4个Parquet分片×约800行 = 约3,200行,约250 MB(snappy压缩,音频列已为FLAC格式)。




