点击左上方蓝色“一口Linux”,选择“设为星标”
第一时间看干货文章
?【干货】嵌入式驱动工程师学习路线?【干货】Linux嵌入式知识点-思维导图-免费获取?【就业】一个可以写到简历的基于Linux物联网综合项目?【就业】找工作简历模版
slk1exq0osq64021949843.gif
1一口君后面会陆续更新基于瑞芯微rk3568的I2S系列文章。
预计10篇左右。有对语音感兴趣的朋友,可以收藏该专题。
《瑞芯微 | I2S-音频基础 -1》
《瑞芯微-I2S | 音频驱动调试基本命令和工具-基于rk3568-2》
《瑞芯微-I2S | ALSA基础-3 》
调试I2S,最常用到的测试文件就是wav格式和pcm格式,本文主要讲解语音格式相关知识点。
本文还用到逻辑分析仪,使用方法如下:
《推荐最近在使用的还不错的一款逻辑分析仪》
本文用到的 音频文件+逻辑分析仪软件+i2s数据波形 后台回复:i2s
一、pcm与pcm相关的几个参数:
1. PCM数据常用量化指标采样率(Sample rate):每秒钟采样多少次,以Hz为单位。采样率表示音频信号每秒的数字快照数。该速率决定了音频文件的频率范围。采样率越高,数字波形的形状越接近原始模拟波形。低采样率会限制可录制的频率范围,这可导致录音表现原始声音的效果不佳。根据 奈奎斯特采样定理,为了重现给定频率,采样率必须至少是该频率的两倍。例如,CD 的采样率为每秒 44,100 个采样,因此可重现最高为 22,050 Hz 的频率,此频率刚好超过人类的听力极限 20,000 Hz。位深度(Bit-depth):表示用多少个二进制位来描述采样数据,一般为16bit。位深度决定动态范围。采样声波时,为每个采样指定最接近原始声波振幅的振幅值。较高的位深度可提供更多可能的振幅值,产生更大的动态范围、更低的噪声基准和更高的保真度。字节序:表示音频PCM数据存储的字节序是大端存储(big-endian)还是小端存储(little-endian),为了数据处理效率的高效,通常为小端存储。声道数(channel number):当前PCM文件中包含的声道数,是单声道(mono)、双声道(stereo)?此外还有5.1声道等。采样数据是否有符号(Sign):要表达的就是字面上的意思,需要注意的是,使用有符号的采样数据不能用无符号的方式播放。
[/ol]以FFmpeg中常见的PCM数据格式s16le为例:
它描述的是有符号16位小端PCM数据s表示有符号,
16表示位深,
le表示小端存储。
2. PCM数据流PCM (Pulse Code Modulation) 也被称为脉冲编码调制。PCM 音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。 |