![db4a26c4119afa99dcc66fd2b973b1bd.png](https://img-blog.csdnimg.cn/img_convert/db4a26c4119afa99dcc66fd2b973b1bd.png)
题目
大家好,超子今天又和大家见面了,能力有限,水平不高,有什么错误的地方,欢迎板砖。超子今天给大家介绍一下,如何使用阿里云平台的在线语音合成功能,实现文字到音频mp3文件的转换。阿里云有非常多的应用场景和发音人供我们选择,而且可以细调语速和语调,目前阿里云的接口我们可以免费试用,但是一次合成的文字不能超过300字。
本次实验只需要耐心和仔细就够了,不需要什么专业知识。如果有哪里不明白的也可以问我。
我们总共需要3个工具。
网络调试助手:在线语音合成功能,需要通过网络给阿里云发送合成请求,这个软件就是用来发送网络报文的。
WinHex软件:发送合成请求后,阿里云返回的是16进制数据,我们需要用这个软件把16进制数据写进mp3文件。
Windows系统自带的记事本:也就是txt文本文档,我们需要用它做utf-8格式的转换。
![995e9f61ca5ec6f194d9f514b6ab8e4a.png](https://img-blog.csdnimg.cn/img_convert/995e9f61ca5ec6f194d9f514b6ab8e4a.png)
先看上图,我们找到阿里云语音合成功能的入口,在网站首页,选择产品分类->人工智能->语音合成
![b29d9cacf411c23358176001ab6f4035.png](https://img-blog.csdnimg.cn/img_convert/b29d9cacf411c23358176001ab6f4035.png)
我们选择立即开通,可以免费试用,超子记得应该有2个月的免费试用期。
![e2a15c780b8198990211e2d292763aa7.png](https://img-blog.csdnimg.cn/img_convert/e2a15c780b8198990211e2d292763aa7.png)
上图我们看到,可以开通的免费试用功能有不少,我们目前只关注语音合成功能即可。开通后我们进入管理控制台。
![907a0f55249e23cb9885e6aad0580aaa.png](https://img-blog.csdnimg.cn/img_convert/907a0f55249e23cb9885e6aad0580aaa.png)
成功开通后,我们可以看到刚才的立即开通,变成了管理控制台,我们进入这个控制台。
![e6958d766a9d7ee5160dc89b6a2d82aa.png](https://img-blog.csdnimg.cn/img_convert/e6958d766a9d7ee5160dc89b6a2d82aa.png)
管理控制台左侧的导航栏中,我们选择全部项目。
![0e60f0f619c44e89398d8e34a6fea729.png](https://img-blog.csdnimg.cn/img_convert/0e60f0f619c44e89398d8e34a6fea729.png)
然后在全部项目页面中的右上角,我们创建项目。
![a316c4790023c47d8e8fdcf2c330dadd.png](https://img-blog.csdnimg.cn/img_convert/a316c4790023c47d8e8fdcf2c330dadd.png)
我们自己给项目起个名字就行,然后点击保存。
![6cca8efc0728e6fd3106df99b5f85498.png](https://img-blog.csdnimg.cn/img_convert/6cca8efc0728e6fd3106df99b5f85498.png)
然后我们进入到项目管理页面,选择语音合成功能,然后我们可以选择各种场景,每个场景内,都有不同的发音人,这会儿就需要我们自己根据喜好,选择喜欢的发音人,然后页面的下方,还可以细调发音人的语速,语调和音量。
![2a017782bdf67f117b54e7dc70d60668.png](https://img-blog.csdnimg.cn/img_convert/2a017782bdf67f117b54e7dc70d60668.png)
页面的右侧,有一个小喇叭的图案,我们点击它,就可以进行试听,非常方便。当我们确定好具体的发音人和发音参数后,点击发布上线即可。
![1782a1a472e7dc9d3d29692549ad8681.png](https://img-blog.csdnimg.cn/img_convert/1782a1a472e7dc9d3d29692549ad8681.png)
然后,我们要把发音人的名称以及3个参数记下来,我们下面就要用到了。
{"format":"mp3","appkey":"项目key","token":"密钥","voice":"发音人","speech_rate":"语速值","pitch_rate":"语调值","volume":"音量值","text":"需要合成的文字"}
上面就是需要发送给阿里云的请求,其中项目key、密钥、发音人、语速值、语调值、音量值以及需要合成的文字,就要根据自己的项目和需求进行设置了。
![d6f03df93d2bf3ed37fb085d9ea40147.png](https://img-blog.csdnimg.cn/img_convert/d6f03df93d2bf3ed37fb085d9ea40147.png)
点击全部项目,然后右侧红圈中的内容就是项目key
![c6ef299a9f2364dc1bf99ff352f54118.png](https://img-blog.csdnimg.cn/img_convert/c6ef299a9f2364dc1bf99ff352f54118.png)
然后再选择导航栏中的总览,然后页面的右上角我们可以看到,点击获取AccessToken,点击他后显示的就是密钥。
![ddd1eadb42f4ec6e93791d2603226e6c.png](https://img-blog.csdnimg.cn/img_convert/ddd1eadb42f4ec6e93791d2603226e6c.png)
上图是发音人对应的列表,超子选择的是思诚,在上图找一下,思诚对应的是Sicheng,这个就是发音人。语速,语调和音量我们在发布上线的时候,都记下来了,分别是 -68,50,50。我需要合成的文字是“语音合成服务,通过先进的深度学习技术,将文本转换成自然流畅的语音。目前有多种音色可供选择,并提供调节语速、语调、音量等功能。适用于智能客服、语音交互、文学有声阅读和无障碍播报等场景”,所有需要替换的内容我们都准备好了,然后我们新建一个txt文档,在里面重新构建一下请求数据。
![4d5a417f52766af253d984b4d9399ff3.png](https://img-blog.csdnimg.cn/img_convert/4d5a417f52766af253d984b4d9399ff3.png)
一定要小心仔细的替换数据,替换完毕后,我们点击另存为,一定是另存为。
![7651a6b7ab1b5d94bf17b5f3ed5fb55e.png](https://img-blog.csdnimg.cn/img_convert/7651a6b7ab1b5d94bf17b5f3ed5fb55e.png)
选择编码方式UTF-8,然后点击保存即可。这时候我们需要发送给阿里云的请求数据就准备完毕了,接下来就是发送请求语音合成的报文,我们打开网络调试助手软件。
![ef08813ef1f25de794679b1b5998fa09.png](https://img-blog.csdnimg.cn/img_convert/ef08813ef1f25de794679b1b5998fa09.png)
红圈1:选择TCP Client
红圈2:不用管,软件自动获取的电脑IP地址
红圈3:填写阿里云语音合成域名和端口 nls-gateway.cn-shanghai.aliyuncs.com :80
红圈4:点击连接
![c46b477b3c90c01d159a78c75640d96f.png](https://img-blog.csdnimg.cn/img_convert/c46b477b3c90c01d159a78c75640d96f.png)
我们需要看一下刚才另存为的txt文档的大小,我们右键属性,看红圈中的数据是440字节。440这个数要用到,我们构建一下报文
POST /stream/v1/tts HTTP/1.1
HOST:nls-gateway.cn-shanghai.aliyuncs.com
Content-Type: application/json
Content-Length: 440
我们看到Content-Length后面跟着的数字就是440,这个一定要和自己的txt文档真实大小一样。
然后我们把上面的报文,复制到网络调试助手的发送框中。
![e84a18ece609834be8aa43bbdf44a66b.png](https://img-blog.csdnimg.cn/img_convert/e84a18ece609834be8aa43bbdf44a66b.png)
我们要选择上十六进制显示,然后Content-Length:440后面一定要输入两个回车键,一定是两个回车。然后点击发送。
![94ba3642f7a5a297d29dbe6cf53339a9.png](https://img-blog.csdnimg.cn/img_convert/94ba3642f7a5a297d29dbe6cf53339a9.png)
点击发送后,没有什么现象,然后我们马上选择启用文件数据源,然后在弹出的对话框中选择我们前面保存的txt文档。
![f1cd36d0c090f3dc3609108c8c215519.png](https://img-blog.csdnimg.cn/img_convert/f1cd36d0c090f3dc3609108c8c215519.png)
然后点击发送按键,稍等一会,等待阿里云合成数据。
![f33e92c26b7eeea4f70b598d0f7ea313.png](https://img-blog.csdnimg.cn/img_convert/f33e92c26b7eeea4f70b598d0f7ea313.png)
合成后,阿里云返回16进制数据,我们先找 0D 0A 0D 0A,如上图红圈中所示的数据, 0D 0A 0D 0A后面的数据就是我们要写进mp3文件的16进制数据。然后我们打开winhex软件。
![ca75e2668390c805488a8436700f7613.png](https://img-blog.csdnimg.cn/img_convert/ca75e2668390c805488a8436700f7613.png)
红圈1:我们新建一个空白的文件
红圈2:空文件大小是1,这个没关系,我们一会追加数据
红圈3:点击确定就行
![1855b27e510a70849360029fb714a1db.png](https://img-blog.csdnimg.cn/img_convert/1855b27e510a70849360029fb714a1db.png)
建立成功后,如上图所示,只有1个字节00,然后我们把网络调试助手中0D 0A 0D 0A后面所有的数据复制到winhex内。
![3e0d822dfc99eba2b1e6a80006bda9ae.png](https://img-blog.csdnimg.cn/img_convert/3e0d822dfc99eba2b1e6a80006bda9ae.png)
注意复制的格式选择ASCII Hex,然后点击确定。
![29d2ec62acb20c19105e2bf4216d790f.png](https://img-blog.csdnimg.cn/img_convert/29d2ec62acb20c19105e2bf4216d790f.png)
我们已经把数据追加进文件内,注意我们要把刚才的00删掉,00不是我们需要的数据。
![771af3dac2e8759590f7e3662c4c9b67.png](https://img-blog.csdnimg.cn/img_convert/771af3dac2e8759590f7e3662c4c9b67.png)
然后我们点击保存,文件的扩展名是MP3,这个不要弄错了,如此一来,就能得到我们需要的mp3音频文件了。大家可以自己试试哦,有什么地方不明白的地方,可以问我。