没专门学过也没做过就完全靠零散的概念记录吧

参考资料

TTS背后的技术原理——前端和后端系统

音频基础

uv: 表示清音还是浊音,清音的话几乎没基频
能量: mel 谱 第一维加和求平均
aac 编码: 它和直接PCM的音频编码后有一定的时间差,不过应该是因为FFT的时候补数据造成的。比如分帧不够的时候需要补上数据,一般应该在最后差一点。

声码器:
lcp/mgc 系数是基于信号学的, 应该需要基频进行辅助
现在一般直接恢复mel谱

基础

主要分为三部分:
前端模型、声学模型、声码器
其中声学模型可能还包括时长模型,不过得看具体的算法了。
除了以前的拼接式方法,现在主流的 TTS 有两类:

  • 基于 tacotron 这种没有对齐信息
  • 基于fast-speech ,需要有个时长预测模型
    上面主要是按照声学模型区分开。

声学模型:
主要是把语音层面的模型变到mel 特征或者类似的语音特征
这里其实是之前研究的重点,主要也是各种深度网络可以发挥作用的地方。

声码器:
把声学模型输出恢复到最终的采样点
有基于信号的,也有基于神经网路的。
一般为了快就是用lpcnet,深度学习上面就有很多, wavnet, mel-gan, paralle-wav-gan 这些

前端:
前端的内容也比较多,可以想象一下,输入是非常多样的,如何抽取必要的信息用于生成语音就是前端做的事情。
基本的前端输入就是音素序列,然后还得加入一些韵律边界(prosody) 因为需要让合成的语音有抑扬顿挫的感觉。

韵律词、韵律短语、语调短语、分词边界
前端还要解决多音字这些的问题。

高级

前端中最好能加入词级别的信息,这样生成的音色更好。或者针对特定语言加入一些其他的特征。
还有如果要达到对话的效果,比如”延音“和”有声停顿“,可以做这方面的预测然后加入到输入特征中。

声码器这里可以加入风格信息,帮助产生某种类型风格的语音。 如 GST 等。

VC 这个方向是希望尽可能分离原始语音的各种特征,把内容信息拿出来,然后再加入其它特征,获得与原始输入时间一样的输出。 一般都用KL,主要是希望尽可能丢掉音频相关信息保留文本信息。

拓展应用

虚拟人

TTS是文本预测mel 谱之类的声学系数,如果能预测唇形系数之类的就能做虚拟人人了。

当然上面那种做法需要的数据量比较大,一般不会这么做,往往是通过语音识别模型过一些无标注的干净的视频数据,获得文本和表情对齐的数据,然后训练一个音素到表情的模型P2E。而TTS主要是在测试的时候知道播报语音的时长就能使用P2E模型预测出表情系数的。至于如何获得,如果使用tacotron模型的话,建模粒度小一些,获得音频frame与phone的 attention 信息后做一个维特比解码就行。
类似这样

phone 帧率对齐,可以防止出现累计误差:

语音合成 TTS 相关的一些总结相关推荐

  1. 吾剑未尝不利,国内Azure平替,科大讯飞人工智能免费AI语音合成(TTS)服务Python3.10接入

    微软Azure平台的语音合成(TTS)技术确实神乎其技,这一点在之前的一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),已经做过详细介绍, ...

  2. 【Android语音合成TTS】百度语音接入方法,和使用技巧详解

    请尊重他人的劳动成果,转载请注明出处:[Android语音合成TTS]百度语音接入方法,和使用技巧详解 Ps. 依托于百度开放云,百度语音为合作伙伴提供了业界领先.永久免费的语音技术服务,目前已上线的 ...

  3. 讯飞文本转语音(语音合成TTS)中添加控制静音和停顿方法

    讯飞的文本转语音和语音合成TTS中,用标点符号.回车换行可以实现一定的停顿效果.如果想要更长时间的静音或停顿怎么办? 插入停顿 这里有个特殊的标记实现静音或停顿,在文字中需要停顿的地方加入 [p100 ...

  4. Unity 百度SDK 之 在线语音合成 TTS WebAPI 功能的实现

    Unity 百度SDK 之 在线语音合成 TTS  WebAPI 功能的实现 目录 Unity 百度SDK 之 在线语音合成 TTS  WebAPI 功能的实现 一.简单介绍 二.百度官网关于在线语音 ...

  5. 语音合成TTS(Text-To-Speech,从文本到语音)

    以上内容,来自饭团"AI产品经理大本营",点击这里可关注:http://fantuan.guokr.net/groups/219/ 作者:黄钊,5年AI实战经验(图灵机器人),8年 ...

  6. react native 集成腾讯语音合成TTS(android)

    1. 实现方式说明 本文采用两种方式集成,一是Activity集成,播放的时候需要跳转到新的Activity:二是直接在模块里面集成语音合成需要的相关代码,可以理解为用js代码请求,用adroid代码 ...

  7. 语音合成TTS论文优选:A HYBRID TEXT NORMALIZATION SYSTEM USING MULTI-HEAD SELF-ATTENTION FOR MANDARIN

    声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写的内容主要是我对论文内容的概括和个人看法.如有转载,请标注来源. 欢迎关注微信公众号:低调奋进 A HYBRID TEXT ...

  8. 语音合成TTS | AI产品经理需要了解的AI技术概念

    TTS(Text-To-Speech,语音合成),目前是一个"小而美"的AI领域,但我个人觉得非常有意思,感觉TTS在未来会被行业真正重视起来,并且会出现做得不错的创业公司. 本文 ...

  9. C++ 简单的语音合成(TTS,即文字转语音)类

    如果出现以下错误: error C4996: 'GetVersionExA': 被声明为已否决 关闭SDL: Project Properties > Configuration Propert ...

  10. 2022年1月语音合成(TTS)和语音识别(ASR)论文月报

    ​ 论文统计每月更新一次,主要跟踪语音合成和语音识别的发展状况(很多文章都是在会议后才发出,但不影响统计.统计过程难免存在疏漏,因此统计结果仅供参考.所有文章语音合成领域统计列表请访问http://y ...

最新文章

  1. WAIC剪影:AI的未来,关乎星辰大海
  2. 给GPT-2加上“人类偏好”补丁,它说的话就越来越有人情味了丨代码已开源
  3. 若兰-nvjdc 1.3新版本安装及老版本升级教程
  4. golang函数调用机制:多返回值,_返回值忽略
  5. 四张照片合成一张怎么弄_精美!多张照片组合成一张的拼贴画,每一幅都令人惊叹...
  6. C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session
  7. 线程池与Callable更配哦
  8. 在 Nginx 上支持 HTTP/3
  9. Android下图片处理的的一些方法
  10. jquery几种常用框架比较
  11. 编译OpenJDK12:Only bundled freetype can be specified on Mac and Windows
  12. python静态检查工具哪个好用_介绍几款 Python 类型检查工具
  13. 微星主板B550M破击炮无U刷BIOS 内存条插3/4卡槽出现DRAM灯常亮,屏幕无法显示
  14. python的基本语法规则
  15. VC++使用OD反汇编引擎(非BC做DLL或LIB包装)
  16. Python爬取百度文库的内容输出
  17. VO、DTO、BO、DO、PO、POJO、Entity的概念、区别和应用
  18. Tipask目录结构
  19. 程序员都在读的实战书,你看懂封面了吗?
  20. 性能测试报告编写技巧

热门文章

  1. 分解质因数FZU - 1075
  2. 有哪些让你印象深刻的bug?
  3. 如何在POWER BI中翻转90度显示标题?
  4. RAID磁盘阵列与阵列卡
  5. 天宫管理系统_天宫职位
  6. 用户画像理解和方法论
  7. wacom数位板怎么调压感_怎么设置PS的画笔利用到数位板压感?
  8. 计算机数字键盘如何用,电脑小数字键盘不能使用的原因和解决方法
  9. java操作mysql视图_MySQL使用视图
  10. 超清楚!麦克风阵列学习笔记(一)——线性麦克风阵列的时间延迟Beamforming算法(Time-Delay Beamforming of Microphone ULA Array)