这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 有奖活动 » Gravity:中文信息合成与特效生成测试

共1条 1/1 1 跳转至

Gravity:中文信息合成与特效生成测试

菜鸟
2026-02-06 14:22:15     打赏

前面曾对这款语音合成模块的用法进行了介绍,那它是如何来处理中文信息合成的呢?

要进行中文信息的合成处理,自然也要遵循其指令规则。

对于字符类的信息合成,其指令规则是:

FD 00 (数据字节数+201 00 (信息的字节编码序列) 

而对于中文来说,其信息合成,其指令规则是:

FD 00 (数据字节数+2 01 03 (中文信息的字节编码序列) 对于中文信息来讲,其信息编码有多种方式,国标码、BIG5编码等。 

那在中文信息合成是采用哪一种呢? 

这里我们可以进行一下测试,并通过它来说明这个问题。

以播放个十百千万”的读音为例,其方式的指令如图1所示。image.png

1 播放“个十百千万”读音 

其中,2A 4E 41 53 7E 76 43 53 07 4E”是播放的数据内容,共有10个字节。

10+2=12=0CH,这正是制定数据的字节长度。 

那这个编码是如何获得的呢?

通过在线编码转换软件,我们可以得到“个十百千万”的编码,见图2所示。

image.png

2 编码查询

为了便于处理,可通过计时器将这些编码转换为十六进制的形式,见图3所示。

image.png

3 进制转换 

由此可见,十进制的20010等于十六进制的4E2AH,其它类似。

由于一个汉字要占2个字节,故4E2AH就是“个”的编码。

而在信息数据中,使用的是2A 4E”,就是说在使用是需要高低位要进行字节互换。 

至此,返回到我们前面提出的问题,其使用的汉字编码为UniCode编码方式,且在使用时要高低字节交换。 

为此,我们就全面弄清了中文信息合成的处理方法,在使用中遵循其规则就可自如地播报中文语音信息啦!

掌握了中文信息合成的方法,那能否进行一些音效的处理呢?

这在模块设计时,也被充分考虑到啦,因为它配置了多样的辅助功能,从而使其性能更加丰富和完善。

其提供的辅助功能,由图4可以窥其一斑。

image.png

4  辅助功能

为下面就验证和测试其功能的有效性:

1.音量测试

设置音量=1的指令为“FD 00 07 01 04 5B 76 31 5D 00”,其中01H为音量值。

设置音量=9的指令为“FD 00 07 01 04 5B 76 39 5D 00”,其中09H为音量值。

发出“关客厅灯”的指令为“FD 00 0A 01 03 73 51 A2 5B 85 53 6F 70”,改变音量的测试过程见图1和图2所示。

image.png

5 设置音量=1

image.png

6 触发语音输出

音量控制效果为:

2.语速控制

设置语速=1的指令为“FD 00 07 01 04 5B 73 31 5D 00”,其中31H为音量值。

设置语速=9的指令为“FD 00 07 01 04 5B 73 39 5D 00”,其中39H为音量值。

发出“关客厅灯”的指令为“FD 00 0A 01 03 73 51 A2 5B 85 53 6F 70”。

其测试效果为:

3.语调控制

设置语调=30的指令为“FD 00 08 01 04 5B 74 65 33 30 5D 00”,其中33 30为音量值。

设置语调=70的指令为“FD 00 08 01 04 5B 74 65 37 30 5D 00”,其中37 30为音量值。

设置语调=100的指令为“FD 00 09 01 04 5B 74 65 31 30 30 5D 00”,其中31 30 30为音量值

发出“关客厅灯”的指令为“FD 00 0A 01 03 73 51 A2 5B 85 53 6F 70”。

其测试效果为:

经测试,这些特效功能还是比较实用的。




关键词: 语音合成模块    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]