海思音频开发

《音视频应用开发系列文章目录》

海思音频文档

原始音频信号以模拟信号的形式给出后,通过 Audio Codec,按一定采样率和采样精度转换为数字信号。 Audio Codec 以 I2S 时序或 PCM 时序的方式,将数字信号传输给 AI设备。芯片利用 DMA 将 AI 设备中的音频数据搬移到内存中,完成录音操作。播放和录音是基于同样的原理。芯片利用 DMA 将内存中的数据传输到 AO 设备。 AO设备通过 I2S 时序或 PCM 时序向 Audio Codec 发送数据。 Audio Codec 完成数字信号到模拟信号的转换过程,并输出模拟信号。

理解图解

海思音频开发_第1张图片

音频编码录制流程

1、音频输入属性(见AIO_ATTR_S结构体);

2、配置音频编码、解码模块(ACODEC);

3、设置AI设备属性;启用AI设备;启用AI通道;(启用AI噪声抑制、启用AI重采样,此两项可选。);

4、根据音频编码协议创建音频编码通道;

5、绑定音频编码通道到音频输入通道;

6、HI_MPI_AENC_GetFd(AENC_CHN AeChn)获取音频编码通道的Fd;

7、HI_MPI_AENC_GetStream从编码通道获取编码之后的音频数据;

8、用户保存或者转发此数据。

音频解码播放流程

1、音频输出属性(见AIO_ATTR_S结构体)初始化;

2、配置音频编码、解码模块(ACODEC);

3、根据音频编码协议创建音频解码通道;

4、设置AO设备属性;启用AO设备;启用 AO通道(启用AO重采样,此项可选);

5、绑定音频输出通道到音频解码通道;

6、向每包待发送的音频数据头添加4字节的海思音频协议头;

7、HI_MPI_ADEC_SendStream向音频解码通道发送组合之后的音频数据包;

8、播放声音。

 

 

你可能感兴趣的:(音视频应用开发,嵌入式,Linux,ARM)