音频处理关键知识点

1 引言

现实生活中,我们听到的声音都是时间连续的,我们称为这种信号叫模拟信号。模拟信号需要进行数字化以后才能在计算机中使用。

目前我们在计算机上进行音频播放都需要依赖于音频文件。音频文件的生成过程是将声音信息采样、量化和编码产生的数字信号的过程,人耳所能听到的声音,最低的频率是从20Hz起一直到最高频率20KHZ,因此音频文件格式的最大带宽是20KHZ。根据奈奎斯特的理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音,所以音频文件的采样率一般在40~50KHZ,比如最常见的CD音质采样率44.1KHZ。
 

2 音频信号

音频信号(audio signals)是表示机械波的信号,是机械波的波长、强度变化的信息载体。根据机械波的特征,可分为规则信号和不规则信号。其中规则信号又可以分为音乐等。规则信号是一种连续变化的模拟信号,可用一条连续的曲线来表示。

音频信号常见的分为:

  • 语音信号
  • 音乐信号

3 音频信号的模数转换

模数转换是指:现实中声音的模拟信号转换为数字信号的过程。

模数转换过程会经过一系列的信号处理过程:模拟信号-->采样->量化->编码->数字信号。

音频模拟信号-->数字信号转换

  • 模拟信号经过->抽样->量化->编码->数字信号

下面以麦克风的声音采集举例:

  • 首先,声波通过空气传播到麦克风的振膜。

  • 然后,振膜随空气抖动的振幅大小产生相应的电学信号。我们把这种带有声学表征的电学信号叫做模拟信号(Analog Signal)。

  • 最后,通过 A/DC(模数转换器)将模拟信号转换成数字信号(Digital Signal)。即通过 PCM(Pulse Code Modulation)脉冲编码调制对连续变化的模拟信号进行抽样、量化和编码转换成离散的数字信号。

4 声音的三要素

声音的三要素分别是音调、音量、音色,具体如下:

  • 音调:指的是声音频率的高低,表示人的听觉分辨一个声音的调子高低的程度,物体振动的快,发出的声音的音调就高,振动的慢,发出的音调就低。

  • 音量:又称音强、响度,指声音的振幅大小,表示人耳对所听到的声音大小强弱的主观感受。

  • 音色:又称音品,指不同声音表现在波形方面总是有与众不同的特性,不同的物体振动都有不同的特点,反映每个物体发出的声音的特有的品质,音色具体由谐波决定,好听的声音绝不仅仅是一个正弦波,而是谐波。

5 采样率sample rate

采样: 波是无限光滑的,采样的过程就是从波中抽取某些点的频率值,就是把模拟信号数字化。如下图所示:(蓝色代表模拟音频信号,红色代表采样得到的量化数值)

采样率:采样率就是 1 秒内采集到的采样点的个数,一般用赫兹 Hz 来表示。采样率是指将模拟信号转换成数字信号时的采样频率,人耳能听到的声音一般在 20Hz~20KHz 之间,根据采样定理,采样频率大于信号中最高频率的 2 倍时,采样之后的数字信号便能完整的反应真实信号,也就是说采样率和保留的声音频率基本上是 2 倍的关系.

由上图我们可以看到,16kHz 采样率的音频在 8kHz 以上的频谱基本是没有能量的(黑色),也就是说这部分高频的信息由于采样率不够已经丢失了。从听感上来说人耳可以听到的频率范围大概是 50~20kHz 之间。如果采样率不够,那么和实际听感比起来声音就会显得“低沉”或者说“闷”。

用多大的采样率取决于业务场景,下面列举了常见业务场景的采样率:

  • 8,000 Hz - voip电话所用采样率, 对于人的说话已经足够

  • 11,025 Hz-AM调幅广播所用采样率

  • 22,050 Hz和24,000 Hz- FM调频广播所用采样率

  • 32,000 Hz - miniDV 数码视频 camcorder、DAT (LP mode)所用采样率

  • 44,100 Hz - 音频 CD, 也常用于 MPEG-1 音频(VCD, SVCD, MP3)所用采样率

  • 47,250 Hz - 商用 PCM 录音机所用采样率

  • 48,000 Hz - miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率

  • 50,000 Hz - 商用数字录音机所用采样率

  • 96,000 或者 192,000 Hz - DVD-Audio、一些 LPCM DVD 音轨、BD-ROM(蓝光盘)音轨、和 HD-DVD (高清晰度 DVD)音轨所用所用采样率

  • 2.8224 MHz - Direct Stream Digital 的 1 位 sigma-delta modulation 过程所用采样率。

采样越高,声音的还原就越真实越自然,人对频率的识别范围是 20HZ - 20000HZ, 如果每秒钟能对声音做 20000 个采样, 回放时就足可以满足人耳的需求. 所以 22050 的采样频率是常用的, 44100已是CD音质, 超过48000的采样对人耳已经没有意义。这和电影的每秒 24 帧图片的道理差不多。

重采样: 主要是分为上采样和下采样,在进行采样的过程中,需要注意采样的倍率的问题,并不是可以随意的改变采样率的大小的,根据采样定理:在进行模拟/数字信号的转换过程中,当采样频率大于信号中最高频率的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号是最高频率的5~10倍。采样定理又称奈奎斯特定理。

  • 上采样: 在进行采样的过程中,通常是分为上采样和下采样的,而区分的依据是重新采样的时候新采样率和原采样率的大小的比较,如果是大于原信号就成为是上采样,如果是小于原信号就称为下采样。而上采样的实质也就是内插或插值。

  • 下采样: 新的采样率的大小小于原采样率的大小。

  • 方法: 重采样的时候,主要是有最邻近法、双线性内插法以及三次卷积内插法这三种。 在卷积网络中还有反卷积,亚像素卷积等。

6 采样位深Sample Bits

也叫采样位宽,采样深度,量化精度,采样后需要量化,每个采样点会有对应量化的数值,采样位深也就是每个采样点用多少 bit 来表示。从物理意义上来说,位深代表的是振动幅度的表达精确程度或者说粒度

"采样频率"和"采样位数"是数字化声音的两个最基本要素,相当于视频中的屏幕大小
(例如800*600)和颜色分辨率(例如24bit)。

音频量化的量化位数常用的有:

  • 8bit (也就是1字节) 只能记录 256 个数, 也就是只能将振幅划分成 256 个等级;   

  • 16bit  (也就是2字节) 可以细到 65536 个数, 这已是 CD 标准了;   

  • 24bit (3字节) 振幅可以达到1677216,DVD的标准

  • 32bit (也就是4字节) 能把振幅细分到 4294967296 个等级, 实在是没必要了

常用场景:

  • 网络电话中用的就是 16bit 的位深,这样不太会影响听感,并且存储和传输的耗费也不是很大。

  • 音乐或者更高保真度要求的场景中则可以使用 32bit 甚至 64bit 的位深来减少失真。

7 声道Sound Channel

也叫通道,声道是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。

音频声道是音频信号的独立通道,用于录制、存储和播放声音。音频声道的类型和配置直接影响听众的听觉体验。从单声道的简单配置到复杂的多声道环绕声系统,不同的声道配置被设计用来满足不同的音频播放需求,从基础的通信到高质量的音乐和电影欣赏。随着技术的进步,三维音频和立体声扩展等更先进的系统正在变得越来越普及,为用户带来更加沉浸和真实的听觉体验。

声道的分类如下:

  • 单声道(Mono)

定义: 单声道是最基本的声道类型,所有的声音都通过一个单一的声道播放。

特点: 单声道无法提供空间感,所有声源好像都来自同一个点。

应用: 常用于电话通信、无线电广播以及某些类型的语音录制。

  • 立体声(Stereo)

定义: 立体声使用两个声道(左和右)来播放声音,提供比单声道更丰富的听觉体验。

特点: 通过左右声道的不同,立体声能够模拟空间中的声音位置,给听者一种声音在空间中分布的感觉。

应用: 广泛应用于音乐、电影、电视和广播中。

  • 3. 多声道

A. 5.1环绕声

配置: 包含前左、前中、前右、后左、后右五个全频声道,加上一个低频效果声道(.1)。

特点: 能够在水平平面上提供全方位的声音体验,常用于家庭影院系统。

B. 7.1环绕声

配置: 在5.1环绕声的基础上增加了两个后环绕声道。

特点: 提供更加立体和包围感强的声音效果,常见于电影院和高端家庭影院。

  • 3D音频和立体声扩展

技术: 如杜比全景声(Dolby Atmos)和DTS:X,这些格式通过在垂直和水平平面上添加声道,创造出三维的声音空间。

应用: 用于提供更加沉浸式的听觉体验,特别是在电影院和某些高端家庭影音系统中。

  • 双声道(Dual,左声道和右声道 )

定义: 与立体声相似,但双声道录音中的两个声道可能独立且不意图创建空间感。

应用: 可用于某些音乐录制,其中两个声道分别录制不同的声音或乐器。

 8 码率

码率指的是比特率:声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。

单位为 bps(Bit Per Second),比特率越高,每秒传送数据就越多,画质就越清晰

码率 = 采样频率 * 量化位数 * 声道个数

不同码率的音频质量:

  • 32 kbps —MW(AM) 质量

  • 96 kbps —FM质量

  • 128 - 160 kbps –相当好的质量,有时有明显差别

  • 192 kbps — 优良质量,偶尔有差别

  • 224 - 320 kbps — 高质量

  • 800 bps – 能够分辨的语音所需最低码率(需使用专用的FS-1015语音编解码器)

  • 8 kbps —电话质量(使用语音编码)

  • 8-500 kbps --Ogg Vorbis和MPEG1 Player1/2/3中使用的有损音频模式

  • 500 kbps–1.4 Mbps —44.1KHz的无损音频,解码器为FLAC Audio,WavPack或Monkey's Audio

  • 1411.2 - 2822.4 Kbps —脉冲编码调制(PCM)声音格式CD光碟的数字音频

  • 5644.8 kbps —SACD使用的Direct Stream Digital格式

9 音频存储

音频存储也就是把量化所得的结果,即单个声道的样本,以二进制的码字进行存放。其中有两种存放方式:

  • 直接以整形来存放量化结果,即Two's complement code;
  • 以浮点类型来存放量化结果,即Floating point encoding code。

大多数格式的PCM样本数据使用整形来存放,而在对一些对精度要求高的应用方面,则使用浮点型来表示PCM 样本数据。

存储计算方式:

[时长]s * [采样率]Hz * [采样位数]bit * [声道数] / 8 = [文件大小]byte

某音频信号是采样率为8kHz、立体声道、位宽为16bit,时长为1s,则音频数据的大小为:

1 * 8000 * 16 *2 = 256000 bit / 8 = 32000 byte / 1024 = 31.25 KB

10 音频格式的封装

音频的封装格式分有损和无损封装格式:

  • 无损编码封装:APE,WAV,FLAC,AIFF,ALAC,AMA

  • 有损编码封装:MP3,AAC,AMR,WMA,RA,OGG

下面列举了常见的wav格式进行了一个梳理分析:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux无网络 无ip,显示网络未连接

标题:linux无网络 无ip,显示网络未连接 参考blog:Linux无网络连接问题排查 首先我们发现ens33没有ip地址,说明这个接口并没有被分到ip; 我们可以通过手动方式来给ens33获得网络ip sudo dhclient ens33,之后再输入ifc…

FPGA UltraScale GTH 全网最细讲解,aurora 8b/10b编解码,HDMI视频传输,提供2套工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 GT 高速接口解决方案3、详细设计方案设计框图视频源选择ADV7611解码芯片配置及采集动态彩条视频数据组包UltraScale GTH 全网最细解读UltraScale GTH 基本结构参考时钟的选择和分配UltraScale GTH 发送和接收处理流程UltraScale GTH 发送…

【小沐学Python】Python实现Web服务器(Flask+celery,生产者-消费者)

文章目录 1、简介2、安装和下载2.1 flask2.2 celery2.3 redis 3、功能开发3.1 创建异步任务的方法3.1.1 使用默认的参数3.1.2 指定相关参数3.1.3 自定义Task基类 3.2 调用异步任务的方法3.2.1 app.send_task3.2.2 Task.delay3.2.3 Task.apply_async 3.3 获取任务结果和状态 4、…

用CHAT如何写教研室工作总结?

问CHAT:写一份教研室工作总结 CHAT回复:以下是一个教研室工作总结的大纳,具体内容需要根据你们教研室的实际情况进行填充和修改。 教研室XXXX年度工作总结 1. 引言:简要介绍本年度工作总结的目的和主题。 2. 教育教学工作&…

Java核心知识点整理大全24-笔记

目录 22. 数据结构 22.1.1. 栈(stack) 22.1.2. 队列(queue) 22.1.3. 链表(Link) 22.1.4. 散列表(Hash Table) 22.1.5. 排序二叉树 22.1.5.1. 插入操作 22.1.5.2. 删除操作 2…

知识点滴 - 什么是半透膜和渗透压

半透膜和渗透作用 1748年的一天,法国物理学家诺勒为了改进酒的制作水平,设计了这样一个试验:在一个玻璃圆筒中装满酒精,用猪膀胱封住,然后把圆筒全部浸在水中。当他正要做下一步的工作时,突然发现&#xff…

DDOS攻击为何永不过时?

文章目录 一、DOS二、DDOS三、如何防范DDOS 1.可以过滤IP地址2.增加设备3.在骨干节点配置防火墙4.开启过滤5.配置DNS抗攻击6.白帽团队 四、白帽子 为什么二十年前中国红客们就在用的DDOS攻击直到现在还依然是黑客们最爱的攻击方法?二十年前的攻击技术为什么还不过…

基于Java SSM框架+Vue实现教学视频点播网站项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架Vue实现教学视频点播网站演示 摘要 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多学院的之中,随之就产生了“视频点播系统”,这样就让视频点播系统更加方便简单。 对于…

Java 学习之多态

多态的概念 多态 晚绑定。 所谓多态,就是父类型的引用可以指向子类型的对象,或者接口类型的引用可以指向实现该接口的类的实例。 不要把函数重载理解为多态。因为多态是一种运行期的行为,不是编译期的行为。 多态:父类型的引用可…

java源码-Java方法的定义和使用详解

1、 方法定义 如果我们想定义一个方法,基本语法如下: 修饰符:方法的修饰符是可选的,用于定义该方法的访问类型,可用的修饰符包括public/private/protected/默认的。 返回值:方法可以有返回值,…

线程中出现异常的处理

目录 前言 正文 1.线程出现异常的默认行为 2.使用 setUncaughtExceptionHandler() 方法进行异常处理 3.使用 setDefaultUncaughtExceptionHandler() 方法进行异常处理 4.线程组内处理异常 5.线程异常处理的优先性 总结 前言 在紧密交织的多线程环境中,异…

解决:ValueError: binary mode doesn‘t take an encoding argument

解决:ValueError: binary mode doesn‘t take an encoding argument 文章目录 解决:ValueError: binary mode doesn‘t take an encoding argument背景报错问题报错翻译报错位置代码报错原因解决方法方法一方法二今天的分享就到此结束了 背景 在使用之前…

USART的PAL库编程

USART驱动的工作原理 总结一下我们之前使用中断的方式来进行数据的发送和接收 如果收到数据数据在RDR寄存器中 RXNE标志位就从0到1触发中断 进入中断服务函数 把数据缓存在队列中 然后在到进程函数中断接收数据函数中进行出队处理 发送数据就是把中断关闭(标志位TXE…

日志模块Loguru

安装 Loguru 仅支持 Python 3.5 及以上的版本,使用 pip 安装即可: pip install loguru开箱即用 Loguru 的主要概念是只有一个:logger from loguru import loggerlogger.info("This is log info!") logger.warning("This i…

食物相关的深度学习数据集合集—食物、饮料、肉类、餐具等数据集

最近收集了一大波与食物酒水相关的数据集,包含食物、饮料、肉类、餐具等不同等类型的数据集,废话不多说,给大家逐一介绍!! 1、自制啤酒配方数据库 超过20万自制啤酒配方数据库,数据集包含不同精酿啤酒的名…

Docker Image(镜像)——5

目录: Docker 镜像是什么镜像生活案例镜像分层生活案例为什么需要镜像镜像命令详解 镜像命令清单docker imagesdocker tagdocker pulldocker pushdocker rmidocker savedocker loaddocker historydocker importdocker image prunedocker build镜像操作案例 查找镜像…

etlbox.3.1.0 for NET 轻量级 ETL数据集成库 Crack

适用于 .NET 的轻量级 ETL(提取、转换、加载)工具箱和数据集成库 高度可定制 厌倦了使用几乎不可能实现复杂需求的用户界面?使用 ETLBox,可以轻松编写适合您独特需求的代码。插入您自己的逻辑或修改现有行为以满足您的特定要求。 …

ScyllaDB 基础入门

简介 ScyllaDB 是一种开源的 NoSQL 数据库,它提供了高性能、低延迟的数据处理能力,同时保持了与 Apache Cassandra 高度的兼容性。ScyllaDB 使用了一种名为 “Seastar” 的高效并行编程框架,并采用了 C 进行开发,因此它能够充分利…

基于ssm Vue的戒烟网站源码和论文

基于ssm Vue的戒烟网站源码和论文734 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 环境: jdk8 tomcat8.5 开发技术 ssm 摘要 随着互联网的高速发展,线上管理成为当代人们管理事物的重要手段之一&#xff…

numpy知识库:基于numpy绘制灰度直方图

前言 对于灰度图像而言,灰度直方图可以统计灰度图像内各个灰度级出现的次数。 灰度直方图的横坐标是灰度图像中各像素点的灰度级。灰度的数值范围为[0, 255]。因此,如果将图像分为256个灰度级,那么每个灰度级唯一对应一个灰度;如…