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音频文件了。大家可以自己试试哦,有什么地方不明白的地方,可以问我。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Delphi是一种编程语言,可以用于开发各种应用软件。如果要开发一个MP3转换器,可以使用Delphi来实现。 在Delphi中,可以使用开源库或者第三方组件来操作MP3文件。例如,可以使用Bass音频库来解码和编码MP3文件。通过在Delphi项目中添加Bass库,并引入相关的单元文件,就可以使用Bass库提供的函数来进行MP3转换操作。 首先,需要使用Bass库的初始化函数初始化音频系统。然后,通过Bass库提供的函数,可以载入要转换MP3文件,并创建一个输出文件用于保存转换后的音频数据。 接下来,可以使用Bass库的函数设置输出文件的参数,例如音频格式、采样率、声道数等。然后,通过Bass库的函数设置输入文件的音频数据位置和长度,并创建用于存储解码后音频数据的缓冲区。 接着,可以使用Bass库的函数进行解码操作,将输入文件的音频数据解码成PCM格式。然后,再使用Bass库的函数进行编码操作,将PCM格式的音频数据编码成MP3格式,并将编码后的数据写入到输出文件中。 最后,完成转换操作后,需要关闭Bass库、释放相关资源,并关闭输入文件和输出文件。 以上仅是Delphi中进行MP3转换的一个简单过程,具体实现还需要根据具体的需求和使用的库或组件来调用相应的函数和方法。同时,还需要处理异常情况和错误处理,以确保程序的稳定性和正确性。总体来说,使用Delphi开发MP3转换器是可行的,但需要一定的编程经验和音频处理知识。 ### 回答2: Delphi 是一种非常强大的编程语言,它可以用来开发各种类型的应用程序,包括音频转换器。 要实现MP3文件的转换,首先需要理解MP3格式的特点和转换的基本原理。MP3 是一种经过压缩的音频格式,旨在减小文件大小而不显著降低音频质量。因此,MP3 转换涉及解压缩和重新编码音频。 在 Delphi 中,可以使用第三方库或组件来实现 MP3 转换功能。一些流行的库包括LAME(一个开源的MP3编码器)、BASS(一个强大的音频库)、FFmpeg(一个广泛应用于音视频处理的库)等。 使用这些库或组件,可以读取输入的音频文件,将其解压缩为原始的音频数据,然后进行重新编码,生成新的MP3文件。 具体实现步骤可能包括以下几个步骤: 1. 导入所需的库或组件到 Delphi 项目中。 2. 使用库或组件提供的函数或方法,打开并读取输入的MP3文件。 3. 解压缩音频数据,将其转换为原始音频。 4. 根据需要,可以进行音频处理(如降噪、均衡器等)。 5. 重新编码处理后的音频数据,并生成新的MP3文件。 6. 关闭文件并释放使用的资源。 需要注意的是,实现 MP3 转换可能涉及到音频数据的处理和编码技术,需要一定的编程知识和经验。因此,在实施过程中,可能需要参考相关的文档、示例代码和调试工具来解决可能出现的问题。 总之,使用 Delphi 实现 MP3 转换的关键是了解 MP3 格式、掌握相应的库和组件,并按照实现步骤进行编程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值