情感语音合成
情感语音合成让机器能够表达情感,使人机交互更加自然生动。
预计阅读时间:45分钟·难度:中级
情感语音概述
情感语音合成(Emotional TTS)旨在生成具有特定情感色彩的语音。
为什么需要情感语音
- • 自然交互:人类交流带有情感,机器也应如此
- • 情感共鸣:增强用户体验和情感连接
- • 角色塑造:游戏、动画中的角色需要情感表达
- • 辅助沟通:帮助表达障碍人士传达情感
技术发展
早期方法
通过调整语速、音调等参数模拟情感,效果有限。
情感嵌入方法
将情感编码为向量,作为条件输入TTS模型。
参考引导方法
从情感参考音频提取风格,迁移到目标语音。
大模型方法
使用大语言模型理解文本情感,生成对应情感的语音。
情感分类
情感语音合成需要明确的情感分类体系。
基本情感模型
Ekman六种基本情感
😊
快乐
Happy
😢
悲伤
Sad
😠
愤怒
Angry
😨
恐惧
Fear
😲
惊讶
Surprise
😒
厌恶
Disgust
情感维度模型
VA模型
情感可以用两个维度表示:效价(Valence,正向/负向)和唤醒度(Arousal,平静/激动)。 这种连续表示比离散类别更精细。
中文情感特点
- • 中文的四声本身带有情感信息
- • 语调变化与情感表达密切相关
- • 中文情感词汇丰富(如"欣喜"、"愉悦"等细微差别)
- • 需要考虑文化背景下的情感表达方式
合成方法
基于情感嵌入的方法
原理
将情感类别或情感向量作为条件输入TTS模型。
实现方式
- • 情感类别编码为one-hot向量
- • 学习情感嵌入向量
- • 通过AdaIN等方式注入模型
基于参考音频的方法
原理
从情感参考音频提取风格信息,迁移到目标语音。
实现方式
- • 参考编码器提取风格向量
- • GST(Global Style Token)
- • 情感风格迁移
基于文本理解的方法
原理
从文本内容推断情感,自动生成对应情感的语音。 使用LLM理解文本的情感含义。
情感模型
情感Tacotron
架构
- • 在Tacotron基础上增加情感嵌入输入
- • 情感嵌入与文本嵌入拼接或融合
- • 训练时使用情感标注数据
GST-Tacotron
Global Style Token
- • 学习一组风格token
- • 参考音频通过注意力选择token组合
- • 无需显式情感标注
Emotion VITS
基于VITS的情感模型
- • 在VITS中引入情感嵌入
- • 支持情感强度控制
- • 高质量情感语音生成
大模型情感语音
ChatGPT Voice
使用大模型理解对话的情感上下文,生成自然情感语音。 能够根据对话内容动态调整情感表达。
情感控制
精细的情感控制是情感语音合成的关键能力。
控制维度
| 维度 | 说明 | 示例 |
|---|---|---|
| 情感类别 | 基本情感类型 | 快乐、悲伤 |
| 情感强度 | 情感的强烈程度 | 微喜、狂喜 |
| 情感混合 | 多种情感组合 | 悲喜交加 |
| 情感变化 | 情感随时间变化 | 从平静到愤怒 |
控制方式
显式控制
用户指定情感类别和强度。如:emotion=happy, intensity=0.8
文本推断
从文本内容自动推断情感。如"太好了!"自动推断为高兴。
参考迁移
提供情感参考音频,迁移情感风格。
数据集
情感语音数据集是训练情感TTS模型的基础。
英文数据集
| 数据集 | 情感 | 规模 |
|---|---|---|
| EmoV-DB | 7种情感 | 4说话人 |
| IEMOCAP | 5种情感 | 10说话人 |
| RAVDESS | 8种情感 | 24说话人 |
| VESUS | 10种情感 | 10说话人 |
中文数据集
| 数据集 | 情感 | 规模 |
|---|---|---|
| EMO-VS | 5种情感 | 专业配音 |
| ST-CMDS | 4种情感 | 10000句 |
| AISHELL-3情感版 | 多情感 | 大规模 |
数据集挑战
- • 情感标注主观性强,一致性难保证
- • 表演的情感与真实情感有差距
- • 数据量通常较小,难以训练大模型
- • 中文情感数据集相对稀缺
评估方法
主观评估
MOS评分
听众对语音的情感自然度打分(1-5分)。
情感识别准确率
听众判断语音表达的情感,计算准确率。
客观评估
- • 使用情感识别模型预测情感
- • 对比预测结果与目标情感
- • 分析韵律特征(音调、能量、时长)
应用场景
游戏配音
游戏角色需要丰富的情感表达,情感语音可以动态生成不同情感状态的对白。
有声书
有声书需要根据剧情情感变化调整语气,增强沉浸感。
虚拟主播
虚拟角色需要情感表达来增强互动性和真实感。
语音助手
语音助手可以根据对话情境调整情感,更自然地与用户交互。