音频基础概念-学习笔记

简介: 音频基础概念-学习笔记

一、声音的物理本质

声音是一种压力波,物体振动引起空气振动,产生疏密变化,形成声波(像石头落到水里形成的波纹)。声音有三个重要要素:频率、 振幅和波形, 频率代表音阶的高低, 振幅代表响度, 波形代表音色。频率越高, 波长就越短。 低频声响的波长则较长, 所以其可以更容易地绕过障碍物, 因此能量衰减就小, 声音就会传得远, 反之则会得到完全相反的结论;振幅指声音能量的大小(响度),分贝常用于描述响度的大小;在同样的音调(频率)和响度(振幅)下,不同物体通过介质所产生的波形不同,形成不同的音色。

人耳对3~4kHz频率范围内的声音比较敏感。 频率范围较宽的音乐, 其声压以80~90dB为最佳, 超过90dB将会损害人耳(105dB为人耳极限) 。

回声是因为声音在传播过程中遇到障碍物会反弹回来, 再次被我们听到。若两种声音传到我们的耳朵里的时差小于80毫秒, 我们就无法区分开这两种声音了。

共鸣:两个频率相同的物体, 敲击其中一个物体时另一个物体也会振动发声。


二、数字音频

首先,了解一下模拟信号和数字信号。模拟信号是指用连续变化的物理量所表达的信息,通常又把模拟信号称为连续信号,它在一定的时间范围内可以有无限多个不同的取值。而数字信号是指在取值上是离散的、不连续的信号。实际生产生活中的各种物理量,如摄相机摄下的图像、录音机录下的声音、车间控制室所记录的压力、流速、转速、湿度等等都是模拟信号。数字信号是在模拟信号的基础上经过采样、量化和编码而形成的。

麦克风是如何采集声音的

麦克风里面有一层非常薄而且十分敏感碳膜,说话的声音会压缩空气也会压缩这层碳膜, 碳膜在受到挤压时也会发出振动, 在碳膜的下方就是一个电极, 碳膜在振动的时候会接触电极, 接触时间的长短和频率与声波的振动幅度和频率有关, 这样就完成了声音信号到电信号的转换。之后再经过放大电路处理, 就可以实施后面的采样量化处理了。

音频采样

音频采样就是将模拟信号的音频转换成数字信号音频的过程,通过模/数转换器(A/D)对声波进行采样,每一次采样都记录下了原始模拟声波在某一时刻的状态,称之为样本,将一串的样本连接起来,就可以描述一段声波。把每一秒钟所采样的次数称为采样频率,单位为HZ(赫兹)。其实,采样就是在时间轴上对信号进行数字化。

对于高质量的音频信号, 其频率范围(人耳能够听到的频率范围) 是20Hz~20kHz, 所以采样频率一般为44.1kHz, 这样就可以保证采样声音达到20kHz也能被数字化, 从而使得经过数字化处理之后, 人耳听到的声音质量不会被降低。 而所谓的44.1kHz就是代表1秒会采样44100次。

音频量化

音频量化指将模拟信号的连续取值近似为有限多个(数字信号)离散值的过程,通过采样之后,获取了一系列样本,量化就是确定这些样本的取值范围。比如用16比特的二进制信号来表示声音的一个采样, 而16比特(一个short) 所表示的范围是[-32768, 32767], 共有65536个可能取值, 因此最终模拟的音频

信号在幅度上也分为了65536层。2018122814580746.png

音频编码

音频编码, 就是按照一定的格式记录采样和量化后的数字数据, 比如顺序存储或压缩存储, 等

等。描述一段音频数据一般需要这几个概念:采样率(sampleRate)、量化格式(sampleFormat) 、声道数(channel)。 以CD的音质为例:采样率为44100,量化格式为16比特(2字节),声道数为2,这些信息就描述了CD的音质。此外还有一个概念:比特率,即1秒时间内的比特数目, 它用于衡量音频数据单位时间内的容量大小。以刚才的CD音质为例,其比特率计算为:44100 * 16 * 2 = 1378.125kbps 。如果1分钟则需要的存储空间为:1378.125 * 60 / 8 / 1024 = 10.09MB(乘以60分钟,bit换算为byte要除以8,字节换算到MB除以1024)。

1分钟音频数据就需要10.09MB的存储空间,数据量比较大,所以音频存储时一般会进行压缩编码。压缩算法包括有损压缩和无损压缩,无损压缩是指解压后的数据可以完全复原。

下面介绍几种常用的压缩编码格式

(1) WAV编码

PCM(脉冲编码调制) 是Pulse Code Modulation的缩写,是音频的裸数据格式,而WAV编码的一种实现(有多种实现方式, 但是都不会进行压缩操作) 就是在PCM数据格式的前面加上44字节, 分别用来描述PCM的采样率、 声道数、 数据格式等信息。

特点: 音质非常好, 大量软件都支持。

适用场合: 多媒体开发的中间文件、 保存音乐和音效素材。

(2) MP3

编码MP3具有不错的压缩比, 使用LAME编码(MP3编码格式的一种实现) 的中高码率的MP3文件,听感上非常接近源WAV文件, 当然在不同的应用场景下, 应该调整合适的参数以达到最好的效果。

特点: 音质在128Kbit/s以上表现还不错, 压缩比比较高, 大量软件和硬件都支持, 兼容性好。

适用场合: 高比特率下对兼容性有要求的音乐欣赏。

(3) AAC编码

AAC是新一代的音频有损压缩技术, 它通过一些附加的编码技术(比如PS、 SBR等),衍生出了LC-AAC、 HE-AAC、 HE-AAC v2三种主要的编码格式。 LC-AAC是比较传统的AAC, 相对而言, 其主要应用于中高码率场景的编码(≥80Kbit/s) ; HE-AAC(相当于AAC+SBR)主要应用于中低码率场景的编码(≤80Kbit/s) ; 而新近推出的HE-AAC v2(相当于AAC+SBR+PS) 主要应用于低码率场景的编码(≤48Kbit/s) 。 事实上大部分编码器都设置为≤48Kbit/s自动启用PS技术, 而>48Kbit/s则不加PS, 相当于普通的HE-AAC。

特点: 在小于128Kbit/s的码率下表现优异, 并且多用于视频中的音频编码。

适用场合: 128Kbit/s以下的音频编码, 多用于视频中音频轨的编码。

(4) Ogg编码

Ogg是一种非常有潜力的编码, 在各种码率下都有比较优秀的表现, 尤其是在中低码率场景下。 Ogg除了音质好之外, 还是完全免费的, 这为Ogg获得更多的支持打好了基础。 Ogg有着非常出色的算法,可以用更小的码率达到更好的音质, 128Kbit/s的Ogg比192Kbit/s甚至更高码率的MP3还要出色。 但目前因为还没有媒体服务软件的支持, 因此基于Ogg的数字广播还无法实现。 Ogg目前受支持的情况还不够好, 无论是软件上的还是硬件上的支持, 都无法和MP3相提并论。

特点: 可以用比MP3更小的码率实现比MP3更好的音质, 高中低码

率下均有良好的表现, 兼容性不够好, 流媒体特性不支持。适用场合: 语音聊天的音频消息场景

参考资料:

《百度百科》

《音视频开发指南-基于android与ios的平台实践》


目录
相关文章
uniapp-picker选择省市区效果demo(整理)
uniapp-picker选择省市区效果demo(整理)
|
18天前
|
云安全 弹性计算 安全
高危预警:用友 U8 Cloud 漏洞成勒索攻击新入口
近期,用友U8 Cloud多个高危漏洞遭 exploited,导致阿里云客户遭遇勒索攻击。涉及反序列化、远程命令执行及文件上传漏洞,影响2.0至5.1全系列版本。攻击者可任意执行代码、加密数据勒索。建议立即修补、备份并启用安全防护措施。
|
3月前
|
JSON API 数据格式
抖音商品详情API秘籍!轻松获取商品详情数据
抖音商品详情API由抖音开放平台提供,支持开发者获取商品基础信息、价格、销量、SKU等关键数据,适用于电商整合、导购平台及直播选品。接口基于HTTP协议,采用GET请求方式,返回JSON格式数据,便于解析处理。附Python请求示例代码,便于快速接入使用。
|
9月前
|
JSON 监控 API
唯品会商品详情接口(唯品会 API 系列)
唯品会商品详情接口助力电商发展,提供商品名称、价格、规格等详细信息,支持HTTP GET/POST请求,响应为JSON格式。开发者可通过API Key和商品ID获取数据,应用于电商数据分析、竞品调研、应用开发及价格监控,提升业务效率与竞争力。示例代码展示Python调用方法,方便快捷。
|
机器学习/深度学习 存储 编解码
如何提取歌曲副歌(高潮)
### 摘要 副歌就是我们日常说的高潮。 副歌分析属于MIR领域的一个小分支,MIR(Music information retrieval)是从音乐中检索信息的跨学科科学,该领域需要数学、乐理、信号处理、机器学习、概率、算法等学科的背景知识。 ### 业界类似方案 - 1:根据能量值、音高区间差异定位 - 2:根据动态歌词定位 - 3:谱聚类&能量值 第一种方式太简单暴
如何提取歌曲副歌(高潮)
|
机器学习/深度学习 数据采集 算法框架/工具
使用Python实现深度学习模型:智能野生动物保护与监测
使用Python实现深度学习模型:智能野生动物保护与监测
222 5
|
前端开发 JavaScript
Node.js 事件循环:定时任务、延迟任务和 I/O 事件的艺术
Node.js 事件循环:定时任务、延迟任务和 I/O 事件的艺术
Node.js 事件循环:定时任务、延迟任务和 I/O 事件的艺术
|
安全 Android开发 数据安全/隐私保护
Android vs. iOS:移动操作系统的巅峰对决###
【10月更文挑战第18天】 本文深入探讨了Android与iOS两大移动操作系统的核心差异、优势与不足,从用户体验、应用生态、系统更新与安全性等多个维度进行了全面对比。我们旨在揭示两大平台背后的设计理念,帮助用户根据自身需求做出更明智的选择。Android以其开放性和高度可定制性著称,为开发者和用户提供了广阔的创新空间;而iOS则凭借其封闭的生态系统和严格的质量控制,提供了流畅且一致的用户体验。两大系统各有千秋,竞争与共生中推动着移动通信技术的不断进步。 ###
|
存储 固态存储 芯片
计算机中内存与存储
【7月更文挑战第28天】
2386 1
|
XML 安全 IDE
springboot @RequiredArgsConstructor的概念与使用
【4月更文挑战第25天】在Spring Boot中,@RequiredArgsConstructor注解是Lombok库提供的功能,用于自动生成包含必需参数的构造函数。"必需参数"指的是那些被声明为final或者有@NonNull注解的成员变量。这种注解极大地简化了Java类的编写,尤其是在需要注入依赖或常量值时
662 3