示例-Luat demo-audio

简介

模块支持播放音频文件和TTS(文字转语音)功能,AT版本和LUAT版本均支持音频播放,AT版本和带TTS的LUAT版本支持TTS功能。音频文件目前支持mp3和amr.
见指南

材料准备

  1. EVB_Air724UG_A13开发板一套,包括USB线。
    图片.png
  2. 喇叭
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RJ1ejSbj-1624516464106)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210427113930314_喇叭.jpg “喇叭”)]
  3. luat开发环境:环境搭建方法

步骤

本文以demo/audio为例做演示。
示例代码和库下载
运行后日志打印如下:
[2021-04-27 11:11:45.334] [I]-[audio.play] 1 TTS 上海合宙通信科技有限公司欢迎您 7 nil true 2000
[2021-04-27 11:11:45.334] [I]-[audioTask] wait LIB_AUDIO_PLAY_ENTRY
[2021-04-27 11:11:45.379] [I]-[audioTask] TTS #audioQueue 1
[2021-04-27 11:11:45.379] [I]-[audioTask] TTS wait LIB_AUDIO_PLAY_IND
会听到循环播放“上海合宙通信科技有限公司欢迎您”。
代码逻辑:先判断是否是带TTS功能的底包(string.match(rtos.get_version(),“TTS”)),然后设置5秒后调用testPlayTts(sys.timerStart(testPlayTts,5000)),最后在testPlayTts里循环播放,音量等级7,循环间隔为2000毫秒(audio.play(TTS,“TTS”,ttsStr,7,nil,true,2000)).

常见问题

  1. 播放提示priority error”,原因是优先级高的音频还没有播放完。分析方法:在audio.lua开源库里看日志打印的地方。解决办法:可根据应用需要提高优先级。
  2. TTS功能问题
    不支持英文单词朗读,仅支持单字母朗读,例如bye,不会读成“白”,会读成“比、外、一”

数字朗读时,根据特殊标记,可作为数值连续,也可以作为号码连读。默认是自动识别;
例如"10086",默认状态下,根据语义,可能读成“幺零零八六”,也可能读成“一万零八十六”。
如果主动配置为号码来读,加[n1]标记,变成"[n1]10086",会读成“幺零零八六”
如果主动配置为数值来读,加[n2]标记,变成"[n2]10086",会读成“一万零八十六”

更多文本标记参考:Aisound5.pdf

相关开发板购买链接

Air724UG开发板
Air724 开发板使用说明

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值