前面曾对这款语音合成模块的用法进行了介绍,那它是如何来处理中文信息合成的呢?
要进行中文信息的合成处理,自然也要遵循其指令规则。
对于字符类的信息合成,其指令规则是:
FD 00 (数据字节数+2) 01 00 (信息的字节编码序列)
而对于中文来说,其信息合成,其指令规则是:
FD 00 (数据字节数+2) 01 03 (中文信息的字节编码序列)
对于中文信息来讲,其信息编码有多种方式,国标码、BIG5编码等。
那在中文信息合成是采用哪一种呢?
这里我们可以进行一下测试,并通过它来说明这个问题。
以播放“个十百千万”的读音为例,其方式的指令如图1所示。

图1 播放“个十百千万”读音
其中,“2A 4E 41 53 7E 76 43 53 07 4E”是播放的数据内容,共有10个字节。
10+2=12=0CH,这正是制定数据的字节长度。
那这个编码是如何获得的呢?
通过在线编码转换软件,我们可以得到“个十百千万”的编码,见图2所示。

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

图3 进制转换
由此可见,十进制的20010等于十六进制的4E2AH,其它类似。
由于一个汉字要占2个字节,故4E2AH就是“个”的编码。
而在信息数据中,使用的是“2A 4E”,就是说在使用是需要高低位要进行字节互换。
至此,返回到我们前面提出的问题,其使用的汉字编码为UniCode编码方式,且在使用时要高低字节交换。
为此,我们就全面弄清了中文信息合成的处理方法,在使用中遵循其规则就可自如地播报中文语音信息啦!
我要赚赏金
