android的alsa应用中的一些概念和原理
来源:互联网 发布:transmit 5 mac 破解 编辑:程序博客网 时间:2024/05/29 05:11
以下概念是工作遇到的问题进行随时的整理,排列无顺序。
1.frame的概念
样本长度(sample):样本是记录音频数据最基本的单位,常见的有8位和16位。
声道数(channel):声道数是反映音频数字化质量的另一个重要因素,它有单声道和双声道之分。双声道又称为立体声,在硬件中有两条线路,音质和音色都要优于单声道,但数字化后占据的存储空间的大小要比单声道多一倍。
桢(frame):桢记录了一个声音单元,其长度为样本长度与通道数的乘积。
In the ALSA world, 1 frame = channels * sample
2.采样频率
采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。采样频率的选择应该遵循奈奎斯特(Harry Nyquist)采样理论:如果对某一模拟信号进行采样,则采样后可还原的最高信号频率只有采样频率的一半,或者说只要采样频率高于输入信号最高频率的两倍,就能从采样信号系列重构原始信号。
正常人听觉的频率范围大约在20Hz~20kHz之间,根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到DVD的音质。
note:在实际的android手机应用中,通话和录音一般是8K的采样频率,听歌是44.1K。
3.I2S解析
I2S有3个主要信号:
1.串行时钟SCLK,也叫位时钟BCLK,即对应数字音频的每一位数据,SCLK有1个脉冲。SCLK的频率=2×采样频率×采样位数。
2.帧时钟LRCK,用于切换左右声道的数据。LRCK为“0”表示正在传输的是左声道的数据,为“1”则表示正在传输的是右声道的数据。LRCK的频率等于采样频率。
3.串行数据SDATA,就是用二进制补码表示的音频数据。
有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍。
note:在我们平台上,MCLK的频率一般只有两种,我们在machine driver中设置的频率由上面的概念得出:
44100的采样频率,MCLK = 44100*256 = 11289600.
48000的采样频率,MCLK = 48000*256 = 12288000.
- android的alsa应用中的一些概念和原理
- XML的一些概念和原理
- Wolfram Language的一些概念和原理
- 图的一些概念和应用
- Android ALSA audio 的一些问题
- Java面向对象的一些概念和原理
- 【iOS7的一些总结】14、Block的概念和应用
- 浅谈Android应用开发中一些概念的理解
- Swift的一些特点,重要概念和应用
- 正则表达式的原理和介绍,应用(概念篇)
- 正则表达式的原理和介绍,应用(概念篇)
- 正则表达式的原理和介绍,应用(概念篇)
- 云计算技术的产生、概念、原理、应用和前景
- 云计算技术的产生、概念、原理、应用和前景
- 云计算技术的产生、概念、原理、应用和前景
- 云计算技术的产生、概念、原理、应用和前景
- 云计算技术的产生、概念、原理、应用和前景
- 云计算技术的产生、概念、原理、应用和前景
- 80386控制寄存器
- VS11体验情况
- string中c_str()、data()、cpy(p,n)函数的用法
- 史上最全的css hack(ie6-9,firefox,chrome,opera,safari)
- 在VC中如何结束进程和启动新进程
- android的alsa应用中的一些概念和原理
- Proxy 动态代理再次理解
- MFC 应用程序初始化与消息传递的 生死因果
- 在金山卫士开源中如何开源自己的项目
- send mail
- 物理地址与现行地址详解
- 【POI】Excel示例
- sdsadsa
- 苹果机上安装双系统 (Mac+Windows XP)步骤