这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 有奖活动 » Gravity:中英文语音合成模块V2.0及其串口控制

共3条 1/1 1 跳转至

Gravity:中英文语音合成模块V2.0及其串口控制

菜鸟
2026-02-05 22:11:34     打赏

在以往的语音播报应用中,个人多是采用串口控制型的MP3语音模块来实现,其特点是它用TF卡来存储待播放的语音片段,故存放语音片段的容量是充裕的。但它也有不足之处,即事先要录制或合成好待使用的语音片段,因而前期的准备工作是必不可少的且有些繁琐。

Gravity: 中英文语音合成模块是一款支持中文、英文及中英文混合的文字转语音合成的功能模块并具有发音自然准确的特点

该模块采用Gravity标准接口,可支持I2C与UART两种通信协议,轻松兼容Arduino、micro:bit等主流开发板板。此外,它最大优势在于即插即用,因为它自身已板载喇叭音频电路,无需任何外接元件在使用时,仅需简单几行代码即可实现应用开发中的语音化处理故能极大降低语音处理的应用门槛

该模块的技术规格为:

供电电压:3.3V~5V

工作电流:160mA

I2C地址:0x40

工作温度范围:-40℃~85℃

产品尺寸:42*32mm

该模块的主要应用场景为机器人对话、智能家居提示、环境检测数据播报等场景面向的对象为创客、教育工作者及应用开发者。

该模块的外观如图1所示,该模块的器件布局见图2。

image.png

1 模块外观

image.png

2 器件布局

模块相关引脚的用途见图3所示,提供板载的模式开关可进行I2CUART间的模式切换。

image.png

3 引脚功能

在程序设计方面,它支持以Mind+Arduino IDEPython等进行开发,其中的Mind+是一种采用积木拼接式的编程模式,其界面见图4所示。

image.png

4 程序搭建与测试

 

在开发板的选取方面,它常见的支持板型如图5所示。

image.png

5 常见板型

Arduino UNO开发板为例,其两种通信模式的连接方式如图6所示。

image.png

6 连接方式

如果手头没有这类板卡,是否就无法进行使用了呢?

那也并非如此绝对,因为它毕竟是支持I2C或UART模式工作的,为此我们可以提供破解其指令协议来解决问题。

以播放"a b c d e f g"的发音为例,其播放指令为ss.speak(F("a b c d e f g"));

 在使用开发板控制的情况下,它是通过内部的API函数来解析指令并予以执行。

I2C模式下,发送该指令的波形解析见图7所示。

image.png

7 波形解析

由此可知,出  I2C的从机地址是0x40外,其输出了一个“FD 00 0F 01 00”的数据序列,随后才是相应的输出字符序列。也就是说“FD 00 0F 01 00”是一个控制字,其后才是相应的输出内容。

随后,经反复测试又发现,在控制字中“OF”是一个数据量,指示着数据的多与少。该数值是发送的数据量+2。为"a b c d e f g"来说,其数据量为1313+2=15=0x0F

那么这种解析是否正确呢?

那就在串口模式下测试一下好了,由于串口模式下,要求波特率为115200,故需依此来设置。

为了发出A”的读音,可按图8所示来测试。

image.png

8 读音测试

经测试,发音正确,说明该解析是正确的。此外,我们还可以播放中文的内容。

由此,我们就可以完全摆脱开发板选型的制约,利用其指令协议来自如的开发和使用。

 

测试演示:





关键词: 语音合成播放测试    

高工
2026-02-06 10:02:30     打赏
2楼

这板子安静环境下识别率咋样?风噪场景下识别率降低程度咋样?唤醒词可定制?


菜鸟
2026-02-06 10:18:54     打赏
3楼

如有需要后面会写出来共大家参考。


共3条 1/1 1 跳转至

回复

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