FlexLua单片机低代码实现SYN6288 文字转语音输出(TTS)

96 篇文章 0 订阅
32 篇文章 0 订阅

SYN6288 文字转语音输出(TTS)

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

一、本章节实现功能介绍

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

二、接线图

3feb2d71f291c104401e5eb6052042e1.jpeg

三、材料清单

  • SYN6288语音模块

9181199de4282d951928f9d7372ddf37.jpeg

5b8efb9999a440d23cf441addb3ed405.jpeg

四、完整代码

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

ff5b29b60eebe1ee6327d3355c587fd1.jpeg

六、代码运行结果

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

fa3c48e5cb17564028790f7b0a777c4e.jpeg

七、一些扩展功能

(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技术手册》。

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值