PCM

Pulse-code modulation的缩写,中文译名是脉冲编码调制。(I2S仅仅是PCM的一个分支,接口定义都是一样的, I2S的采样频率一般为44.1KHZ和48KHZ做,PCM采样频率一般为8KHZ、16KHZ。有四组信号: 位时钟信号,同步信号,数据输入,数据输出。)

PCM信号的两个重要指标是采样频率和量化精度,目前,CD音频的采样频率通常为44100Hz,量化精度是16bit。

主要实现两大功能:

  • playback    如何把用户空间的应用程序发过来的PCM数据,转化为人耳可以辨别的模拟音频
  • capture     把mic拾取到得模拟信号,经过采样、量化,转换为PCM信号送回给用户空间的应用程序

EQ

EQ英文全称Equaliser,中文也就是均衡器的意思。它的基本作用是通过对声音某一个或多个频段进行增益或衰减,从而达到调整音色的目的。EQ通常包括以下三个参数:

Frequency,频率――这是用于设定你要进行调整的频率点的参数;

Gain,增益――用于调整在你设定好的F值上进行增益或衰减的参数;
Quantize,频宽比――用于设定你要进行增益或衰减的频段“宽度”的参数。Q值越小处理的频段就越宽。
应用角度说明:
音乐均衡器有两种常见类型,一种是图示均衡器(Graphic Equalizer),另一种是参量均衡器(Parametric Equalizer)。
图示均衡器是一种按照一定的规律把全音频20~20000 Hz划分为若干的频段,每个频段对应一个可以对电平进行增益或衰减的调节器,可以根据需要,对输入的音频信号按照特定的频段进行单独的增益或衰减。
参量均衡器不划分固定的波段,可对任意一个频率点(包括频点附近指定频率带宽内的所有点)进行控制,通过调整带宽,使得调节控制可精确(小带宽),也可模糊(大带宽),非常灵活。
参量均衡器操作控制不直观,多用在对声音精确控制的专业场合。而像Winamp和Foobar这样的音频播放器,多采用图示均衡器,通过一个带调节器的图形面板可以让用户很方便地对特定频段进行调节。
信号形态角度说明:
均衡器又可以分为时域均衡器和频域均衡器两种类型。
时域均衡器对时域音频信号通过叠加一系列滤波器实现对音色的改变,无论是传统的音响设备还是众多音乐播放软件,绝大多数都是使用时域均衡器。时域均衡器通常由一系列二次IIR滤波器或FIR滤波器串联组合而成,每个波段对应一个滤波器,各个滤波器可以单独调节,串联在一起形成最终的效果。但是,传统的IIR滤波器具有反馈回路,会出现相位偏差,而FIR滤波器会造成比较大的时间延迟。另外,如果使用IIR或者FIR滤波器,均衡器波段越多,需要串联的滤波器的个数也越多,运算量也越大。
频域均衡器是在频域内直接对指定频率的音频信号进行增益或衰减,从而达到改变音色的目的。频域均衡器没有相位误差和时间延迟,而且不固定波段,可以对任意频率进行调节,不仅适用于图示均衡器,也适用于参量均衡器。特别是采用快速傅里叶变换这样的算法,可以进行更快速的运算,即便是多段均衡器也不会引起运算量的增加。
 

DRC

Dynamic Range Control(DRC)动态范围控制提供压缩和放大能力,可以使声音听起来更柔和或者更大声,即一种信号幅度调节方式。

PCM EQ DRC 音频处理的更多相关文章

  1. 如何将Pcm格式的音频文件转换成Wave格式的文件

    最近在做一款变声App,其中就用到了将pcm格式转wave格式,下面贴出源代码,希望带有需求的童鞋有帮助!!!这里是c++语言写的,也可以用java实现.当然java调用native函数要用到jni技 ...

  2. Android音频处理——通过AudioRecord去保存PCM文件进行录制,播放,停止,删除功能

    Android音频处理--通过AudioRecord去保存PCM文件进行录制,播放,停止,删除功能 音频这方面很博大精深,我这里肯定讲不了什么高级的东西,最多也只是一些基础类知识,首先,我们要介绍一下 ...

  3. 痞子衡嵌入式:PCM编码与Waveform音频文件(.wav)格式详解

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PCM编码及Waveform音频文件格式. 嵌入式里有时候也会和音频打交道,比如最近特别火的智能音箱产品,离不开前端的音频信号采集.降噪 ...

  4. 音频播放封装(pcm格式,Windows平台 c++)

    介绍 pcm格式是音频非压缩格式.如果要对音频文件播放,需要先转换为pcm格式. windows提供了多套函数用于播放,本文介绍Waveform Audio Functions系列函数. 原始的播放函 ...

  5. Android下基于PCM的音频渲染

    环境准备 请按照我之前的文章-Android下基于SDL的位图渲染,安装必要的开发环境. 实践篇 这里主要参考Beginning SDL 2.0(6) 音频渲染及wav播放,只不过将源从WAV文件改成 ...

  6. 视音频数据处理入门:PCM音频采样数据处理

    ===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...

  7. 基于FFmpeg的音频编码(PCM数据编码成AAC android)

    概述 在Android上实现录音,并利用 FFmpeg将PCM数据编码成AAC. 详细 代码下载:http://www.demodashi.com/demo/10512.html 之前做的一个demo ...

  8. Android 音视频开发(一):PCM 格式音频的播放与采集

    什么是 PCM 格式 声音从模拟信号转化为数字信号的技术,经过采样.量化.编码三个过程将模拟信号数字化. 采样 顾名思义,对模拟信号采集样本,该过程是从时间上对信号进行数字化,例如每秒采集 44100 ...

  9. I2S/PCM/IOM-2、I2C/SPI/UART/GPIO/slimbus

    概述 I2S,PCM,IOM-2都是数字音频接口,传数据的. I2C,SPI,UART,GPIO是控制接口,传控制信令的. I2S I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频 ...

随机推荐

  1. python 管道 事件(Event) 信号量 进程池(map/同步/异步)回调函数

    ####################总结######################## 管道:是进程间通信的第二种方式,但是不推荐使用,因为管道会导致数据不安全的情况出现 事件:当我运行主进程的 ...

  2. Hadoop记录-Hadoop NameNode 高可用 (High Availability) 实现解析

    Hadoop NameNode 高可用 (High Availability) 实现解析   NameNode 高可用整体架构概述 在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDF ...

  3. elasticsearch 通过HTTP RESTful API 操作数据

    1.索引样例数据 下载样例数据集链接 下载后解压到ES的bin目录,然后加载到elasticsearch集群 curl -XPOST 127.0.0.1:9200/bank/account/_bulk ...

  4. POJ - 2057 The Lost House(树形DP+贪心)

    https://vjudge.net/problem/POJ-2057 题意 有一只蜗牛爬上某个树枝末睡着之后从树上掉下来,发现后面的"房子"却丢在了树上面,.现在这只蜗牛要求寻找 ...

  5. HDU 1098(条件满足 数学)

    题意是问是否存在非负整数 a,使得任取非负整数 x,f(x) 能够被 65 整除,其中 f(x) = 5*x^13 + 13*x^5 + k*a*x,如存在,输出 a 的最小值,如不存在,输出 no. ...

  6. Part-One

    首先,必须要声明一下,这个目录下的所有东西,是我对一本书复习,只是敲出部分代码让自己不至于眼高手低,其中有很多东西可能都是我的个人理解,如果有兴趣的朋友可以看一下,同时也欢迎大家指正. 1.Hello ...

  7. IO流----操作文件的9种方法代码实现

    IO流----操作文件的9种方法代码实现: 1:使用字节流读写数据: 四种方式: method1:          每次读写一个字节,边读边写: /* * 复制文本文件. * * 数据源:从哪里来 ...

  8. C++ vector和list的主要用法区别

    vector可以直接通过下标访问,list不可以 1.vector ; i < userTypes.size(); i++) { str = userTypes[i].typeName; } 2 ...

  9. 利用DNSLOG获取看不到的信息(给盲注带上眼镜)

    一.前言 本文原创作者:sucppVK,本文属i春秋原创奖励计划,未经许可禁止转载! 毕业设计总算搞得差不多了,这个心累啊.这不,完成了学校的任务,赶紧回来给蛋总交作业.今天给大家分享一个姿势吧,不是 ...

  10. 理解PHP中的会话控制

    会话控制是一种跟踪用户的通信方式,使用会话控制主要基于以下几点:由于http协议的无状态性,使得不能通过协议来建立两次请求之间的关联:对于通常的页面之间的数据传递方式get和post而言,主要处理参数 ...