遇见数据集

Emotion-tagged TTS Dataset

收藏
github2026-08-10 更新2026-08-11 收录
官方服务:

资源简介:

该数据集包含带有情感标签的文本-语音对,用于TTS训练。每条记录包括说话者、转录文本(保留填充词)和对应的语音片段,并附带情感标签(如笑声、叹息、停顿、耳语、语调等)。

This dataset contains text-speech pairs annotated with emotion labels, specifically designed for Text-to-Speech (TTS) model training. Each record encompasses the speaker identity, transcribed text with filler words retained, corresponding speech segments, and associated emotion labels including laughter, sigh, pause, whisper, intonation, and so forth.

创建时间:
2026-08-10
原始信息汇总

项目概述

voice-tag-studio 是一个本地数据标注工作台,用于从 Hindi/Hinglish 音频(包括播客、通话、YouTube 视频等)构建带情感标签的 TTS 数据集。它接受音频输入,生成带标签的训练数据行,每行包含说话人标签、带填充词(如 hesitates、pauses)的转录文本,以及对应的语音片段。用户可通过浏览器查看和审听每个处理步骤,也可以对文件夹进行无头批处理。

处理流水线

处理流程按照固定顺序分阶段执行,每个阶段由用户手动点击触发,以便在进入下一步之前检查输出:

  1. ingest(摄取):接受 YouTube URL 或上传文件,生成原始存档和 16 kHz 工作音频(使用 yt-dlp 和 ffmpeg)。
  2. diarize(说话人分离):识别谁在何时说话,使用 pyannote/speaker-diarization-community-1 模型(MPS 加速)。
  3. clean(可选清理):使用 SepFormer 模型和 ECAPA 纯净度门控,挽救重叠语音而非丢弃。
  4. asr(语音识别):对每个说话人通道进行逐字转录(约 60 秒分段),保留填充词,使用 Gemini 2.5 Flash 或可选的 srota 引擎。
  5. align(对齐):在说话人通道上生成词级时间戳,识别未对齐的语音片段,使用 torchaudio MMS_FA 和 uroman。
  6. segment(切分):仅在经过验证的词间间隙处切出 1–20 秒的片段;片段文本由其中的对齐词派生。独白窗口从原始录音中切出(保持连续的环境音、无处理伪影)。
  7. detectors(检测器):生成情感标签候选(见下文)。
  8. export(导出):生成 dataset.jsonl,包含片段、标记文本和说话人 × 标签矩阵。

系统还提供"Run remaining ▸"一键顺序执行所有待完成阶段。转录在切分之前完成,词位置在切分前已知,从而保证文本与音频的对应关系在结构上成立。

情感标签体系

标签分为五类,对应不同的检测器:

家族 标签 检测器
反应 [laughs] [sigh] [gasps] PANNs CNN14 声音事件检测(AudioSet)
节拍 [pauses] [silence] [hesitates] [stammers] 基于强制对齐的规则,确定性且免费;[pauses](0.5–1.5 秒间隙)和 [silence](≥1.5 秒)在导出时自动生成
发声强度 [whispers] 浊音帧比例(物理量,与语言无关)
语气 [flatly] [cheerfully] 每说话人音高百分位数
状态 [excited] [nervous] [frustrated] [sorrowful] [calm] audeering wav2vec2 唤醒度/效价,按说话人的百分位数

位置型标签(反应、节拍)在发生时刻内联渲染;话语级标签(语气、发声强度、状态)渲染在行首。系统明确指出这些是候选而非最终标签,可靠性随表中位置下降:节拍是确定性时间计算,状态使用英文训练的模型处理印地语,被视为弱证据。阈值位于 studio/config.py::TAG_THRESHOLDS,可在 UI 中试听调整。检测器按分数排序输出候选,每次点击可试听该时刻前后 2 秒。

输出格式

dataset.jsonl,每个片段一行,示例行包含:

json { "sample_id": "EOKZrphv3QI_SPEAKER_01_0007", "speaker": "SPEAKER_01", "line": "SPEAKER_01: जो पिघले न [hesitates] देखा जाए तो [pauses] पर आप तो...", "text": "जो पिघले न [hesitates] देखा जाए तो [pauses] पर आप तो...", "text_plain": "जो पिघले न देखा जाए तो पर आप तो...", "tags": ["hesitates", "pauses"], "wav": "segments/SPEAKER_01/EOKZrphv3QI_SPEAKER_01_0007.wav", "dur": 17.9, "split": "train", "source": "original", "separated_frac": 0.0, "purity": 0.83, "align_status": "filler_suspect", "clipped": [] }

每行携带来源和质量标志(如纯度、对齐状态、裁剪状态),所有中间结果和最终数据保存在按任务组织的 jobs/<job-id>/ 文件夹中。片段为 16 kHz 单声道 PCM_16 格式,原始最佳质量下载始终保留。

数据组织

每个录音对应一个自包含文件夹:

jobs/<job-id>/ ├── master.* 原始最佳质量下载(不被改动) ├── audio/original.wav 16 kHz 工作副本 ├── audio/sam_clean.wav SepFormer 清理通道(如运行了 clean) ├── segments/SPEAKER_XX/*.wav 训练用语音片段 └── manifests/ ├── dataset.jsonl 每个片段一行训练数据的最终交付物 ├── matrix.json 说话人 × 标签计数及丢弃原因 └── *.jsonl 所有中间产物(转录、对齐等)

wav 字段是相对路径,可整体复制。run_batch.py --collect-only --out corpus/ 可将所有已处理任务合并为单一便携数据集。

质量与导出门控

导出门控studio/config.py::EXPORT_EXCLUDE):文本与音频对应关系损坏或无法验证的片段(无文本、词被从中间切断、SepFormer 重建音频、严重对齐间隙、对齐失败)在 UI 中仍可见,但永远不会成为数据集行。impure(声纹匹配度低于 0.55)会被保留并标记为可疑。系统显示质量标志而不静默丢弃:rescued N%(分离音频占比)、impure 0.54(声纹不匹配)、✂ start/end(词被切断)、deva/lat %(印地语/拉丁字母混合比例)、digits_uncertain(数字导致的对齐不确定)。

使用方式

  • 交互模式python server.py 启动本地服务器(http://127.0.0.1:8765),在浏览器中上传音频或粘贴 YouTube 链接,逐步执行各阶段并试听检查。
  • 批处理模式python run_batch.py 支持单个文件、文件夹或 YouTube 链接,可指定检测器和 --clean 重叠挽救选项,并支持 --collect-only 合并输出。

环境要求与加速

需要 Python 3.11+、ffmpeg 和 Hugging Face 账号。ASR 工作器需要独立虚拟环境(因 qwen-asr 与 pyannote 的依赖冲突)。可选用 Modal 部署 GPU 加速模块(SepFormer 清理和对齐),自动检测并回退。实测数据:2 小时印地语播客,在 Apple-Silicon 笔记本 + Modal T4 上,完整流水线约 17 分钟(本地 CPU 需过夜)。

设计原则

  • 精确率优先于召回率:错误标签是文本-音频不匹配(幻觉来源);漏标只是未使用的数据。
  • 绝不训练双人语音:其他说话人的轮次用防护带减去;重叠秒数从不进入片段。
  • 训练用原始录音:独白片段从原始音频中切出,分离和对齐只决定切分位置和文本内容,不处理模型听到的音频。
  • 静音必须出现在文本中:片段内词间隙自动转为 [pauses][silence]
  • 不信任异常时序:单个对齐词时长超过 2 秒视为对齐故障,其跨度不可用。
  • 分离音频只作工作表面:用于 ASR 和对齐,但片段切割绕过重建区域。
  • 韵律类指标用每说话人百分位数,不用绝对阈值。
  • 按视频切分而非按片段切分,避免同对话数据泄漏。
  • 中性行至关重要:说话人需要有未标记行,标签才有意义。
搜集汇总
数据集介绍
Emotion-tagged TTS Dataset 数据集图片
构建方式
该数据集源自Voice-Tag Studio工作台,专为构建带情感标签的印地语/兴都语文本转语音(TTS)训练数据而设计。构建流程遵循从音频摄取到导出的严格流水线:首先通过yt-dlp或本地上传获取音频,并转换为16kHz工作格式;随后采用pyannote说话人分离模型进行说话人分割,可选使用SepFormer进行重叠语音的增强与净化;接着利用Gemini 2.5 Flash或srota引擎进行逐说话人的逐字转写,保留填充词,并通过torchaudio的MMS强制对齐获取词级时间戳。在切分阶段,仅在经过验证的词间隙内切割1-20秒的音频片段,确保文本与音频的严格对应。情感标签通过多种检测器生成,包括基于PANNs的声音事件检测(用于笑声、叹息等)、基于对齐规则的停顿/犹豫检测、基于语音帧比例的耳语检测,以及基于基频百分位和唤醒度/效价模型的状态标签。所有检测器输出均作为候选而非最终标签,需人工试听校准阈值。最终导出为JSONL格式,每条记录包含音频文件路径、带内联标签的文本、说话人信息、质量标志及来源属性,形成自包含的数据集。
特点
该数据集的核心特点在于其高度精细的标签体系与严格的质量控制。情感标签分为四类:反应类(如[laughs]、[sigh])由音频事件检测定位并内联插入;节拍类(如[pauses]、[silence])基于强制对齐规则自动生成,具有确定性;发声力度类(如[whispers])依据语音帧比例计算,不受语言限制;音调与状态类(如[flatly]、[excited])则通过每说话人基频百分位和情感模型评估,避免绝对阈值偏差。所有标签均按发生时刻精确嵌入文本,而非笼统标注。质量控制严格遵循“宁缺毋滥”原则:文本与音频的对应关系必须经得起验证,任何潜在错配(如单词被截断、分离音频残留)的片段都会被排除或标记。设计规则强调不对重叠语音进行训练,所有训练片段均取自原始录音以确保自然度;静音间隙必须体现在文本中;按视频而非片段划分数据集,防止对话上下文泄露。此外,每个样本携带完整溯源与质量标志,支持可复现的子集筛选。
使用方法
使用该数据集时,用户可通过两种方式生成数据:一是在浏览器界面中操作,启动本地服务器后上传音频或粘贴YouTube链接,依次运行各行管线阶段(分离、转写、对齐、切分、标签检测),并通过可视化的时间轴和音频试听逐一验证每个决策,最终点击导出获得dataset.jsonl文件;二是通过命令行批处理模式,运行run_batch.py脚本处理单个文件、文件夹或外部链接,并可选启用重叠语音救援和指定检测器。生成的数据集可直接用于训练TTS模型,每条jsonl记录包含清晰的文本字段(含内联标签或纯文本版本)、音频相对路径及说话人信息。用户可以利用--collect-only参数合并所有任务为一个可移植的corpus文件夹,便于跨项目使用。对于已标注的样本,可通过speaker×tag矩阵了解各说话人在每种标签上的分布,从而判断模型在哪些组合上属于内插而非外推,为数据增强或模型评估提供依据。
背景与挑战
背景概述
Emotion-tagged TTS Dataset 是一项致力于构建印地语/兴都斯坦语情感标注语音合成数据集的开创性工作,由研究者于近期开发,旨在填补多语种情感语音资源匮乏的空白。该数据集从播客、电话录音及YouTube等真实场景中采集音频,通过精细的流水线处理,生成包含说话人、文本及其情感标签(如[笑]、[叹气]、[停顿]等)的训练样本。其核心研究问题在于如何在高保真保留原始语音的同时,准确标注情感事件,从而为多语种语音合成与情感识别研究提供高质量的数据基础。该数据集的出现,对推动低资源语言的情感语音研究具有重要影响力,为后续研究提供了可复现的构建范式。
当前挑战
该数据集面临的挑战主要体现在两方面。在领域问题层面,情感语音标注的难点在于情感标签的客观性与一致性,尤其对于印地语这类资源较少的语言,情感模型训练数据匮乏,导致情绪识别准确性受限。在构建过程中,挑战更为复杂:首先,真实场景音频常包含重叠语音、环境噪声及口音差异,准确分离说话人并保持语音完整性难度极高;其次,强制对齐在韵律丰富的语言中易出错,可能导致文本与音频不匹配;再者,情感标签的判定依赖听觉验证,人工审核成本高昂,且自动化检测器的阈值需按音频特性调优,否则易产生误标;最后,处理大规模音频时,计算资源与时间开销亦构成显著瓶颈。
常用场景
经典使用场景
该数据集的核心应用场景聚焦于构建高质量、细粒度的情绪标注文本转语音(TTS)训练语料。其独特的流水线设计,从YouTube或本地音频中自动提取单人语音片段,确保文本与音频在词级时间戳上严格对齐,并支持在语篇中精确内联插入如[笑声]、[叹息]、[停顿]等情绪标签,且所有标签均附带可听的置信度阈值调整机制。这一场景特别适用于需要丰富非言语特征(如韵律、停顿、情绪状态)的多说话人、多语码混合(印地语-英语)的语音合成任务,为训练自然、具有表现力的TTS模型提供了精准的数据基础。
实际应用
在实际应用中,该数据集可直接用于训练面向印地语和印度英语(Hinglish)的语音助手、有声书朗读系统及交互式对话代理,使其能够根据上下文自然地表达犹豫、兴奋、平静等情绪状态,显著提升用户体验的沉浸感。其自动化的标注流程亦适用于客服通话录音分析,通过标注[沮丧]、[平静]等情绪标签,可批量构建用于情感识别或智能质检的训练集。此外,该数据集的‘说话人×标签矩阵’特性,支持在多说话人场景下分析情绪表达的风格差异,为个性化语音合成(如特定角色的语音克隆)提供标注数据基础。
衍生相关工作
由该数据集及其工具链衍生出的经典工作可能包括:基于其精细时间对齐切分策略的改进型语音合成前端模块,如动态停顿与犹豫插入算法;利用其情绪标签体系开发的情感语音转换系统,旨在将中性朗读转换为带指定情绪的自然语音;以及探索其‘说话人×标签矩阵’中稀疏或缺失组合的跨说话人情绪风格迁移研究。此外,其开源的流水线(如分离、对齐、检测组件)可能被复用为其他低资源语言的情感TTS数据集构建框架,形成一套标准化的数据标注工具范式。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务