当前位置: 首页 > article >正文

声音是如何产生的

一、音频概述

RTMP中一般音频采用aac编码,采样率为44100HZ, 每帧1024采样,帧率43,23.2ms一帧
RTC中一般音频采用opus编码,采样率为48000HZ,每帧480采样,帧率100,10ms一帧

通道数(channels)

声音的通道数,常用的有单声道和立体声之分。

采样频率

也称为采样速度,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(HZ)来表示,例如44.1Hz

采样位数(采样格式)

采样格式是为了实现度量每个采样点。通常使用16bit(2字节),也就是2的16次方,共有65536个不同的度量值,这样采样位数越高,音频度量化的就越精细,音质同样也就越高。

采样个数(样本数)

对于采样频率,采样频率是一秒采样的个数,例如48000HZ,每秒采样个数为48000,44100HZ,每秒采样个数为44100。

而对于一帧音频的采样个数,AAC固定一帧采样1024个,MP3格式则为1152。

计算一帧音频的大小
一帧音频的大小(字节) = 通道数 x 采样个数 x 采样位数。

例如该音频帧是FLTP格式的PCM数据,那么就是aac,所以一帧中包含1024个采样个数,并且是双声道的话,那么该音频帧包含的数据量是 2 x 1024 x 4 = 8192字节。 若格式改成AV_SAMPLE_FMT,那那么采样位数是64位8字节,数据量为 2 x 1024 x 8 = 16384字节。

每秒播放的音频字节大小
每秒播放的音频字节大小(字节) = 通道数 x 采样个数 x 采样位数。

公式是一样的,但是由于求的是每秒的数据量而不是一帧的数据量,所以我们需要知道它的采样频率。 例如当采样频率为48kHZ时,一秒包含48k个采样个数而不是1024个,同样是双声道,FLTP格式,那么每秒的数据量是 2 x 48000 x 4 = 384000字节。

一帧音频的播放时长
一帧播放时间(毫秒) = 每帧样本数 * 1000 / 采样率

以采样率44100HZ来计算,每秒44100个sample,而正常一帧为1024个sample,由于比是相等的,可知每帧播放时间/1024 = 1000ms/44100,得到每帧播放时间= (1024 * 1000) / 44100 = 23.2ms(更精确的是23.21995464852608)。

或者用另一种方式去理解公式,1s显示的帧数 = 44100 / 1024 = 43.06640625帧。所以每一帧的播放时长 = 1s / 43.06640625 = 1000ms / 43.06640625 = 23.21995464852607ms。和上面的公式一样(浮点数尾部运算存在极小误差是正常)。 帧率:44100(每秒的采样) / 1024(每帧的采样)= 43帧/s

所以转换一下公式: 一帧播放时间(毫秒) = 1000ms / (44100 / 1024) = 1000ms * 1024 / 44100 = 23.2ms(更精确的是23.21995464852607)。

关于音频时间精度的例子

例如当采样频率为44.1kHZ:一帧播放时间(毫秒) = nb_sample样本数 * 1000 / 采样率 = 1024 * 1000 / 44100 = 23.21995464852608ms,约等于23.2ms,精确损失了0.011995464852608ms,如果累计10万帧,误差 > 1199毫秒,如果有视频一起的就会出现音视频同步的问题,如果按着23.2msm去计算pts(0 23.2 46.4 …)就会有累积误差。

二、声波

波形叠加原理

声波是一种机械波,遵循叠加原理,当两个波形相遇时,它们的振幅会相加,如果一个波形与其完全相反的波形(相位相差180度)叠加,理论上会相互抵消,这也叫做相位反转或者音频反向。可利用这个原理进行噪声消除,通过分析原始音频中的噪声部分,可以生成一个与噪声波形完全相反的波形。将这个反向波形添加到原始音频中,理论上可以抵消噪声部分。

波是一种能量传播的形式,不涉及物质的整体移动。波通过介质中的粒子振动来传播能量。

叠加原理状态:当两个或多个波在同一介质中传播时,每个波的效果是独立的,总效果是各个波效果的代数和。当两个波相遇时,它们会同时影响介质中的同一粒子,每个波都试图使粒子按照自己的方式振动,粒子的实际运动是这些独立影响的综合结果。

同相波:如果两个波的相位相同,它们的振幅会直接相加,导致更大的振幅。

反相波:如果两个波的相位相差180度,它们的振幅会相互抵消

当两个或多个波相遇时,它们会暂时相互影响,产生叠加效果,但在相遇后,每个波会继续按照自己原有的方向、速度、频率和振幅传播,就像它们从未相遇过一样。

每个波保持其独立性,不会因为与其他波的相遇而永久改变其特性,在一个嘈杂的房间里,尽管有多种声音混合在一起,但你仍然能够分辨出特定的声音(如某人的说话声)。这是因为每个声波在相互叠加后仍保持其原有特性。当两个水波圈相遇时,它们会在交叉点产生干涉图案,但通过这个区域后,每个波仍然保持其原有的形状和传播方向。

空气是声波传播的主要介质之一,声波通过空气分子的压缩和膨胀来传播。温度、湿度、密度等因素会影响波(尤其是声波)在空气中的传播速度和衰减。空气的流动(如风)也会影响波的传播方向和速度。

振幅是波从平衡位置到波峰(或波谷)的最大位移,它表示波的强度或"大小"。在波形图上,振幅是从中线(平衡位置)到波峰或波谷的垂直距离。

频率指的是每秒钟声波振动的次数,单位是赫兹(Hz),一般来说,频率越高,我们感知到的声音音调就越高,频率低的声音我们听起来音调较低,超过20,000 Hz的声波称为超声波,人耳通常听不,低于20 Hz的声波称为次声波,同样难以被人耳直接感知。

音调是我们感知声音"高低"的主观体验,在音乐中,音调直接对应音符(如C、D、E等)。响度是我们感知声音"大小"或"强弱"的主观体验,主要由声波的振幅(强度)决定,振幅越大,感知的响度通常越大,客观上用分贝(dB)来测量声压级,在音乐中体现为音量的强弱变化。

三、分子是如何振动的

声波本质上是一种能量传递的形式。它通过介质(如空气)中的压力波动来传播。空气由分子组成(主要是氮气和氧气分子)。这些分子之间存在微弱的相互作用力。声波通常由物体的振动产生(如扬声器振膜、声带振动等)。这种振动首先推动附近的空气分子。被推动的分子会与周围的分子发生碰撞。通过这些碰撞,能量从一个分子传递到另一个分子。空气具有一定的弹性。当分子被挤压时,它们会产生反作用力,试图恢复原来的位置。分子具有质量,因此也具有惯性。这意味着它们倾向于保持运动状态。声波在传播过程中创造了局部的压力差。高压区的分子会向低压区移动,造成振动。这种压力波动和分子运动的过程不断重复。结果是一种连续的、波状的能量传递。不同频率的声波会导致分子以不同的速率振动。这就是为什么我们能听到不同音调的声音。

声波是一种纵波,即振动方向与波传播方向平行,它通过空气中的压缩和膨胀区域传播。空气分子在声波影响下沿着波的传播方向前后振动。它们不会随波传播而持续移动,而是在原位置附近振动。

声波传播时,会形成交替的高压(压缩)和低压(膨胀)区域。在压缩区域,分子被挤压在一起。在膨胀区域,分子相对分散。分子通过碰撞将能量传递给相邻分子。这种能量传递导致声波在空气中传播。分子振动的幅度很小,通常在纳米级别。分子振动的频率与声波频率相同。

尽管单个分子的运动微小,但大量分子的集体运动产生了我们能感知的声音。

声波的能量最终会转化为热能。这就是为什么声波会随距离衰减。

四、音频3a

3A 音频处理技术,是声学回声消除(AEC)、背景噪声抑制(ANS)、自动增益控制(AGC)三种音频算法的合称。

在音频数据的处理过程中,在音频数据采集完成之后需要进行预处理,3A 是预处理的关键。

AEC 回声消除算法原理及详解

回声消除(AEC)是指在二线传输的两个方向上同时间、同频谱地占用线路,在线路两个方向传输的信号完全混在一起,本端发信号的回波就成为了本端信号的干扰信号,利用自适滤波器可抵消回波以达到较好的接收信号质量,即为回声消除。

回声消除的原理就是利用接收到的音频与本地采集的音频做对比,添加反向的人造回声,将远端的声音消除。

在容易产生回声的通信场合,自适应回声消除算法是一项不可缺少的技术,其主要应用领域有视频会议系统、免提电话、可视电话终端、移动通信或声控系统及会议麦克风等。

尤其在视频会议系统和免提语音通话中,回声的存在严重影响会议质量,特别是在企业远程会议中,由于传输延时加大,回声的影响更加恶劣明显。

ANS 背景噪声抑制方法和作用

背景噪声抑制(ANS)指的是将声音中的背景噪声识别并进行消除的处理。

背景噪声分平衡噪声瞬时噪声,平稳噪声频谱稳定,瞬时噪声频谱能量方差小,利用噪声的特点,对音频数据添加反向波形处理即可消除。

目前,对于平稳的噪声已经有很多种简单方法能够成功抑制,但是生活中常见的一些瞬态噪声却依然缺乏好办法。

瞬态噪声的共同特点就是突发性极强,在时域上呈振荡衰弱的形式,持续时间在十几毫秒至上百毫秒不等;在频域上分布很宽,瞬态噪声的频谱基本上是和正常语音的频谱混叠在一起,很难进行抑制。

AGC 自动增益算法实现与影响

自动增益控制(AGC)主要用于调整音量幅值,提高语音通信系统在带噪声环境中的性能。

人们正常交谈的音量在 40-60dB 之间,低于 25dB 的声音听起来很吃力,而超过 100dB 的声音会让人感到不适,AGC 的作用就是将音量调整到人接受的范围

音频响度及麦克风拾音控制是保证音视频沟通质量的重要技术手段,一般来说,音频标准、传输条件、人为失误等因素都可能导致音频信号之间出现声音突变或者响度不一致的情况,这时候就需要对音频信号放大或缩小以得到自然清晰的语音通信。

参考融云音频3a:音频 3A 处理实践,让你的应用更「动听」 – 融云 Blog-融云即时通讯云|实时音视频


http://www.kler.cn/a/468053.html

相关文章:

  • 欧科云链研究院:ChatGPT 眼中的 Web3
  • ECCV`24 | 首次解决文本到3D NeRFs分解问题!港中文等提出DreamDissector
  • 感知器的那些事
  • Gitee图形界面上传(详细步骤)
  • STLG_01_10_程序设计C语言 - 字符串
  • 【Vue】分享一个快速入门的前端框架以及如何搭建
  • 语雀导入md文件图片丢失
  • Pytorch 三小时极限入门教程
  • [网络安全]DVWA之XSS(DOM)攻击姿势及解题详析合集
  • 111 - Lecture 6 - Objects and Classes
  • 《深度学习梯度消失问题:原因与解决之道》
  • 第9章 子程序与函数调用
  • 【LLM】概念解析 - Tensorflow/Transformer/PyTorch
  • MQTT学习笔记
  • php容器设计模式
  • 050_小驰私房菜_MTK Camera debug, data rate 、mipi_pixel_rate 确认
  • 基于图的去中心化社会推荐过滤器
  • ip属地的信息准确吗?ip归属地不准确怎么办
  • 前端实现大文件上传(文件分片、文件hash、并发上传、断点续传、进度监控和错误处理,含nodejs)
  • 抖音评论区的IP属地可以关吗?详细解答
  • 安卓应用4字节不对齐导致so加载失败
  • javaEE-文件内容的读写
  • MySQL--》快速提高查询效率:SQL语句优化技巧与实践
  • 开源:软件世界的革命者
  • Windows远程--如何使用IP访问服务器
  • 桌面开发 的设计模式(Design Patterns)基础知识