声音是如何产生的

一、音频概述

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.mzph.cn/diannao/66224.shtml

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

相关文章

xr-frame 通过shader去除视频背景色,加载透明视频

目录 前言 实现思路 获取 XR 框架系统: 注册自定义效果 创建效果对象 渲染通道配置 着色器代码 顶点着色器 片元着色器(颜色分量g达到条件的片元将被透透明) effect-removeBlack 完整代码 wxml中使用 前言 实现了一个用于注册自定…

fnm教程

常用命令 // 查看所有远程可供安装的 Node 版本 fnm list-remote// 安装某一 Node 版本 fnm install <version>// 切换某一 Node 版本 fnm use <version>// 查看当前使用的 Node 版本 fnm current// 查看所有已安装的 Node 版本 fnm list// 删除某一 Node 版本 fn…

物体切割效果

1、物体切割效果是什么 在游戏开发中&#xff0c;物体切割效果就是物体看似被切割、分割或隐藏一部分的视觉效果。 这种效果常用与游戏和动画中&#xff0c;比如角色攻击时的切割效果&#xff0c;场景中的墙壁切割效果等等。 2、物体切割效果的基本原理 在片元着色器中判断片…

接口测试Day06-UnitTest框架

UnitTest 是开发人员用来实现 “单元测试” 的框架。测试工程师&#xff0c;可以在自动化 “测试执行” 时使用。 使用 UnitTest 的好处&#xff1a; 方便管理、维护测试用例。提供丰富的断言方法。生成测试报告。&#xff08;需要插件 HTMLTestReport&#xff09; UnitTest框架…

《learn_the_architecture_-_trustzone_for_aarch64_102418_0101_03_en》学习笔记

1.TrustZone是Arm A-profile架构中安全架构的名称。TrustZone首次在Armv6K中引入&#xff0c;Armv7-A和Armv8-A也支持。TrustZone提供两个执行环境&#xff0c;它们之间具有系统范围的硬件强制隔离。在Arm架构中&#xff0c;有两种安全状态&#xff1a;安全和非安全。在EL0、EL…

小程序组件 —— 28 组件案例 - 推荐商品区域 - 实现结构样式

这一节目标是实现底部推荐商品的结构和样式&#xff0c;由于这里要求横向滚动&#xff0c;所以需要使用上节介绍的 scroll-view 功能&#xff0c;并使用 scroll-x 属性支持横向滚动&#xff0c;推荐商品区域中的每一个商品是一个单独的 view&#xff0c;每个view 中需要写三个组…

【Spring Boot】Spring AOP 快速上手指南:开启面向切面编程新旅程

前言 &#x1f31f;&#x1f31f;本期讲解关于spring aop的入门介绍~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么废话不…

数据结构(AVL树)

BST的退化 仔细观察BST你会发现&#xff0c;虽然他有良好的“搜索”特性&#xff0c;也就是&#xff1a;你可以利用其节点之间的大小关系&#xff0c;很容易地从根节点开始往下走找到你要的节点&#xff0c;但他却无法保证这种搜索所需要的时间的长短&#xff0c;因为建立BST时…

SAP 01-初识AMDP(ABAP-Managed Database Procedure)

1. 什么是AMDP(ABAP-Managed Database Procedure) 1.&#xff09;AMDP - ABAP管理数据库程序&#xff0c;是一种程序&#xff0c;我们可以使用SQLSCRIPT在AMDP内部编写代码&#xff0c;SQLSCRIPT是一种与SQL脚本相同的数据库语言&#xff0c;这种语言易于理解和编码。 将AM…

Anaconda环境配置(Windows11+python3.9)

文章目录 一、 下载ANACONDA&#xff08;1&#xff09;点击**Free Download**。&#xff08;2&#xff09;点击“skip registration”&#xff0c;跳过登录。&#xff08;3&#xff09;下载对应操作系统的ANACONDA版本。 二、 安装ANACONDA&#xff08;1&#xff09;双击运行安…

Git命令行的使用

目录 一、什么是Git 1、本地仓库 vs 远端仓库 本地仓库 远端仓库 2、.git vs .gitignore .git .gitignore 二、使用Git命令 1、安装git 2、git首次使用需要配置用户邮箱和用户名 3、上传目录/文件到远端仓库步骤 1&#xff09;创建放置文件的目录 2&#xff09;cd…

后台管理系统动态面包屑Breadcrumb组件的实现

在后管理系统开发中&#xff0c;面包屑导航是一个非常常见的功能&#xff0c;通常是根据当前的 url 自动生成面包屑导航菜单&#xff0c;当跳转路由发生变化时&#xff0c;面包屑导航都会随之发生变化&#xff0c;即动态面包屑。 要完成动态面包屑我们需要制作一个动态数组&am…

小程序租赁系统开发的优势与应用前景分析

内容概要 小程序租赁系统是一种新兴的数字化解决方案&#xff0c;旨在为用户提供更加便捷与高效的租赁服务。它通常包括一系列功能&#xff0c;如在线浏览、即时预定、支付功能以及用户反馈机制。这些系统在使用上极为友好&#xff0c;让用户能够轻松选择所需的商品或服务&…

凸包(convex hull)简述

凸包&#xff08;convex hull&#xff09;简述 这里主要介绍二维凸包&#xff0c;二维凸多边形是指所有内角都在 [ 0 , Π ] [0,\Pi ] [0,Π]范围内的简单多边形。 凸包是指在平面上包含所有给定点的最小凸多边形。 数学定义&#xff1a;对于给定集合 X X X&#xff0c;所有…

小波与傅里叶变换在去噪效果上的对比分析-附Matlab源程序

&#x1f468;‍&#x1f393; 博主简介&#xff1a;博士研究生 &#x1f52c; 超级学长&#xff1a;超级学长实验室&#xff08;提供各种程序开发、实验复现与论文指导&#xff09; &#x1f4e7; 个人邮箱&#xff1a;easy_optics126.com &#x1f56e; 目 录 摘要一、…

CVPR2019 | AA | 特征空间扰动产生更具迁移性的对抗样本

Feature Space Perturbations Yield More Transferable Adversarial Examples 摘要-Abstract引言-Introduction相关工作-Related WorkTransferability Metrics-迁移性指标激活攻击方法-Activation Attack Methodology损失函数-Loss Function攻击算法-Attack Algorithm 实验设置…

游戏如何检测Root权限

Root权限&#xff0c;即超级用户权限&#xff0c;在Android系统中&#xff0c;获取Root权限意味着用户可以修改系统文件、移除预装应用、安装特殊应用等。 在Root环境下&#xff0c;游戏面临着相当大的安全隐患&#xff0c;用户获取了最高权限&#xff0c;意味着可以通过各类工…

MySQL性能优化explain关键字详解

系列文章目录 一、MySQL数据结构选择 二、MySQL性能优化explain关键字详解 三、MySQL索引优化 文章目录 系列文章目录一、explain是什么&#xff1f;二、explain字段详解2.1、ID2.2、select_type2.3、table2.4、partitions2.5、type&#xff08;重点&#xff09;2.6、key2.7、…

【Go学习】-01-5-网络编程

【Go学习】-01-5-网络编程 1 互联网协议介绍1.1 互联网分层模型 2 Go网络编程2.1 socket编程2.1.1 socket图解2.2.2 TCP编程2.2.3 UDP编程 2.3 http编程2.3.1 web工作流程2.3.2 HTTP协议 2.4 WebSocket编程2.5 聊天室的小例子2.5.1 server.go文件代码2.5.2 hub.go文件代码2.5.3…

推荐系统重排:MMR 多样性算法

和谐共存&#xff1a;相关性与多样性在MMR中共舞 推荐系统【多样性算法】系列文章&#xff08;置顶&#xff09; 1.推荐系统重排&#xff1a;MMR 多样性算法 2.推荐系统重排&#xff1a;DPP 多样性算法 引言 在信息检索和推荐系统中&#xff0c;提供既与用户查询高度相关的文…