声音是如何产生的

一、音频概述

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.rhkb.cn/news/502262.html

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

相关文章

Docker新手:在tencent云上实现Python服务打包到容器

1 使用docker的原因 一致性和可移植性:Docker 容器可以在任何支持 Docker 的环境中运行,无论是开发者的笔记本电脑、测试服务器还是生产环境。这确保了应用在不同环境中的行为一致,减少了“在我的机器上可以运行”的问题。 隔离性&#xff…

Science Robotics让软机器人“活”得更久的3D打印!

软机器人硬件在医疗、探索无结构环境等领域有广泛应用,但其生命周期有限,导致资源浪费和可持续性差。软机器人结合软硬组件,复杂组装和拆卸流程使其难以维修和升级。因此,如何延长软机器人的生命周期并提高其可持续性成为亟待解决…

conan从sourceforge.net下载软件失败

从sourceforge.net下载软件,经常会没有开始下载就返回了。 原因是: 自动选择的镜像站不能打开。 在浏览器中,我们可以手动选择站点尝试,但是conan就不行了。 手动选择一个站点,能够有文件保存窗口弹出,之后…

数势科技:解锁数据分析 Agent 的智能密码(14/30)

一、数势科技引领数据分析变革 在当今数字化浪潮中,数据已然成为企业的核心资产,而数据分析则是挖掘这一资产价值的关键钥匙。数势科技,作为数据智能领域的领军者,以其前沿的技术与创新的产品,为企业开启了高效数据分析…

第J4周:ResNet与DenseNet结合探索

目录 FROM一、本周内容1. ResNet与DenseNet的基本原理2. ResNet与DenseNet结合模块图 二、核心代码及运行截图 FROM 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 我的环境 语言环境:Python 3…

MYSQL--------选择合适的数据类型

char与varchar char:固定长度字符串类型,无论实际存储的字符串长度是多少,都会占用固定长度的存储空间。适合存储长度固定的字符串,如身份证号码、邮政编码等,存储和查询效率较高,但如果存储的字符串长度差…

vue3 拆信封动画

snows_ls BLOGhttp://snows-l.site/ 一、效果如下 截图工具截图效果不是很好&#xff0c; 可以查看线上效果 信封 | snows_ls BLOGhttp://snows-l.site/about/like/envelope 二、源码如下 <!--* Description: ------------ fileDescription -----------* Author: snows_l …

用python编写一个放烟花的小程序

import pygame import random # 代码解释及使用说明&#xff1a; # 首先&#xff0c;导入 pygame 和 random 库。pygame 用于创建游戏窗口和图形绘制&#xff0c;random 用于生成随机数。 # 初始化 pygame&#xff0c;并设置屏幕尺寸为 800x600 像素&#xff0c;设置窗口标题为…

法律专业legal case的留学论文写作技巧分析(1)

对于法律专业的留学生而言&#xff0c;案例的分析是写作的重要方面。无论留学的国家是英、美、澳洲还是加拿大&#xff0c;它们都属于case law 的法律体系。一个非常显著的特点便是通过对案例进行分析和提炼&#xff0c;从中总结提炼出principle和rules。case analysis的留学论…

Jenkins 中自动化部署 Spring Boot 项目

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的全栈工程师 欢迎分享 / 收藏 / 赞 / 在看…

MetaGPT - 多Agent框架

文章目录 一、关于 MetaGPT功能介绍快速开始的演示视频教程 二、安装Pip安装Docker安装 一、关于 MetaGPT MetaGPT 为GPTs分配不同的角色&#xff0c;以形成一个协作实体来完成复杂的任务。 github : https://github.com/geekan/MetaGPTtwitter : https://twitter.com/MetaGP…

计算机网络 (15)宽带接入技术

前言 计算机网络宽带接入技术是指通过高速、大容量的通信信道或网络&#xff0c;实现用户与互联网或其他通信网络之间的高速连接。 一、宽带接入技术的定义与特点 定义&#xff1a;宽带接入技术是指能够传输大量数据的通信信道或网络&#xff0c;其传输速度通常较高&#xff0c…

计算机网络复习(大题)

&#x1f4e2;&#x1f4e2;&#x1f4e2;传送门 一、简答题&#xff08;1&#xff09;五层原理体系结构每层功能&#xff1a;&#xff08;2&#xff09;TCP建立连接三次握手过程&#xff1a;&#xff08;3&#xff09;访问浏览器的过程&#xff1a;&#xff08;4&#xff09;抓…

AI代码开发实践-微信小程序开发

接上回&#xff0c;本人参加了一次小孩学校组织的护学岗&#xff0c;萌生了开发一个微信小程序的水印相机的想法&#xff0c;说干就干。 最近也是在学习用AI编程&#xff0c;索性之前也用一点&#xff0c;今天就尝试一下 工具选择&#xff0c;环境搭建 阿里-通义灵码 通义灵…

基于Java的超级玛丽游戏的设计与实现【源码+文档+部署讲解】

目 录 1、绪论 1.1背景以及现状 1.2 Java语言的特点 1.3 系统运行环境及开发软件&#xff1a; 1.4 可行性的分析 1.4.1 技术可行性 1.4.2 经济可行性 1.4.3 操作可行性 2、 需求分析 2.1 用户需求分析 2.2功能需求分析 2.3界面设计需求分析…

麒麟服务器安装kafka--亲测

我这安装的是单机版本的&#xff1a; 下载地址&#xff1a;Index of /kafka/3.9.0 我下载的是&#xff1a;https://dlcdn.apache.org/zookeeper/zookeeper-3.9.3/apache-zookeeper-3.9.3-bin.tar.gz https://dlcdn.apache.org/kafka/3.9.0/kafka_2.12-3.9.0.tgz 一、下载并上…

基于HTML和CSS的旅游小程序

一、技术基础 HTML&#xff08;HyperText Markup Language&#xff09;&#xff1a;超文本标记语言&#xff0c;用于定义网页的内容和结构。在旅游小程序中&#xff0c;HTML用于搭建页面的基本框架&#xff0c;包括标题、段落、图片、链接等元素&#xff0c;以及用于交互的表单…

【操作系统不挂科】操作系统期末考试题库<1>(单选题&简答题&计算与分析题&应用题)

前言 大家好吖&#xff0c;欢迎来到 YY 滴 操作系统不挂科 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 一.单项选择题&#xff08;每个空2分&#xff0c;共40分&#xff09; 1. 计算机的操作系统是一种&#xff08; B &#xff09;。 A. 应用软件…

Excel重新踩坑5:二级下拉列表制作;★数据透视表;

0、在excel中函数公式不仅可以写在单元格里面&#xff0c;还可以写在公式里面。 1、二级下拉列表制作&#xff1a; 2、数据透视表&#xff1a; 概念&#xff1a;通过拖拉就能实现复杂函数才能实现的数据统计问题。 概览&#xff1a;在插入选项中有个数据透视表&#xff0c;数…

【赵渝强老师】MongoDB写入数据的过程

在MongoDB数据更新时&#xff0c;WiredTiger存储引擎使用预写日志的机制先将数据更新写入到Journal日志文件中。然后在创建检查点操作开始时&#xff0c;再将日志文件中记录的操作刷新到数据文件。换句话说&#xff0c;通过预写日志和检查点机制可以保证将数据更新持久化到数据…