SYN6288 文字转语音输出(TTS)

SYN6288 文字转语音输出(TTS)

基于 FlexLua 低代码单片机技术,无需复杂单片机C语言开发。即使新手也可很容易用FlexLua零门槛开发各种功能丰富稳定可靠的 IoT 硬件,更多学习教程可参考 FlexLua 官网。

一、本章节实现功能介绍

一、本章节实现功能介绍

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

二、接线图

二、接线图

打开网易新闻 查看精彩图片

三、材料清单

三、材料清单

  1. SYN6288语音模块

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

四、完整代码

--初始化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++ 文本编辑器编写代码时,需保证如下设置:

打开网易新闻 查看精彩图片

六、代码运行结果

六、代码运行结果

  1. 如果按下BTN1按键,则开始播放语音,此时SYN6288模块上的红色Led灯会灭掉说明此时正在播放中
  2. 如果在播放中按下BTN2按键,则会立刻停止当前正在播放的内容
  3. 如果当前未在播放过程中,则按下BTN2按键不会有任何意义

打开网易新闻 查看精彩图片

七、一些扩展功能

七、一些扩展功能

(1)按特定音量播放

(1)按特定音量播放

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

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

(2)数字的不同读法

(2)数字的不同读法

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

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

(3)增加提示音效

(3)增加提示音效

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

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

(4)更多

(4)更多

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