【莎莎源码账号】【modbus 主机源码】【珠宝app源码】声音合成源码_声音合成源码怎么用

时间:2024-12-29 09:43:03 编辑:采购招标源码 来源:织梦源码介绍

1.【专栏精选】实战:百度语音合成
2.最小的声音声音语音合成软件代码解析-SAM

声音合成源码_声音合成源码怎么用

【专栏精选】实战:百度语音合成

       本文节选自大话Unity公众号技术专栏《大话Unity》,未经允许不可转载。合成合成

       大话Unity公众号回复语音识别获取源码工程。源码源码用

       大话Unity,声音声音让你快人几步。合成合成你好,源码源码用莎莎源码账号我是声音声音大智。

       大智:“昨天我们实战了语音识别,合成合成在人工智能的源码源码用语音领域,还有很大一块是声音声音语音合成,也就是合成合成Text to Speech,文字转语音。源码源码用” 小新:“是声音声音不是就是我们经常听到的siri或者智能音箱那种声音?” 大智:“没错,那些声音都是合成合成modbus 主机源码用语音合成的技术合成音频文件,然后播放出来的源码源码用。” 小新:“我们今天就来搞这个?” 大智:“对,这就开始”

       首先做些准备工作,和昨天的语音识别的流程很像,大致如下:

       语音识别

       大智:“看完文档了没?” 小新:“看完了” 大智:“那我们就开始了。”

       语音合成主要有两个过程:1. 鉴权认证:从百度获取一个令牌(token),请求的时候需要携带这个令牌,否则视为非法请求;2. 在Unity中请求语音合成接口。

       第一步鉴权认证我们昨天已经实现了,可以拿来直接用。我们直接进入第二步,在Unity中请求语音合成接口。

       REST API

       小新:“我在文档中看到了这个词REST API,珠宝app源码API我懂,就是应用程序接口嘛,这个REST是什么?休息接口么?” 大智:“哎嘿,什么休息接口!这个是Web开发中的一个技术,你不懂正常,我来简单解释一下。”

       REST ( REpresentational State Transfer ),State Transfer 为 "状态传输" 或 "状态转移 ",Representational 中文有人翻译为"表征"、"具象",合起来就是 "表征状态传输" 或 "具象状态传输" 或 "表述性状态转移",不过,iapp源码免费一般文章或技术文件都比较不会使用翻译后的中文来撰写,而是直接引用 REST 或 RESTful 来代表,因为 REST 一整个观念,想要只用六个中文字来完整表达真有难度。

       REST 本身是设计风格而不是标准。REST 谈论一件非常重要的事,如何正确地使用Web*标准*,例如,HTTP 和 URI。想要了解 REST 最好的方式就是思索与了解*Web*及其工作方式。如果你设计的应用程序能符合 REST 原则 (REST principles),这些符合 REST 原则的 REST 服务可称为 "RESTful web service" 也称 "RESTful Web API"。"-ful" 字尾强调它们的face js源码设计完全符合 REST 论文里的建议内容。

       如果你不需要做Web开发,了解到这就够了,否则建议你了解下REST的具体原则,RESTful的Web接口目前非常流程。

       请求语音合成

       百度语音合成支持两种方式请求:- POST方式;- GET方式

       百度文档中推荐使用POST方式,但是由于Unity的WebRequest类中,获取音频的现成接口是使用Get方法,所以我们下面的代码还是使用Get方法去获取。

       上面的代码写好以后,设置好APIKey和SecretKey就可以合成语音出来了。

       大智:“我们这两天通过实战学习了UnityWebRequest的具体用法,在请求Http时,结合接口说明,一般实现起来还是很容易的。”

       思考题

       大智:“上面的语音合成中很有多参数可以设置,试试不同的参数看看有什么效果吧!” 小新:“好嘞!” 大智:“收获别忘了分享出来!也别忘了分享给你学Unity的朋友,也许能够帮到他。”

       推荐阅读

       大话Unity公众号回复语音识别获取源码工程。

最小的语音合成软件代码解析-SAM

       SAM(Software Automatic Mouth)是一款体积小巧的语音合成软件,纯软件性质,商业用途,离线运行无需联网。它由c语言编写,编译后文件大小约为kB,支持在Windows、Linux、esp、esp上编译使用。原源代码非公开,但有网站提供反编译后的c源代码。此软件可以在线测试效果,用户输入文字即可体验语音合成功能。

       SAM软件的说明书提供了详细的使用指南。网站上同时介绍了软件的分析过程,以及esp上的移植代码。对于代码关键部分的分析,主要集中在SAM中的个音素上。音素按0-编号,每个音素都有特定属性,如ID、名称、正常长度、重音长度、共振峰频率和幅度等。音素名称由1-2个字符组成,存储在phonemeNameTable1和phonemeNameTable2中。phonemeLengthTable表示音素的默认长度,单位为帧,约ms。音素分为三类,并有特定的频率和幅度数据。

       SAM的关键函数依次执行,上一个函数的输出为下一个函数的输入。主要函数包括TextToPhonemes、PhonemeStr2PhonemeIdx、RenderAll、CreateFrames和ProcessFrames2Buffer。这些函数负责从文本到音素的转换、音素索引和长度的获取、所有音素的渲染、频率和幅度数据的生成以及帧处理等核心操作。语音合成的关键代码位于processframes.c文件中,通过公式计算生成波形,涉及元音、浊辅音的合成,以及清辅音的直接读取文件处理。如果音素的flags属性不为0,则将根据特定条件添加部分录音内容,决定是否合成浊辅音。