字节跳动发Seed-TTS语音合成模型,可模仿任意人的声音,效果逼真

前期我们介绍过很多语音合成的模型,比如ChatTTS,微软语音合成大模型等,随着大模型的不断进步,其合成的声音基本跟真人没有多大的区别。本期介绍的是字节跳动自家发布的语音合成模型Seed-TTS。

Seed-TTS 推理包含四个功能模块:

  • (1) 语音标记器从参考语音中学习标记信息。
  • (2)自回归语言模型根据条件文本和语音生成语音标记。
  • (3) 扩散变换器模型以从粗到细的方式生成语音标记的连续语音表示。
  • (4) 声学声码器从扩散输出中生成更高质量的语音。

系统模型框架

Seed-TTS是一个大规模自回归文本转语音 (TTS) 模型,能够生成与人类语音几乎没有区别的语音。 Seed-TTS 作为语音生成的基础模型,在语音上下文学习方面表现十分出色,在说话者相似度和自然度方面的表现在客观和主观评估方面都与真实人类语音相匹配。 Seed-TTS 对各种语音属性(例如情感)提供卓越的可控性,并且能够为说话者生成高度表现力和多样化的语音。Seed-TTS 可以根据说话者的声音,模仿成另外一个语言的语音,且情感,音色等跟原始声音没有太大区别。

中英文转换

此外,Seed-TTS 使用了一种用于语音分解的自蒸馏方法,以及一种强化学习方法来增强模型的鲁棒性、说话人的相似性和可控性。Seed-TTS 模型的非自回归 (NAR) 变体,名为 Seed-TTSDiT,它采用完全基于扩散模型的架构。与之前基于 NAR 的 TTS 系统不同,Seed-TTSDiT 不依赖于预先估计的音素持续时间,并通过端到端处理执行语音生成。该变体在客观和主观评估中都达到了与基于语言模型的变体相当的性能,并展示了其在语音编辑中的有效性。且Seed-TTS 支持不同的情感输入,比如:高兴,生气,恐惧等情感。

不同情感的声音

且模型支持输入原始音频文件,并根据要求,输出不同情感的语音。

情感更换

不仅如此,模型支持修改语音文本的内容,并合成另外修改完成的语音。

修改语音内容

Seed-TTS还支持语音语速的调节,不仅如此,还支持多人说话的方式,这样一个长篇语音小说就可以完成了。当然模型也支持输入视频,把视频中的音频转换成另外一种语音。

https://bytedancespeech.github.io/seedtts_tech_report/
更多 transformer 教程,参考头条:人工智能更多transformer,VIT,swin tranformer
参考头条号:人工智能研究所
v号:启示AI科技

 动画详解transformer  在线教程

 

### 如何在 Unity 中集成 Seed-TTS 语音合成服务 为了实现文本转语音(TTS)功能,在Unity项目中接入Seed-TTS主要涉及几个方面:准备环境、安装必要的依赖库以及编写脚本来调用API接口。 #### 准备工作 确保已经注册并获得了访问Seed-TTS API所需的密钥。这通常意味着需要前往官方平台完成账号创建过程,并获取相应的认证凭证[^1]。 #### 安装依赖项 对于Unity而言,可能需要用到HTTP请求来送数据给远程服务器以触TTS转换任务。因此建议先引入适合处理网络通信的相关包,比如`UnityWebRequest`类,它属于Unity内置的功能之一,无需额外下载;如果偏好更高级别的封装,则可以选择通过Package Manager安装第三方库如RestSharp等辅助工具。 #### 编写交互逻辑 下面是一个简单的C#代码片段展示如何利用`UnityWebRequest.Post()`方法向Seed-TTS起POST请求: ```csharp using UnityEngine; using System.Collections; public class TtsRequest : MonoBehaviour { private string apiKey = "your_api_key_here"; // 替换成自己的API Key public IEnumerator Speak(string text){ WWWForm form = new WWWForm(); form.AddField("text", text); using (UnityWebRequest www = UnityWebRequest.Post("https://api.seed-tts.com/synthesize?api_key=" + apiKey, form)){ yield return www.SendWebRequest(); if(www.result != UnityWebRequest.Result.Success){ Debug.LogError("Error: " + www.error); }else{ byte[] results = www.downloadHandler.data; // 将返回的数据保存为音频文件或直接播放... } } } } ``` 此段程序定义了一个协程函数`Speak()`, 接受字符串参数作为待转化的文字内容。内部构造了表单对象用于携带提交的信息,并指定了目标URL地址(需替换为实际的服务端点)。当收到响应后会检查状态码是否成功,最后对二进制形式的结果做进一步处理,例如存储到本地磁盘或是立即回放声音流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能研究所

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值