当前位置: 首页 > news >正文

语音合成之二十六 TTS情感控制技术开源数据集

在前一篇博客中介绍了当前开源TTS情感控制技术的四个主要类别:

  • 基于参考音频的风格迁移(Reference-based Style Transfer)
    原理:这是目前最主流且效果最好的方法。该方法通过一个“风格编码器”(Style Encoder)从一小段参考音频中提取其韵律和情感特征,生成一个固定维度的向量,称为“风格嵌入”(Style Embedding)。然后,这个风格嵌入会作为TTS声学模型的一个额外条件输入,引导模型生成与参考音频情感、风格相似的语音。
    优势:极为灵活,可以实现“零样本”(Zero-shot)情感迁移,即使用模型在训练中未见过的任意音频作为情感参考。
    代表模型:VITS 、StyleTTS、Coqui XTTS 。

  • 基于文本提示的生成(Text-Prompted Generation)
    原理:这类模型通常是大型的生成式音频模型,它们将文本和特殊的“提示标签”(Prompt Tags)一起作为输入,直接生成音频。用户可以通过在文本中插入 [laughter](笑声)、[sighs](叹息)或描述性词语来引导模型产生相应的情感或非语言声音。
    优势:控制方式直观,能生成包括笑声、哭声、音乐在内的复杂音频,创造力强。
    代表模型:Bark 、Cosyvoice、SparkTTS。

  • 基于离散标签的控制(Discrete Label Control)
    原理:在训练数据中,为每条语音标注明确的情感类别(如:happy, sad, angry)。在训练时,将这些标签转换为独热编码(One-hot Encoding)或嵌入向量,与文本一同输入模型。推理时,用户通过指定情感标签来控制输出。
    优势:简单直接,易于理解和实现。
    劣势:情感类别是预定义且有限的,无法生成类别之外的混合或细微情感,表现力受限。
    代表模型:一些早期的Tacotron2改进模型,或在特定数据集上微调的VITS模型。

  • 基于扩散模型(Diffusion Models)的风格建模
    原理:扩散模型通过一个逐步去噪的过程从随机噪声中生成高质量的语音。在情感控制方面,它可以将风格建模为一个潜在随机变量,在没有参考音频的情况下,也能为文本生成最合适的韵律风格。
    优势:能够生成多样性极高且非常自然的韵律,被认为是达到人类水平TTS的关键技术之一。
    代表模型:StyleTTS 2。

不论是学术研究还是生产环境都需要数据集去验证改进、新技术或者fine-tune、重训模型。本篇看一下TTS领域开源的情感数据集。

一、 各类情感/风格TTS对应的开源数据集

基于参考音频的风格迁移 (Reference-based)

这类模型需要能够从中学习到“风格”的数据。因此,数据集的关键在于说话人多样性和情感/风格多样性。

  • 多说话人数据集 (用于学习音色和基础韵律)
    • LibriTTS & LibriTTS-R: 这是一个取自有声书、大规模(约585小时)、多说话人的英语语音数据集,源自LibriSpeech。音色多样但情感有限,它非常干净,适合作为训练VITS、StyleTTS等模型的基础。StyleTTS 2的论文中就明确提到了使用LibriTTS进行训练。
    • VCTK (Voice Cloning Toolkit): 包含110位带有不同口音的英语母语者录音。 虽然每个人的数据量不大(约400句),但其多样性非常适合用于学习零样本声音克隆(Zero-shot Voice Cloning)。StyleTTS 2也用它在多说话人场景下进行了评测。
    • LJSpeech: 这是一个被广泛使用的单人(女性)英语数据集,包含约24小时的高质量录音。 虽然是单人,但其高质量和稳定性使其成为许多模型(包括StyleTTS 2)的基准测试标准。
    • AISHELL-3 (中文): 包含218位中文母语者的录音,部分还带有情感标注,非常适合中文多说话人及情感TTS研究。共计约85小时数据。
  • 情感/表现力数据集 (用于学习情感风格)
    • ESD (Emotional Speech Dataset): 包含10位英语使用者和10位中文使用者,在5种情感状态(neutral, happy, angry, sad and surprise)下的录音。 这个数据集是专门为情感语音合成和转换设计的。
    • EmoV-DB: 包含4位英语演员(两男、两女)在5种情感(neutral, sleepiness, anger, disgust and amused)下的录音,专门为情感语音合成构建,共6811个文件。
    • RAVDESS: 包含24位演员以8种不同情感(neutral, calm, happy, sad, angry, fearful, surprise, and disgust )朗读句子的录音,数据量大且情感标注清晰。共1440个文件。
    • MELD (Multimodal EmotionLines Dataset)
      取自影视剧《老友记》中1400个场景的多人对话,共计7个情感标签(Anger, Disgust, Sadness, Joy, Neutral, Surprise and Fear),适合训练参考风格编码器。

基于文本提示的生成 (Text-Prompted)

这类模型(如Bark)的强大之处在于其能够理解文本中的提示标签,如 [laughter]。这要求训练数据不仅有语音和文本,还需要文本中包含这些非语言声音的精确标注。

  • 这类模型的训练数据通常是巨大的、未公开的私有数据集。它们往往通过抓取海量网络音视频数据,并使用先进的ASR模型进行“富文本转录”(Rich Transcription)来构建。
  • 公开的替代或补充数据集
    • Nonverbal Vocalization Dataset: 包含笑声、哭声、叹气、咳嗽等16种人类非语言声音。 这类数据集可以用来增强模型生成非语言声音的能力。
    • VocalSound: 一个众包数据集,包含超过21,000个笑声、叹息、喷嚏、咳嗽等自发的非语言表达录音。
    • NonverbalTTS: 这是一个17小时的英语语音库,专门为非语言发声(如呼吸、笑声、叹息)和情感类别提供了对齐的文本注释,旨在推动表现力强的TTS研究。
    • CNVVE: 包含950个音频样本,涵盖6类非语言声音表情,是人机交互和辅助技术领域非语言声音识别的重要基准。
    • Audioset (Google)
      包含大规模环境声、音乐、情绪标签,可扩展到文本提示生成。
  • AudioCaps / Clotho
    每条音频有人工描述(caption),适合做 text-to-audio 预训练。

基于离散标签的控制 (Discrete Label)

这种方法最直接,需要的数据集也最明确:带有清晰情感分类标签的语音。

  • IEMOCAP: 对话式的情感语音,它包含10位演员在即兴和脚本对话中的录音,标注了愤怒、快乐、悲伤、中性等多种情感。约12小时时长的音视频多模态数据。
  • EmoDB (Berlin Database of Emotional Speech): 德语情感数据库,包含10位演员在7种情感下的录音,是情感研究领域的经典数据集。
  • SAVEE (Surrey Audio-Visual Expressed Emotion): 包含4位男性演员在7种情感下的录音。
  • 以上提到的 ESDEmoV-DBRAVDESS 也完全适用于此方法,因为它们都有明确的离散情感标签。

基于扩散模型 (Diffusion Models)

以StyleTTS 2为代表的模型,其核心优势在于能从数据中学习到风格的潜在分布,而无需显式标签。因此,它们需要的是大规模、多样化、高质量的语音数据。

  • LibriTTS / LibriTTS-R: StyleTTS 2的论文明确指出,在LibriTTS上训练后,模型在零样本说话人适应方面表现出色,超越了之前的公开模型。
  • VCTK: 同样被StyleTTS 2用于多说话人模型的训练和评测,以验证其在音色和韵律模仿上的能力。
  • LJSpeech: 作为单人数据集的黄金标准,被StyleTTS 2用来展示其在自然度上超越真人录音的性能。

上面的数据集并不是严格意义上的划分,对于大模型,不如Cosyvoice,很可能使用了所有上面提到的数据集,虽然在基于文本提示的生成中只罗列了少量几个开源数据集。

总的来说,受限于TTS情感数据量的制约,训练通常始于一个大规模的多人标准数据集(如LibriTTS),然后可以在特定的情感数据集上进行微调(Fine-tuning)以增强其情感表现力。

当然在license合规的情况下,也可以用各自领域的模型,大量生成该放下的语音作为training样本,比如用CosyVoice大量带[angry] [laugh]等标签的数据用于模型的训练。

方法类型代表模型典型开源数据集可用工具/方法
参考音频驱动的风格迁移 (Reference-based Style Transfer)VITS, StyleTTS, Coqui XTTS - LibriTTS / LibriTTS-R(多说话人)
- EmoV-DB(多语言情感)
- IEMOCAP(对话式情感)
- RAVDESS(演员情感语音)
- MELD(多模态情感对话)
- Coqui TTS(XTTS, 多说话人+风格迁移)
- StyleTTS/StyleTTS2
- Prosody 特征提取:Praat, pyWorld, Parselmouth
- 数据准备:MFA/Gentle 对齐
基于文本提示的生成 (Text-Prompted Generation)Bark, CosyVoice, SparkTTS - AudioSet(大规模音频标签)
- AudioCaps(音频-文本对齐)
- Clotho(音频描述)
- EmoV-DB + 自建 prompt 描述
- Bark / CosyVoice 开源实现
- 人工/众包生成 prompt 标签
- LLM 自动生成音频描述
基于离散标签的控制 (Discrete Label Control)Tacotron2 改进版, VITS(情感标签) - IEMOCAP(多情感对话)
- CREMA-D(6类情感)
- RAVDESS(情感+歌曲)
- EmoV-DB(多语言情感)
- SpeechBrain(SER 识别/标注)
- pyAudioAnalysis(情感分类特征)
- One-hot / embedding 标签输入
基于扩散模型的风格建模 (Diffusion-based Style Modeling)StyleTTS2, DiffSinger - LibriTTS(大规模英语朗读)
- VCTK(109说话人,多口音)
- AISHELL-3(中文多说话人)
- OpenSLR 系列(多语言自由语音)
- Opencpop / NUS-48E(歌声韵律丰富)
- StyleTTS2, ESPnet, DiffSinger
- 数据对齐:MFA, Aeneas
- 需大规模多样语料
数据集语种规模情感类别典型用途开源情况
LibriTTS / LibriTTS-R英语~585h, >2000 说话人无显式情感标签(主要是朗读)大规模基础语料,多说话人 TTS✅ OpenSLR-60
VCTK英语 (多口音)~44h, 109 说话人无显式情感标签多说话人、口音建模✅ CSTR VCTK
AISHELL-3中文~85h, 218 说话人无显式情感标签中文多说话人 TTS✅ AISHELL-3
EmoV-DB英语、法语、日语、中文每语种 ~20min/说话人Neutral, Happy, Angry, Sleepy, Disgust情感 TTS,风格迁移✅ GitHub
IEMOCAP英语~12h, 10演员Happy, Angry, Sad, Neutral, Excited, Frustrated 等SER、情感 TTS研究可用 官网
RAVDESS英语24演员, 7356 语句Neutral, Calm, Happy, Sad, Angry, Fearful, Disgust, Surprised情感语音/歌声合成✅ Zenodo
CREMA-D英语91演员, 7,442 样本Anger, Disgust, Fear, Happy, Neutral, SadSER/TTS 标签控制✅ GitHub
MELD英语 (对话)13k 语句, 1.4k 对话7类情感(joy, anger, sadness, surprise, disgust, fear, neutral)多模态对话式情感建模✅ GitHub
ESD (Emotional Speech Dataset)英语/中文~20h, 10说话人Neutral, Happy, Angry, Sad, Surprise情感转换/风格建模✅ GitHub
TESS (Toronto Emotional Speech Set)英语2000+ 样本, 2位女说话人7类情感SER 基准✅ TESS
JL-Corpus日语~20h, 多说话人多类情感日语情感 TTS✅ JL-Corpus
Opencpop中文(歌唱)~5h, 单一女声含韵律/歌唱风格歌声合成/扩散建模✅ Opencpop
NUS-48E英语(歌唱)48 首歌曲歌唱情感/风格歌声合成、韵律研究✅ NUS-48E

二、 自建数据集的开源工具与方法

构建一个高质量的语音数据集是一项系统工程,但借助强大的开源社区和工具,这个过程变得越来越可行。以下是构建流程和推荐的工具。

第1步:收集原始音频 (Audio Collection)

  • 自行录制: 这是质量最可控的方式。你需要一个高质量的麦克风和安静的录音环境(如使用隔音罩或在衣柜里录音以减少混响)。
  • 利用现有资源:
    • 有声读物: LibriVox等网站提供了大量公共领域的有声读物,是LibriSpeech和LibriTTS的来源。
    • 公开演讲/播客: TED演讲等资源提供了多样化的内容和口音。
    • 影视剧/游戏音频: 可以提供丰富的情感和风格,youtube、电视剧字幕等,但需注意版权问题。

第2步:文本转录 (Transcription)

如果你的音频没有现成的文本,需要进行转录。

  • 工具: OpenAI Whisper 或者阿里巴巴的Fun ASR,他们是比较先进的开源ASR模型。不仅准确率高,支持多语言,还能在一定程度上识别人声的起始和结束,可以输出带时间戳的文本,为后续的对齐工作打下良好基础。

第3步:音文对齐 (Audio-Text Alignment)

这是最关键的一步,目的是将文本中的每个词或音素与音频中对应的时间点精确匹配。

  • 工具: Montreal Forced Aligner (MFA) 是这个领域的标准工具。
    • 原理: MFA使用预训练的声学模型和发音词典,将你的文本“强制”对齐到音频上,生成精确到词和音素级别的时间戳。
    • 输出: 通常是 Praat TextGrid 文件。 这是一个分层的时间标注文件,可以清晰地展示每个词或音素的开始和结束时间。
    • 优势: 支持多种语言,社区活跃,有大量的预训练模型可供下载。

第4步:数据切分与预处理 (Segmentation & Preprocessing)

长段的音频和对齐好的TextGrid需要被切分成一条条的训练样本(通常是一句话)。

  • 工具:
    • Praat: 一款功能强大的语音学分析软件。你可以使用它的脚本功能,根据MFA生成的TextGrid文件,自动将长音频切分成以句子为单位的短音频片段。
    • Pydub / Librosa: Python音频处理库,可以用来进行音量归一化、重采样(如统一到24kHz)、去除静音等预处理操作。
    • NVIDIA NeMo: 提供了一个名为CTC-Segmentation的工具,可以方便地将长音频根据文本切分成短片段。

第5步:情感/风格标注 (Annotation)

如果你的目标是构建情感或风格数据集,这一步必不可少。

  • 工具:
    • Praat: 再次推荐Praat。它的TextGrid功能允许你创建新的“层”(Tier),在句子级别或词级别上添加情感标签(如 “happy”, “sad”)或风格描述。
    • MIKU-PAL: 使用多模态技术自动给语音贴情绪标签:MIKU-PAL如何突破情感语音合成的瓶颈,支持25种情绪识别。
    • Label Studio: 一个非常灵活的开源数据标注工具,支持音频、文本、图像等多种数据类型。你可以自定义标注界面,让多人协作进行情感或风格的标注。
    • Audino: 一个开源的音频标注工具,支持转录和标签功能,适用于情感识别等任务。

文章转载自:

http://HDmjGXwS.qwxhr.cn
http://oBKZlcmc.qwxhr.cn
http://oXAjwxYr.qwxhr.cn
http://rYNbG7Wp.qwxhr.cn
http://LTnvdvy1.qwxhr.cn
http://CRBEljiq.qwxhr.cn
http://UgdujZk5.qwxhr.cn
http://wUztDuzm.qwxhr.cn
http://x9I8encn.qwxhr.cn
http://LqzFq6Hj.qwxhr.cn
http://5szywL8J.qwxhr.cn
http://Ep65XUZ0.qwxhr.cn
http://vISCFDSA.qwxhr.cn
http://9Kh8gX9l.qwxhr.cn
http://NyMGRzuA.qwxhr.cn
http://MKncSArX.qwxhr.cn
http://JKRF7PzK.qwxhr.cn
http://DPBtrEtN.qwxhr.cn
http://y1g7o0t7.qwxhr.cn
http://OXC0CXpF.qwxhr.cn
http://mUwSvgtM.qwxhr.cn
http://lHVslDPb.qwxhr.cn
http://YOKDU4Dr.qwxhr.cn
http://O7iJ4WLi.qwxhr.cn
http://XSzyxvqq.qwxhr.cn
http://XDV3CgLB.qwxhr.cn
http://fZlqmOpc.qwxhr.cn
http://3Y66xa20.qwxhr.cn
http://6jPSpuGJ.qwxhr.cn
http://uLGYvurE.qwxhr.cn
http://www.dtcms.com/a/365130.html

相关文章:

  • PHP如何解决使用国密SM4解密Base64数据错误问题?(基于lpilp/guomi)
  • [论文阅读] 人工智能 + 软件工程 | ReCode:解决LLM代码修复“贵又慢”!细粒度检索+真实基准让修复准确率飙升
  • 一键 i18n 国际化神库!适配 Vue、React!
  • CMake构建学习笔记24-使用通用脚本构建PROJ和GEOS
  • Web端最强中继器表格元件库来了!55页高保真交互案例,Axure 9/10/11通用
  • Java学习笔记-零基础学MySQL(四)
  • 三阶Bezier曲线,已知曲线上一点到曲线起点的距离为L,计算这个点的参数u的方法
  • 【C++】C++入门—(中)
  • MySQL 开发避坑:DROP TABLE 前你必须知道的几件事
  • 【题解】洛谷P1776 宝物筛选 [单调队列优化多重背包]
  • 2.插值法
  • 【C++】深入浅出:string类模拟实现全解析
  • maven scope=provided || optional=true会打包到jar文件中吗?
  • 资产管理还靠Excel?深度体验系统如何让企业高效数字化升级!
  • 机器学习从入门到精通 - 机器学习调参终极手册:网格搜索、贝叶斯优化实战
  • CVE-2025-6507(CVSS 9.8):H2O-3严重漏洞威胁机器学习安全
  • net9 aspose.cell 自定义公式AbstractCalculationEngine,带超链接excel转html后背景色丢失
  • 原创未发表!POD-PINN本征正交分解结合物理信息神经网络多变量回归预测模型,Matlab实现
  • LightDock:高效蛋白质-DNA对接框架
  • 小白成长之路-develops -jenkins部署lnmp平台
  • GPT在嵌入式代码设计与硬件PCB设计中的具体应用
  • Git或TortoiseGit的小BUG(可解决):空库报错Could not get hash of ““
  • Android Handler 消息循环机制
  • Python基础(⑨Celery 分布式任务队列)
  • 【计算机科学与应用】基于FME的自动化数据库建设方法及应用实践
  • 产线自动化效率上不去?打破设备和平台的“数据孤岛”是关键!
  • R-4B: 通过双模退火与强化学习激励多模态大语言模型的通用自主思考能力
  • 简单工厂模式(Simple Factory Pattern)​​ 详解
  • Java中最常用的设计模式
  • 【设计模式】 装饰模式