音频相概念扫盲——声音处理的过程

        首先,需要认识到的是,生活中声音都是模拟信号,比如正弦信号等。但是CPU能处理的信号是数字信号,所以需要进行AD转化,输入到系统处理后,通过DA转换,然后输入到音频系统进行放大等播放出来。

一、这里提到的几个过程进行简单描述

1. AD转换

对模拟信号进行 采样-----》保持-----》量化 ------》 编码

采样还有许多参数,比如分辨率、采样精度、采样量程等,挑几个在音频中经常使用的描述一下

(1)采样频率:AD转换器在单位时间内对模拟信号的采样次数。采样应该遵行采样定理:奈奎斯特采样定理奈奎斯特采样定理icon-default.png?t=M3K6https://baike.baidu.com/item/%E9%87%87%E6%A0%B7%E5%AE%9A%E7%90%86/8599843?fr=aladdin

对于音频,一般是11025Hz、22050Hz或者44100Hz,安卓目前一般用44100Hz。

人耳的听觉访问是:20~20000Hz,根据采样定理因此 44100Hz 足够使用了,大于44100Hz,一方面是人耳也识别不了,另一方面是playload也比较大,对系统编程要求比较高。

(2) 采样位数(量化):对于每一次的采样,用多少bit来存储它,常用的8bit 或者16bits。

假如,采用44100Hz,16bit来对音频进行采样,那么一秒钟采样数据就有 86 KB,挺大的了。

2. 音频信号输入到系统和输出的通道

一般是通过I2S进行传输,相关的介绍可以参照百度百科:I2S_百度百科I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。https://baike.baidu.com/item/I2S/3443390?fr=aladdin3、系统处理

具体有哪些,还在不是特别明确,但是应该有控制,比如什么时候该播放什么音频。

4、 DA转换

AD的逆过程。

一般来说,AD、DA 和DA后的放大(功放)有可能集成在一块芯片或者 功放单独出来(目前的项目是这样)。

二、音频信号在安卓系统中的呈现方式(PCM)

1. 什么是PCM?
PCM(Pulse Code Modulation,脉冲编码调制)音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准数字音频数据。
描述PCM数据的6个参数:
Sample Rate : 采样频率。8kHz(电话)、44.1kHz(CD)、48kHz(DVD)。
Sample Size : 量化位数。通常该值为16-bit。
Number of Channels : 通道个数。常见的音频有立体声(stereo)和单声道(mono)两种类型,立体声包含左声道和右声道。另外还有环绕立体声等其它不太常用的类型。
Sign : 表示样本数据是否是有符号位,比如用一字节表示的样本数据,有符号的话表示范围为-128 ~ 127,无符号是0 ~ 255。
Byte Ordering : 字节序。字节序是little-endian还是big-endian。通常均为little-endian。字节序说明见第4节。
Integer Or Floating Point : 整形或浮点型。大多数格式的PCM样本数据使用整形表示,而在一些对精度要求高的应用方面,使用浮点类型表示PCM样本数据。
2. PCM数据格式
如果是单声道的音频文件,采样数据按时间的先后顺序依次存入(有的时候也会采用LRLRLR方式存储,只是另一个声道的数据为0),如果是双声道的话就按照LRLRLR的方式存储,存储的时候与字节序有关。big-endian模式如下图所示:

 总的来看 PCM如下图

 

 关于pcm,参考相关博客,具体是哪一个,没能记住链接,在此表示感谢。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PCIE(Peripheral Component Interconnect Express)是一种计算机扩展总线标准,用于连接外部设备与计算机主板之间的数据传输。PCIe连接的设备可以是显卡、声卡、网卡等。 Flow control(流量控制)是PCIE中的一种基础机制,用于在设备之间传输数据时确保数据的可靠传输。 PCIE的flow control可以分为两种方式:Credit-based Flow Control(基于信用控制)和Acknowledgment/Negative Acknowledgment Flow Control(确认/否定确认控制)。 基于信用控制是PCIE中最常用的流量控制机制。发送方设备在发送数据之前会向接收方设备发送一个信用(credit)值,表示发送方设备可以发送的最大数据量。接收方设备在接收到数据后会发回一个更新的信用值给发送方设备,发送方设备根据接收到的信用值确定下一次可以发送的数据量。通过这种方式,可以有效控制不同速度的设备之间的数据传输,避免数据丢失或信道阻塞。 确认/否定确认控制是PCIE中的一种备用方式,当发送方设备发送数据后,接收方设备会发回一个确认或否定确认信号给发送方设备,以告知是否成功接收数据。如果发送方设备收到否定确认信号,则会重新发送数据,确保数据的可靠性。 总结来说,PCIE中的flow control机制是为了确保数据的可靠传输而设计的。基于信用控制和确认/否定确认控制是两种常用的流量控制方式,可以根据不同的需求选择适合的方式来控制数据的传输。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值