Andriod音频基础概念

声音响度:(Loudness)
音调:(Pitch)
音色:(Quality)
音频采样:Audio Sampling ,将声波波形信号通过ADC转换成计算机的二进制信号的过程。
采样:(Sampling)的核心是将连续的模拟信号转换为离散的数字信号
PCM:Pulse Code Moduation 脉冲编码调制
音频帧:(frame)在实际应用中,为了音频算法处理方便,一般将2.5ms~60ms为单位的数据量为一帧音频。

参数:某音频信号的采样率为8kHz、双通道、位宽为16bit,则一帧音频数据的大小为
int size = 8000Hz216bit*0.02s=5120bit=640bit

音频编码方式有PCM和ADPCM ,这些数据代表原始的数据音频信号,添加一些文件头信息,就可以存储为WAV文件,可以更容易地解析与播放。

ASoc 被分为Machine Platform和Codec三个部分,其中Machine驱动负责Platform和Codec之间的耦合和设备或板子待定的代码。
Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口DAL把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音频信号。

Machine:用于描述设备组件信息和特定的控制如耳机、外放。是指某一款机器,Machine几乎是不重复使用的,每个Machine上的硬件实现可能不一样,cpu不一样,音频的输入、输出不一样,Machine为CPU和Code、输入输出设备提供一个载体。

单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结合在一起才能完成整个音频设备的处理工作。

上一篇:ffmpeg参数编码大全


下一篇:如何解决Python打印汉字时报错UnicodeEncodeError: 'ascii' codec can't encode characters in positio