音频使用说明¶
AT版本音频功能支持情况¶
| 音频功能 | A60/G60 | C60 | Q60 |
|---|---|---|---|
| TTS | 支持 | 支持 | 支持 |
| 音频播放/录音 | 支持 (X09/X19只支持pcm和mp3) | 支持 | 不支持 |
| 打电话 | 不支持 | 支持 | 不支持 |
CAUD指令音频播放和录音的编码支持情况:(播放: PCM AMR MP3 录音: PCM AMR)
X09/X19: RAM比较小,不支持AMR
W09C.C60: FLASH空间不足,只支持PCM
文档目的¶
本文章介绍如何使用AT版本音频相关AT指令, 实现客户能够快速的了解模组的音频功能
音频功能介绍¶
| 功能模块 | 说明 | 关键 AT 指令 |
|---|---|---|
| 打电话 | VoLTE 语音通话 | ATD / ATA / ATH 等 |
| CTTS | 文本转语音(TTS),将文字合成为语音输出 | +CTTS / +CTTSPARAM |
| CAUD 播放 | 本地音频文件播放(WAV/AMR/MP3)与录音 | +CAUDPLAY / +CAUDREC / +CAUDPARAM |
通用音量控制: 三大模块共用 +CLVL 指令调节软件音量和硬件音量。
管脚配置:CPAD指令, 配置管脚复用功能, 和电平电压
硬件接口说明¶
Codec(音频编解码芯片)¶
模组支持以下 Codec 类型,通过 +CAUDPARAM 的 CODECTYPE 参数选择:
| 类型值 | Codec 类型 | 通信接口 | 说明 |
|---|---|---|---|
| 0 | ES8311 | I2S + I2C | 支持全双工(输入+输出) |
| 1 | TM8211 | I2S | 输出 |
| 2 | PWM直驱 | PWM | 无需外接 Codec, PWM直接输出 |
| 3 | SPI 直驱 | SPI | 无需外接 Codec, SPI直接输出 |
- ES8311

- TM8211

- PWM直驱

- SPI直驱

I2S 数字音频接口¶
当使用外部 Codec 芯片时,通过 I2S 接口传输数字音频数据:
| 信号 | 方向 | 说明 |
|---|---|---|
| MCLK | 输出 | 主时钟 |
| BCLK | 输出 | 位时钟(Bit Clock) |
| LRCK | 输出 | 左右通道时钟(采样率同步) |
| DOUT | 输出 | 数据输出(模组 → Codec) |
| DIN | 输入 | 数据输入(Codec → 模组) |
I2C 接口¶
| 信号 | 说明 |
|---|---|
| SCL | I2C 时钟 |
| SDA | I2C 数据 |
PWM 接口¶
| 信号 | 说明 |
|---|---|
| PWM | PWM数据输出 |
| PWMN | PWMN数据反向输出 |
SPI 接口¶
| 信号 | 说明 |
|---|---|
| MOSI | SPI 数据输出 |
| SLCK | SPI 时钟 |
PA 使能控制¶
外接功放芯片由 GPIO 控制使能,可通过 +CAUDPARAM 的 PA 参数配置
Codec 供电控制¶
通过 +CAUDPARAM 的 CODECPOWER 参数配置 Codec 供电 GPIO
codec 类型选择¶
通过 +CAUDPARAM 的 CODECTYPE 参数配置 Codec 类型
TTS 速度,音量控制¶
通过+CTTSPARAM指令配置
支持的音频编码格式¶
| 格式 | 采样率 | 编码 | 适用场景 |
|---|---|---|---|
| PCM | 8kHz / 16kHz | 无压缩(WAV 容器) | TTS播放和本地的录音和播放 |
| AMR | 8kHz / 16kHz | AMR | 通话(AMR-NB AMR-WB) 本地录音和播放(AMR-NB) |
| MP3 | 根据mp3解析 | MPEG Audio | 仅支持本地mp3播放 |
测试用例¶
CODECEVB1.0 开发板¶
CODECEVB1.0 开发板: 支持ES8311 PWM SPI 3种配置
AT手册:docs.yuge-info.com/lib/exe/fetch.php?media=ec:x09:域格cat.1模组_移芯ec716平台系列_at指令手册_v2.6.pdf
ES8311¶
ES8311-打电话¶
at+CEREG? //网络注册成功
+CEREG: 0,1
OK
AT+CAUDPARAM="CODECTYPE",0 //配置成CODEC 8311
OK
ATD171****1581; //打电话
OK
ES8311-TTS播放¶
AT+CAUDPARAM="CODECTYPE",0 //配置成CODEC 8311
OK
AT+CTTS=2,"1234" //播放TTS
OK
+CTTS:0
ES8311-录音¶
AT+CAUDREC=1,1.wav,1,3,4 //录音wav即pcm格式保存到文件系统
OK
+CAUDREC: 0
AT+CAUDREC=1,2.amr,1,3,4 //录音amr格式保存到文件系统
OK
+CAUDREC: 0
ES8311-本地文件播放¶
AT+CAUDPLAY=1,"1.wav" //播放录音的wav文件
OK
+CAUDPLAY: 1,5080
AT+CAUDPLAY=1,"2.amr" //播放录音的amr文件
OK
+CAUDPLAY: 1,5165
AT+FSCREATE=3.mp3 //创建mp3文件
OK
AT+FSwrite=3.mp3,0,8967,1000 //写入mp3数据
>
OK
AT+CAUDPLAY=1,"3.mp3" //播放mp3文件
OK
+CAUDPLAY: 1,1675
PWM直驱¶
PWM-TTS播放¶
AT+CAUDPARAM="CODECTYPE",2 //配置成PWM 直驱
OK
AT+CTTS=2,"1234"
OK
+CTTS:0
PWM-播放本地文件¶
AT+CAUDPARAM="CODECTYPE",2 //配置成PWM 直驱
OK
AT+CAUDPLAY=1,"1.wav" //播放录音的wav文件
OK
+CAUDPLAY: 1,5080
AT+CAUDPLAY=1,"2.amr" //播放录音的amr文件
OK
+CAUDPLAY: 1,5165
AT+FSCREATE=3.mp3 //创建mp3文件
OK
AT+FSWRITE=3.mp3,0,8967,1000 //写入mp3数据
>
OK
AT+CAUDPLAY=1,"3.mp3" //播放mp3文件
OK
+CAUDPLAY: 1,1675
SPI直驱¶
SPI-TTS播放¶
AT+CAUDPARAM="CODECTYPE",3 //配置成SPI 直驱
OK
AT+CTTS=2,"1234"
OK
+CTTS:0
SPI-播放本地文件¶
AT+CAUDPARAM="CODECTYPE",3 //配置成SPI 直驱
OK
AT+CAUDPLAY=1,"1.wav" //播放录音的wav文件
OK
+CAUDPLAY: 1,5080
AT+CAUDPLAY=1,"2.amr" //播放录音的amr文件
OK
+CAUDPLAY: 1,5165
AT+FSCREATE=3.mp3 //创建mp3文件
OK
AT+FSWRITE=3.mp3,0,8967,1000 //写入mp3数据
>
OK
AT+CAUDPLAY=1,"3.mp3" //播放mp3文件
OK
+CAUDPLAY: 1,1675
AI CORE1.0开发板¶
AI CORE1.0 硬件资料参考 AI开发板(按键) - YM310 CAT1移芯系列模组资料
AT+CAUDPARAM="CODECTYPE",0
OK
//I2S 的默认配置改成别的
AT+CPAD=0,62,0
OK
AT+CPAD=0,63,0
OK
AT+CPAD=0,64,0
OK
AT+CPAD=0,28,0
OK
AT+CPAD=0,29,0
OK
//配置实际的 I2S
AT+CPAD=0,63,6
OK
AT+CPAD=0,101,6
OK
AT+CPAD=0,16,6
OK
AT+CPAD=0,74,6
OK
AT+CPAD=0,99,6
OK
//配置I2C
AT+CPAD=0,66,1
OK
AT+CPAD=0,67,1
OK
//配置PA
AT+CAUDPARAM="PA",1,19,0
OK
//配置电压
AT+CPAD=2,3300
OK
//TTS 播放
AT+CTTS=2,"1234"
OK
+CTTS:0