delphi文本转换mp3_小实验,文本文字转MP3音频,阿里云语音合成,不会编程也能用...

db4a26c4119afa99dcc66fd2b973b1bd.png

题目

大家好,超子今天又和大家见面了,能力有限,水平不高,有什么错误的地方,欢迎板砖。超子今天给大家介绍一下,如何使用阿里云平台的在线语音合成功能,实现文字到音频mp3文件的转换。阿里云有非常多的应用场景和发音人供我们选择,而且可以细调语速和语调,目前阿里云的接口我们可以免费试用,但是一次合成的文字不能超过300字。

本次实验只需要耐心和仔细就够了,不需要什么专业知识。如果有哪里不明白的也可以问我。

我们总共需要3个工具。

网络调试助手:在线语音合成功能,需要通过网络给阿里云发送合成请求,这个软件就是用来发送网络报文的。

WinHex软件:发送合成请求后,阿里云返回的是16进制数据,我们需要用这个软件把16进制数据写进mp3文件。

Windows系统自带的记事本:也就是txt文本文档,我们需要用它做utf-8格式的转换。

995e9f61ca5ec6f194d9f514b6ab8e4a.png

先看上图,我们找到阿里云语音合成功能的入口,在网站首页,选择产品分类->人工智能->语音合成

b29d9cacf411c23358176001ab6f4035.png

我们选择立即开通,可以免费试用,超子记得应该有2个月的免费试用期。

e2a15c780b8198990211e2d292763aa7.png

上图我们看到,可以开通的免费试用功能有不少,我们目前只关注语音合成功能即可。开通后我们进入管理控制台。

907a0f55249e23cb9885e6aad0580aaa.png

成功开通后,我们可以看到刚才的立即开通,变成了管理控制台,我们进入这个控制台。

e6958d766a9d7ee5160dc89b6a2d82aa.png

管理控制台左侧的导航栏中,我们选择全部项目。

0e60f0f619c44e89398d8e34a6fea729.png

然后在全部项目页面中的右上角,我们创建项目。

a316c4790023c47d8e8fdcf2c330dadd.png

我们自己给项目起个名字就行,然后点击保存。

6cca8efc0728e6fd3106df99b5f85498.png

然后我们进入到项目管理页面,选择语音合成功能,然后我们可以选择各种场景,每个场景内,都有不同的发音人,这会儿就需要我们自己根据喜好,选择喜欢的发音人,然后页面的下方,还可以细调发音人的语速,语调和音量。

2a017782bdf67f117b54e7dc70d60668.png

页面的右侧,有一个小喇叭的图案,我们点击它,就可以进行试听,非常方便。当我们确定好具体的发音人和发音参数后,点击发布上线即可。

1782a1a472e7dc9d3d29692549ad8681.png

然后,我们要把发音人的名称以及3个参数记下来,我们下面就要用到了。

{"format":"mp3","appkey":"项目key","token":"密钥","voice":"发音人","speech_rate":"语速值","pitch_rate":"语调值","volume":"音量值","text":"需要合成的文字"}

上面就是需要发送给阿里云的请求,其中项目key、密钥、发音人、语速值、语调值、音量值以及需要合成的文字,就要根据自己的项目和需求进行设置了。

d6f03df93d2bf3ed37fb085d9ea40147.png

点击全部项目,然后右侧红圈中的内容就是项目key

c6ef299a9f2364dc1bf99ff352f54118.png

然后再选择导航栏中的总览,然后页面的右上角我们可以看到,点击获取AccessToken,点击他后显示的就是密钥。

ddd1eadb42f4ec6e93791d2603226e6c.png

上图是发音人对应的列表,超子选择的是思诚,在上图找一下,思诚对应的是Sicheng,这个就是发音人。语速,语调和音量我们在发布上线的时候,都记下来了,分别是 -68,50,50。我需要合成的文字是“语音合成服务,通过先进的深度学习技术,将文本转换成自然流畅的语音。目前有多种音色可供选择,并提供调节语速、语调、音量等功能。适用于智能客服、语音交互、文学有声阅读和无障碍播报等场景”,所有需要替换的内容我们都准备好了,然后我们新建一个txt文档,在里面重新构建一下请求数据。

4d5a417f52766af253d984b4d9399ff3.png

一定要小心仔细的替换数据,替换完毕后,我们点击另存为,一定是另存为。

7651a6b7ab1b5d94bf17b5f3ed5fb55e.png

选择编码方式UTF-8,然后点击保存即可。这时候我们需要发送给阿里云的请求数据就准备完毕了,接下来就是发送请求语音合成的报文,我们打开网络调试助手软件。

ef08813ef1f25de794679b1b5998fa09.png

红圈1:选择TCP Client

红圈2:不用管,软件自动获取的电脑IP地址

红圈3:填写阿里云语音合成域名和端口 nls-gateway.cn-shanghai.aliyuncs.com :80

红圈4:点击连接

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

我们要选择上十六进制显示,然后Content-Length:440后面一定要输入两个回车键,一定是两个回车。然后点击发送。

94ba3642f7a5a297d29dbe6cf53339a9.png

点击发送后,没有什么现象,然后我们马上选择启用文件数据源,然后在弹出的对话框中选择我们前面保存的txt文档。

f1cd36d0c090f3dc3609108c8c215519.png

然后点击发送按键,稍等一会,等待阿里云合成数据。

f33e92c26b7eeea4f70b598d0f7ea313.png

合成后,阿里云返回16进制数据,我们先找 0D 0A 0D 0A,如上图红圈中所示的数据, 0D 0A 0D 0A后面的数据就是我们要写进mp3文件的16进制数据。然后我们打开winhex软件。

ca75e2668390c805488a8436700f7613.png

红圈1:我们新建一个空白的文件

红圈2:空文件大小是1,这个没关系,我们一会追加数据

红圈3:点击确定就行

1855b27e510a70849360029fb714a1db.png

建立成功后,如上图所示,只有1个字节00,然后我们把网络调试助手中0D 0A 0D 0A后面所有的数据复制到winhex内。

3e0d822dfc99eba2b1e6a80006bda9ae.png

注意复制的格式选择ASCII Hex,然后点击确定。

29d2ec62acb20c19105e2bf4216d790f.png

我们已经把数据追加进文件内,注意我们要把刚才的00删掉,00不是我们需要的数据。

771af3dac2e8759590f7e3662c4c9b67.png

然后我们点击保存,文件的扩展名是MP3,这个不要弄错了,如此一来,就能得到我们需要的mp3音频文件了。大家可以自己试试哦,有什么地方不明白的地方,可以问我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值