linux 嵌入式 tts引擎_语音合成(TTS)的概念和分类[通俗易懂]

linux 嵌入式 tts引擎_语音合成(TTS)的概念和分类[通俗易懂]智能音箱在ASR(语音识别)以及NLP自然语义处理常用框架-兔尔摩斯的文章-知乎https://zhuanlan.zhihu.com/p/55658291语音合成SpeechSynthesis或TexttoSpeech(TTS)语音合成(SpeechSynthesis)是人类语音的人工合成。用于此目的的计算机系统称为语音计算机或语音合成器,可以在软件或硬件产品中实…

大家好,又见面了,我是你们的朋友全栈君。

534b3331b2ea94b17daca94e4bb77823.png

智能音箱在ASR(语音识别)以及NLP自然语义处理常用框架 – 兔尔摩斯的文章 – 知乎

https://zhuanlan.zhihu.com/p/55658291

语音合成

Speech Synthesis 或Text to Speech(TTS)

语音合成(Speech Synthesis)是人类语音的人工合成。用于此目的的计算机系统称为语音计算机或语音合成器,可以在软件或硬件产品中实现。文本到语音(TTS)系统将普通语言文本转换为语音;其他系统则把像音标这样的符号语言表示法翻译成语音。其他系统则使用符号语言表征例如标音法翻译成语音。(other systems render symbolic linguistic representations[2] like phonetic transcriptions into speech.[1] )

1. Allen, Jonathan; Hunnicutt, M. Sharon; Klatt, Dennis (1987). From Text to Speech: The MITalk system. Cambridge University Press. ISBN 978-0-521-30641-6.

2. A symbolic linguistic representation符号语言表征是一种话语的表征,它使用符号来表征话语的语言信息,如语音、音位、形态学、句法或语义的信息。符号语言表征不同于非符号表征,如录音,因为它们使用符号来表示语言信息,而不是测量。

合成语音可以通过连接存储在数据库中的记录语音片段来创建。系统存储的语音单元大小不同;存储音素和亚音素(phones and diphones)[3]的系统提供最大的输出范围,但可能缺乏清晰度。对于特定的使用领域,整个单词或句子的存储允许高质量的输出。或者,合成器可以结合声道模型和其他人类声音特征来创建一个完全“合成”的声音输出。

3.语音学(Phonetics)是语言学的一个分支,研究人类语言的声音,或者,在手语中,是手语的等效方面。它涉及语音或信号(电话)的物理特性:它们的生理产生、声学特性、听觉感知和神经生理状态。另一方面,音韵学是研究声音或符号系统的抽象语法特征。

语音合成器的质量是由它与人类声音的相似性和它被清晰理解的能力来判断的。一种可理解的文本-语音转换程序允许有视觉障碍或阅读障碍的人在家用电脑上听书面文字。自上世纪90年代初以来,许多计算机操作系统都包含语音合成器。

文本到语音系统(或“引擎”)由两部分组成:前端和后端。前端有两个主要任务。首先,它将包含数字和缩写等符号的原始文本转换为相当于输出的单词。这个过程通常称为文本规范化、预处理或标记化。然后前端为每个单词分配语音转录,并将文本划分和标记为韵律单位,如短语、子句和句子。将音标分配给单词的过程称为文本到音素或字母到音素的转换。音标和韵律信息共同构成了前端输出的符号语言表征。后端通常被称为合成器,然后将符号语言表示转换成声音。在某些系统中,这部分包括计算目标韵律(音高轮廓,音素时长),然后将之加到输出语音上。(^ van Santen, Jan P. H.; Sproat, Richard W.; Olive, Joseph P.; Hirschberg, Julia (1997). Progress in Speech Synthesis. Springer. ISBN 978-0-387-94701-3.)

之前的文章有提到过,目前国内的主流语音合成方案有科大讯飞、搜狗、云知声、思必驰等。

而语音合成目前市面上一般使用参数合成,或者拼接合成,前者的音库都是在10小时左右,基本用不到20小时,对于合成人声效果的自然度,更依赖算法,而拼接则对于数据的需求量很高,对合成人声效果的自然度,更依赖数据量。很多听起来很自然的音库时长在100~200小时左右。

以及,TTS模型通常也会分为中文,英文,或者中英混输的。做训练的文本,有很多文字比较拗口,故而对录音声优的功力有要求,中英混输的模型数据就更难了。如果是普通的中文TTS模型,以刚才的例子“马上为您播放周杰伦的《晴天》live版本”,这种就可以在录音时加入一些简单的字母,单词,短语等等。

合成的wav文件回传到终端音箱,并播放出来,如此,完成了一环基础的用户与智能硬件之间的对话。

方法上:波形拼接合成和参数合成

波形拼接语音合成:

基于统计规则的大语料库拼接语音合成系统

超大规模音库制作:语料设计;音库录制;精细切分;韵律标注;

f7b7dc5f5aa0666513b21183b999c195.png

优点:音质最佳,录音和合成音质差异小,正常句子的自然度也好

缺点:非常依赖音库的规模大小和制作质量,尺寸大,无法在嵌入式设备中应用,仍然存在拼接不连续性

参数语音合成技术:

对于引得频谱特性参数进行建模,生成参数合成器,来构建文本序列映射到语音的映射关系

687cbb0a79127181599aafdc66ebb242.png

优点:尺寸小,语音自然度好

缺点:音质不如拼接合成

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124895.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java:Eclipse下载安装教程,以及Eclipse 安装汉化包的方法[通俗易懂]

    Java:Eclipse下载安装教程,以及Eclipse 安装汉化包的方法[通俗易懂]Eclipse是目前最流行的Java语言开发工具,它强大的代码辅助功能,可以帮助开发人员自动完成语法修正、补全文字、代码修复、API提示等编码工作,大量节省程序开发所需的时间。本教程使用Eclipse为开发工具,下面介绍它的安装。(1)Eclipse是一个开放源代码的项目,其官方网站是www.eclipse.org。图1所示为Eclipse官方网站的首页。图…

    2022年5月20日
    43
  • 阿里云短信平台实现手机验证码登录_在线云短信验证码

    阿里云短信平台实现手机验证码登录_在线云短信验证码阿里云短信平台实现手机验证码登录首先创建一个工具类工具类AliyunMessageUtil代码如下所示:publicclassAliyunMessageUtil{ privatestaticfinalStringproduct=”Dysmsapi”; //产品域名,开发者无需替换 privatestaticfinalStringdomain=”dysmsapi.aliyuncs.com”; //此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)TOD

    2025年7月12日
    2
  • 2021最新C++面试题(附答案)

    2021最新C++面试题(附答案)今天分享给大家的是比较全面的 C C 面试题 也都是 C 版本升级之后 重新整理归纳的最新答案 会让 C 面试者少走很多不必要的弯路 同时每个 C 面试题都尽量做到了详尽的面试解析文档 以确保每个阶段的读者都能看得懂 同时这部分 C 面试文档也是可以免费的提供给有需要的同学们学习的 一 计算机基础更多阿里 百度 华为 美团 腾讯 头条 C 面试题可以关注微信公众号 C 和 C 加加 回复 面试题 即可获取相关 C 面试题 1 C C 内存有哪几种类型 C 中 内存分为 5 个区 堆 malloc

    2025年10月17日
    5
  • 电脑怎么远程连接到服务器?

    电脑怎么远程连接到服务器?

    2021年9月18日
    53
  • creo每次都要配置config_电脑config设置

    creo每次都要配置config_电脑config设置前言每个测试用例都应该有config部分,可以配置用例级别。比如name、base_url、variables、verify、export等等案例演示fromhttprunnerimport

    2022年7月29日
    10
  • css里的clear_css display属性的值及用法

    css里的clear_css display属性的值及用法clear:none|left|right|both.对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。清除浮动方法,1,给父级元素添加class=“clearflex”2,在css中给父级添加属性:overflow:hidden;(我比较喜欢这个)3,伪元素清除法,4,建立空的div,命名为clear,在css中添加clear:both;…

    2025年10月27日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号