音频播放和TTS
模块支持播放音频文件和TTS(文字转语音)功能,音频文件目前支持mp3,amr,pcm
AT模式
TTS(Text To Speech)功能:AT+CTTS
语法规则:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
TTS工作模式 | 0 | 停止播放TTS | |
1 | 播放TTS,
| ||
2 | 播放TTS,
| ||
| TTS文本 | 中文和数字 | |
TTS工作状态 | 0 | TTS非播放状态 | |
1 | TTS播放状态 |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
TTS工作模式 | 0 | 停止播放TTS | |
1 | 播放TTS,
| ||
2 | 播放TTS,
| ||
| TTS文本 | 中文和数字 | |
TTS工作状态 | 0 | TTS非播放状态 | |
1 | TTS播放状态 |
举例:
命令(→) /返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+CTTS=2,“123,欢迎你的到来” | 播放数字和中文。 注:目前暂时无法播放英文,
|
← | OK | |
←(URC) | +CTTS:0 | 播放完毕,会有这个URC上报 |
→ | AT+CTTS=0 | 也可以在播放过程中用这个命令终止播放 |
← | OK |
设置 TTS 播放模式:AT+CTTSPARAM
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+CTTSPARAM=, ,,[,] | OK |
查询命令 | AT+CTTSPARAM? | +CTTSPARAM:,,,, OK |
测试命令 | AT+CTTSPARAM=? | OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
TTS播放音量 | 0-100 | 缺省值为50 | |
TTS播放模式, range:0-3 | 0 | auto read digit, and read digit based on number rule first | |
1 | auto read digit, and read digit based on telegram rule first | ||
2 | read digit based on telegram rule | ||
3 | read digit based on number rule | ||
TTS播放音高 | 1-100 | 缺省值为50 | |
TTS播放速度 | 1-100 | 缺省值为50 | |
TTS播放通道 | 0 | main channel | |
1 | aux channel |
语音文件播放:AT+CAUDPLAY
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+CAUDPLAY=[,] | OK |
查询命令 | AT+CAUDPLAY? | +CAUDPLAY: |
OK | ||
测试命令 | AT+CAUDPLAY=? | +CAUDPLAY: (取值范围列表), OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
使用模式 | 1 | 开始播放(start) | |
2 | 停止播放(stop) | ||
3 | 暂停播放(pause) | ||
4 | 恢复播放(resume) | ||
音频文件名字 | PCM,WAV,MP3。需要加后缀 |
举例:
命令(→) /返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+FSCREATE=“111.mp3” | 创建音频文件 |
← | OK | |
→ | AT+FSWRITE=“111.mp3”,0,6314,20 | 输入音频文件。这里长度6314只是举例,请以实际为准 |
← | > | 这里输入音频文件内容(二进制,即16进制) |
← | OK | |
→ | AT+CAUDPLAY=1,“111.mp3” | 播放音频文件注:音频文件名字需要加后缀 |
← | OK | |
→ | AT+CAUDPLAY=3 | 暂停播放 |
← | OK | |
→ | AT+CAUDPLAY=4 | 恢复播放 |
← | OK | |
→ | AT+CAUDPLAY=2 | 终止播放 |
← | OK |
语音通道切换:AT+AUDCH
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+AUDCH=<out_channel>,<in_channel> | OK |
查询命令 | AT+AUDCH? | +AUDCH: <out_channel>,<in_channel> OK |
测试命令 | AT+AUDCH=? | +AUDCH: (range of <out_channel>s,list of <in_channel>s) OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<out_channel> | 音频输出通道 | 0 | 通道 0,听筒(receiver) |
1 | 通道 1,耳机(headphone) | ||
2 | 通道 2,喇叭(speaker) | ||
<in_channel> | 音频输入通道 | 0 | main mic |
1 | auxilary mic | ||
3 | headphone mic left | ||
4 | headphone mic right |
本地音频播放音量控制:AT+CRSL
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+CRSL= | OK |
查询命令 | AT+CRSL? | +CRSL: OK |
测试命令 | AT+CRSL=? | +CRSL: (取值范围) OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
音频通道 | 0~100 | 0 声音最小,100 声音最大。缺省值为 60 |
相关资料以及购买链接
相关开发板购买链接
Air724UG开发板
Air724 开发板使用说明
常见问题
- 在进行TTS播报时,手动中止后,继续发送下一条TTS,出现报错,主要是因为:在TTS不管自动播放还是手动中止都会有个URC上报(+CTTS:0),只有在收到该URC上报后再发送下一条TTS才不会报错。
- 模块TTS功能最长能支持播放多长的文本
支持2047字节的播放内容。使用AirM2M_720U_V301836_LTE_AT.pac 测试可以播放1023个汉字(里面有标点符号是没有播放的),如图播放了四分钟: