跳到主要内容

SYN6288 文字转语音输出(TTS)

一、本章节实现功能介绍

通过SYN6288语音输出模块快外接喇叭(8Ω1W)语音播放文字信息。当Core开发板上的BTN1按键按下时开始播放,当BTN2按键按下时停止当前正在播放的内容。

二、接线图

layout

三、材料清单

名称推荐购买链接(或者你可以自己制作)模块/芯片硬件资料下载
SYN6288语音模块SYN6288语音模块下载地址
声明:这里推荐的购买链接仅供参考,您完全可以去其他商家或渠道购买,只要功能相似即可,如果需要更低的成本建议自己开发硬件模块或定制。

product0

product1

四、完整代码

--初始化BTN1按键(D10口就在Core开发板上连接着BTN1按键)
LIB_ButtonConfig("BTN1","D10","L")
--初始化BTN2按键(D11口就在Core开发板上连接着BTN2按键)
LIB_ButtonConfig("BTN2","D11","L")
--初始化SYN6288语音模块,占用Core的TX0和RX0引脚,语音文本编码为GB2312
--注意:这个文本编码必须是您当前用的代码编辑器的文本编码!
LIB_SYN6288Config("UART0","GB2312")
while(GC(1) == true)
do
--查询BTN1是否按下
key_value = LIB_ButtonQuery("BTN1")
if key_value == 1 then
--播放"你好,欢迎光临"
LIB_SYN6288Play("你好,欢迎光临")
end
--查询BTN2是否按下
key_value = LIB_ButtonQuery("BTN2")
if key_value == 1 then
--停止当前正在播放的语音
LIB_SYN6288Stop()
end
end
如果感兴趣,上面代码中出现的LIB开头的库函数可以在 API文档 中通过Ctrl+F查询。

五、需要重点注意的地方

调用 LIB_SYN6288Config 函数初始化设置的编码必须和您用的代码编辑器设置的编码一致才行,例如用 Notepad++ 文本编辑器编写代码时,需保证如下设置:

warn0

六、代码运行结果

  • 如果按下BTN1按键,则开始播放语音,此时SYN6288模块上的红色Led灯会灭掉说明此时正在播放中

  • 如果在播放中按下BTN2按键,则会立刻停止当前正在播放的内容

  • 如果当前未在播放过程中,则按下BTN2按键不会有任何意义

result0

七、一些扩展功能

(1)按特定音量播放

[v0]~[v16],其中v0为静音,v16为最大音量

--按最小音量v1播放"你好,欢迎光临"
LIB_SYN6288Play("[v1]你好,欢迎光临")

(2)数字的不同读法

[n1]表示后面的数字文本按照号码来读,[n2]表示后面的数字文本按照数值来读

--数字按号码读:幺,二,三
LIB_SYN6288Play("[n1]123")
--数字按数值读:一百二十三
LIB_SYN6288Play("[n2]123")

(3)增加提示音效

SYN6288提供25种提示音效,比如门铃声、刷卡声、闹钟声、报警声、布谷声等,标识分别为sounda ~ soundy,具体每个标识代表的音效请参考上文提供的下载资料中的《SYN6288技术手册》。

--播放"布谷 你好,欢迎光临",其中 sounds 代表“布谷”提示音效
LIB_SYN6288Play("sounds,你好,欢迎光临")

(4)更多

一些不常用的功能,比如多音字区别,强制组词,播放语速等功能,感兴趣的可以参考上文提供的下载资料中的《SYN6288技术手册》。