Hi3531A 3路 I2S 音频调试
一. 先来一波音频相关的基本概念
1、采样率
采样就是把模拟信号数字化的过程,不仅仅是音频需要采样,所有的模拟信号都需要通过采样转换为可以用0101来表示的数字信号,根据奈奎斯特理论,采样频率只要不低于音频信号最高频率的两倍,就可以无损失地还原原始的声音。通常人耳能听到频率范围大约在20Hz~20kHz之间的声音,为了保证声音不失真,采样频率应在40kHz以上。常用的音频采样频率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz等。
2、量化精度(位宽)
这个数值的数据类型大小可以是:4bit、8bit、16bit、32bit等等,位数越多,表示得就越精细,声音质量自然就越好,当然,数据量也会成倍增大。常见的位宽是:8bit 或者 16bit。
3、声道数
单声道(Mono)和双声道(Stereo)比较常见,顾名思义,前者的声道数为1,后者为2
4、 音频帧
音频跟视频很不一样,视频每一帧就是一张图像,而从上面的正玄波可以看出,音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的,我们可以计算一下一帧音频帧的大小:
假设某通道的音频信号是采样率为8kHz,位宽为16bit,20ms一帧,双通道,则一帧音频数据的大小为:
int size = 8000 x 16bit x 0.02s x 2 = 5120 bit = 640 byte
5、 编码方式
上面提到过,模拟的音频信号转换为数字信号需要经过采样和量化,量化的过程被称之为编码,根据不同的量化策略,产生了许多不同的编码方式,常见的编码方式有:PCM 和 ADPCM,这些数据代表着无损的原始数字音频信号,添加一些文件头信息,就可以存储为WAV文件了,它是一种由微软和IBM联合开发的用于音频数字存储的标准,可以很容易地被解析和播放。
二. hi3531a 的音频调试
本次调试使用的AD芯片是CS5354, 支持主从模式,板载3颗AD芯片,分别对应AIP0,AIP1,AIP2,同时海思的AIO也支持主从模式。
1、录音和播放的原理
原始音频信号以模拟信号的形式给出后,通过 Audio Codec,按一定采样率和采样精度转换为数字信号。Audio Codec 以 I2S 时序或 PCM 时序的方式,将数字信号传输给 AI设备。芯片利用 DMA 将 AI 设备中的音频数据搬移到内存中,完成录音操作。播放和录音是基于同样的原理。芯片利用 DMA 将内存中的数据传输到 AO 设备。AO设备通过 I2S 时序或 PCM 时序向 Audio Codec 发送数据。Audio Codec 完成数字信号到模拟信号的转换过程,并输出模拟信号。
需要注意的是:Codec 的时序模式选择、同步时钟、采样位宽等配置必须与 AI 设备的配置保持一致,否则可能采集
不到正确的数据。
2、 以第3路AD为例
使用的模式是3531a做主,CS5354做从,3531a给AD提供MCLK时钟,AD的引脚如下:
3、sample代码修改:
Ai -> Aenc -> file
//注掉 SAMPLE_COMM_AUDIO_CfgAcodec
AUDIO_DEV AiDev = SAMPLE_AUDIO_AI_DEV
//SAMPLE_AUDIO_AI_DEV 对应的是AI设备,第3路为:
#define SAMPLE_AUDIO_AI_DEV 2
stAioAttr.enSamplerate = AUDIO_SAMPLE_RATE_8000; //采样率
stAioAttr.enBitwidth = AUDIO_BIT_WIDTH_16; //位宽
stAioAttr.enWorkmode = AIO_MODE_I2S_MASTER; //主从模式
stAioAttr.enSoundmode = AUDIO_SOUND_MODE_MONO; //mono:单声道,stereo:立体声
s32AencChnCnt = 1;//s32AiChnCnt;
//编码方式选择pcm
static PAYLOAD_TYPE_E gs_enPayloadType = PT_LPCM;
//立体声stAioAttr.u32ChnCnt = 2;
4、调试信息
Ai(2,0) bind to AencChn:0 ok!
open stream file:"audio_chn0.pcm" for aenc ok
bind adec:0 to ao(0,0) ok
~ # cat /proc/umap/ai
[AI] Version: [Hi3531A_MPP_V1.0.4.0 B030 Release], Build Time: [Jan 13 2017, 17:17:20]
-----AI DEV ATTR---------------------------------------------------------------------------------------------------------
AiDev WorkMod SampR BitWid ChnCnt ClkCnt ClkSel SoundMod PoiNum ExFlag FrmNum
2 i2s_mas 8kHZ 16bit 1 20 0 mono 320 1 30
-----AI DEV STATUS-------------------------------------------------------------------------------------------------------
AiDev TranLen CBPhy CBSize ROffSet WOffSet
2 640 4ac4a000 1280 280 0
-----AI DEV EXTEND STATUS------------------------------------------------------------------------------------------------
AiDev enTrack bMute Volume
2 0 N 0
-----AI CHN STATUS----------------------------------------------------------------------------------------------------------------
AiDev AiChn State Read Write BufFul UsrQueLost UsrFrmDepth u32Data0 u32Data1 UserGet UserRls
2 0 enable 0 0 0 0 0 fffffffe ffff0003 0 0
-----AI CHN RESAMPLE STATUS-------------------------------------------------------------------------------------------------------
AiDev AiChn State bResmp PoiNum InSampR OutSampR
2 0 enable N 0 (null) (null)
-----AI CHN VQE STATUS0------------------------------------------------------------------------------------------------------------
AiDev AiChn State bVqe workmod RATE PoiNum GainVol bAnr bAgc bEq bHpf bAec bRnr bHdr bDrc bPeq WrFile
2 0 enable N comm (null) 0 0 N N N N N N N N N N
成功时,AI DEV STATUS的ROffSet数值,和AI CHN STATUS的u32Data0、u32Data1均有数据显示
ROffSet: DMA buffer 的读指针相对于起始地址的偏移量。
u32Data0: 通道 Buffer 中第一个 32 位数据。
u32Data1: 通道 Buffer 中第二个 32 位数据。
5、Adobe Audition 播放 pcm 编码音频
- 分享
- 举报
-
浏览量:5289次2021-08-05 13:59:50
-
浏览量:5565次2021-08-05 13:55:51
-
浏览量:7183次2021-08-04 17:14:53
-
浏览量:6396次2020-08-24 21:24:41
-
浏览量:2997次2020-08-03 11:02:46
-
浏览量:11683次2022-06-10 21:26:04
-
浏览量:1273次2023-09-18 11:05:06
-
浏览量:3074次2017-11-22 19:41:21
-
浏览量:5180次2021-05-19 15:43:27
-
浏览量:4250次2018-12-25 20:34:34
-
2020-08-05 20:23:18
-
浏览量:3303次2020-08-30 15:44:39
-
浏览量:1951次2020-07-28 20:16:56
-
浏览量:2352次2022-01-10 09:00:16
-
浏览量:5572次2020-04-23 19:40:24
-
浏览量:941次2024-01-24 18:13:58
-
浏览量:2922次2020-07-27 15:26:51
-
浏览量:10554次2021-03-03 17:39:18
-
浏览量:3602次2022-01-04 09:00:18
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
gcp
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明