【音视频开发】为什么无损音频会有44.1Khz这样的奇葩采样率?

news2024/11/13 16:37:48

文章目录

  • 一、 问题:为什么无损音频会有44.1Khz这样的奇葩采样率?
  • 二 、PCM流程
    • 2.1 PCM流程
    • 2.2 PCM量化方式
    • 2.2 量化位数
    • 2.3 比特率
  • 三、答疑解惑
    • 3.1 使用采样定理来解释
    • 3.2 以影片磁带录音?硬件限制而来的 44.1kHz
    • 3.3 关于44100和质数的关系
  • 四、参考链接

一、 问题:为什么无损音频会有44.1Khz这样的奇葩采样率?

在这里插入图片描述
相信每一个刚接触音频的玩家,看到44100Hz这种奇葩采样率的时候,脑袋上都会冒出下面这个黑人问号:
在这里插入图片描述

二 、PCM流程

2.1 PCM流程

PCM: Pluse Code Modulation 脉冲编码调制
在这里插入图片描述

2.2 PCM量化方式

在这里插入图片描述

模拟信号的切细规则是CD格式。
采样频率为44.1kHz,量化位数为16位”是指以每秒44,100次执行采样,然后以16位精度(从2到16的幂级数)读取电平。运作方式。采样也称为采样,但是采样首先出现,没有采样就无法进行量化。

2.2 量化位数

在这里插入图片描述

2.3 比特率

数据比特率:1秒时间内的比特数目,用于衡量音频数据单位时间内的容量大小。

以CD的音质为例:

  • 量化格式为16比特(2字节)
  • 采样率是44100
  • 声道数为2
    这些信息就描述了CD的音质

而对于CD音质的数据,比特率是多少呢?

44100 * 16 * 2 = 1378.125kbps

那么1分钟,这类CD音质的数据需要占据多大的存储空间呢?

1378.125 * 60 / 8 / 1024 = 10.09MB

三、答疑解惑

3.1 使用采样定理来解释

音频采样也是一种信号的转化,即由模拟信号转化为数字信号。既然是信号间的转化,那么它便符合【奈奎斯特采样定理】。

图:奈奎斯特采样定理界面在这里插入图片描述

奈奎斯特采样定理指出,当采样频率低于2倍频谱峰值时,将会出现混淆现象,若超过2倍则不会出现混淆。由于人类的听力范围约为20 Hz至20,000 Hz,因此采样率必须大于40 kHz。

  • 采样定理
    根据奈奎斯特定理(Nyquist Theorem),取样频率两倍大于被取样讯号的最大频率,即可重构出原始的被取样讯号。
  • 香农采样定理
  • 奈奎斯特采样定理(Nyquist)

时域采样定理(香农采样定理,又称奈奎斯特采样定理)的表述如下:

频带为 F 的连续信号 f(t) 可用一系列离散的采样值 f(t1), f(t1±Δ t), f(t1±2Δ t),…来表示,只要这些采样点的时间间隔 Δ t≤1/2 F,便可根据各采样值完全恢复原来的信号 f(t)。

时域采样定理的另一种表述方式是:

频带为F的连续信号f(t)可用一系列离散的采样值f(t1),f(t1±Δt),f(t1±2Δt),…来表示,只要这些采样点的时间间隔Δt≤1/2F,便可根据各采样值完全恢复原来的信号f(t)。时域采样定理的另一种表述方式是:当时间信号函数f(t)的最高频率分量为fM时,f(t)的值可由一系列采样间隔小于或等于1/2fM的采样值来确定,即采样点的重复频率f≥2fM。图为模拟信号和采样样本的示意图。

在这里插入图片描述

但实际上,重构出原始讯号所用来抗混叠(Anti-Aliasing)、消除某频率以上讯号的低通滤波器(Low Pass Filter)并非是理想的,它有个过渡频宽(Transition Band)会导致在这个频宽内的讯号仍被衰减通过。

因此,如果取样频率不足于被取样讯号的最大频率加上其低通滤波器的过渡频宽的两倍,最大频率附近的声音讯号依然会有混叠现象,将会导致讯号失真(Distortion)。

为了完整保留最大声音频率,必须预留过度频宽,典型的过度频宽大小为2050Hz

我们人类的耳朵可捕捉到的声波范围是20~20kHz。所以对于人类来说,超出该范围的声音无意义(反正听不到)。大于20kHz的波称为超声波(超音波),小于20Hz的波称为次声波,超声波和次声波我们人耳都是听不到的。

我们计算采样频率的时候在最大频率20kHz加上过度频宽并乘以2,这也是为何CD是使用44.1kHz作为取样频率的原因,算法如下:

(20000Hz + 2050Hz) * 2 = 44100Hz = 44.1kHz

3.2 以影片磁带录音?硬件限制而来的 44.1kHz

其实不少影音规格、参数有时都是受当时硬件的限制而制定出来,好似因为 CRT 电视的亮度与电压不是成线性正比,于是就有了 Gamma 2.2 这个常见的电视设定,CD 和数码音乐的 44.1kHz 这个奇特数字也是有点类似。

因为早期只有影片录影的磁带才有足够容量来录制一定长度的数码音乐讯号,而当时这类磁带又分为欧洲主流的 PAL 和美国、日本主流的 NTSC 制式,为了减低制作成本,以最少的改动来运用当时现有的器材,于是在取样率方面就要同时迁就 PAL(625 线、50Hz)和 NTSC(525 线、60Hz)的规格。

撇除不可用的线数(e.g. 625 - 37 = 588 线、525 - 35 = 490 线),隔行扫描的线数除以二(e.g. 588 / 2 = 294、490 / 2 = 245),于是就计算出了这个可以共用 PAL 和 NTSC 磁带的取样率:

PAL:   294 × 50 × 3 = 44,100 Hz
NTSC:  245 × 60 × 3 = 44,100 Hz

当中「× 3」是每条线可以储存 3 次取样,而 44.1kHz 也超过了人耳聆听范围 20Hz - 20kHz 所需要的取样率,其后 44.1kHz 也被应用到 1982 年的 CD「Red Book」定义规格当中,于是也沿用至今。

最早的数字录音由一台录像机 + 一部PCM编码器制作的,由于当时使用的是PAL录像制式(帕制,与之对应的有NTSC),场频50Hz,可用扫描线数294条,一条视频扫描线的磁迹中记录3个音频数据块,把他们相乘,就得到了44100这个奇葩数字…(索尼和飞利浦的工程师要背锅)

在这里插入图片描述

7、80 年代的数码录音采用的就是「现成」的录影带(Video Cassette Tape)。
在这里插入图片描述

当年的数码录影、影像系统分为欧洲的 PAL 和美国、日本的 NTSC,虽然来到全高清和 4K 年代仍有 50Hz、60Hz 之分,但近年的电视基本都同时支援,所以大家也没太留意制式的分别了。
在这里插入图片描述
CD 也沿用了 44.1kHz 的取样率规格,所以早期在 rip 碟的时候也是保留 44.1kHz 有最佳音质。
在这里插入图片描述

3.3 关于44100和质数的关系

44100 是前四个质数
( 2 2 ⋅ 3 2 ⋅ 5 2 ⋅ 7 2 ) ({\displaystyle 2^{2}\cdot 3^{2}\cdot 5^{2}\cdot 7^{2}}) 22325272
,因此具有许多有用的整数因子,对于很多运算来说是个简单的数字。

使用了 44.1 kHz 的各种减半和倍增 –WAV文件中的较低速率 11.025 kHz 和 22.05 kHz,适用于低带宽应用,而较高的 88.2 kHz 和 176.4 kHz 速率用于母带制作和DVD 音频 – 较高的速率对于提供额外分辨率的通常原因都很有用(因此对编辑引入的失真不太敏感), 并且还使低通滤波更容易,因为可以实现更大的过渡带(在20 kHz和采样率下的人听觉之间)。88.2 kHz 和 176.4 kHz 速率主要用于最终目标是 CD 的情况。

四、参考链接

  • 44,100_Hz Wiki
  • 什么是采样频率,量化比特数和时钟?
  • CD为什么采用44.1kHz采样频率?
  • Why 44.1 kHz?
  • 无损音频为什么是44.1Khz
  • 科普 | 为什么音频采样率都是44100?
  • 【影音競技場】44.1kHz vs. 48kHz:奇特取樣率同攝錄制式有關?兩者音質有分別?

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

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

相关文章

【关于检查请求参数的基本有效性】

目录 检查请求参数的基本有效性 检查请求参数的基本有效性 在服务器端项目中,可以通过spring-boot-starter-validation对请求参数进行检查。 在客户端项目中,Element UI的示例表单中都有对各控件(例如输入框、选择框等)的检查。…

[附源码]Python计算机毕业设计Django校园生活服务平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

DBCO的PEG连接剂1480516-75-3,DBCO-PEG4-Maleimide(MAL)

DBCO-PEG4-Maleimide试剂反应原理: DBCO-PEG4-Maleimide是包含马来酰亚胺基团和DBCO部分的PEG连接剂。亲水性PEG间隔臂提高了在水缓冲液中的溶解度。马来酰亚胺基团与硫醇特异有效地反应,形成稳定的硫醚键。低质量将为改性分子添加间隔物,并…

任务(task)

任务(task) 一、 任务概述 线程(Thread)是创建并发的底层工具,因此有一定的局限性(不易得到返回值(必须通过创建共享域);异常的捕获和处理也麻烦;同时线程执…

Linux软件包管理

Linux软件包管理实验目的及要求1.了解RPM特点与YUM工作机制。2.熟悉RPM软件包的密钥管理。3.掌握RPM、YUM或DNF包管理方法及其命令。实验原理实验步骤1.查询当前已安装的RPM包,在安装光盘上查找尚未安装的RPM包,通过命令和图形界面的多种方式进行安装、升…

年龄到了一定程度才能体会到世界杯的真正意义

前言 聊起来世界杯,想必读者们都有说不完的世界杯话题,四年一届的全球盛会,把全世界的目光都牢牢的拿捏在手里,世界杯不仅仅是关于足球的比赛活动,而且更是团队协作精神、永不言弃等精神的体现和传承。年轻的时候可能是…

在线点餐系统毕业设计,外卖点餐系统设计与实现,毕业设计论文源码需求分析

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于java的外卖点菜系统,管理员通过后台添加菜品,用户浏览器登录,查看菜品、购买、下单等。根据需求,本系统采用的是BS(Browser Server简称浏览器服…

[论文分享] IR2Vec: LLVM IR Based Scalable Program Embeddings

IR2Vec: LLVM IR Based Scalable Program Embeddings [TACO 2020] S. VENKATAKEERTHY, ROHIT AGGARWAL, Indian Institute of Technology Hyderabad 我们提出了IR2Vec,一种简洁且可扩展的编码框架,将程序表示为连续空间中的分布式嵌入。这种分布式嵌入…

java反射所需要了解的基本知识点

反射概述 反射:通过运行时操作元数据或对象,Java 可以灵活地操作运行时才能确定的信息,指程序可以访问、检测和修改它本身状态或行为的一种能力。 其相关类在下面这个包里面:java.lang.reflect.*; 反射机制相关的重要的类&#…

图解系统:

1.硬件结构 1.1.存储器的层次关系 每个存储器只和相邻的一层存储器设备打交道,并且存储设备为了追求更快的速度,所需的材料成本必然也是更高,也正因为成本太高,所以 CPU 内部的寄存器、L1\L2\L3 Cache 只好用较小的容量&#xff…

node中文件的上传

node基于Express项目实现文件的上传 1、FormData对象:以对象的方式来表示页面中的表单,又称为表单对象。以key-value的方式来保存数据,XMLHttpRequest对象可以轻松的表单对象发送的服务器端; (1)使用构造…

图解LeetCode——1775. 通过最少操作次数使数组的和相等(难度:中等)

一、题目 给你两个长度可能不等的整数数组 nums1 和 nums2 。两个数组中的所有值都在 1 到 6 之间(包含 1 和 6)。 每次操作中,你可以选择 任意 数组中的任意一个整数,将它变成 1 到 6 之间 任意 的值(包含 1 和 6&a…

【vim】Darcula 配色设置

因为本人一直习惯了用 Jetbrains 家的产品,而且一直独钟 Dracula 配色,因此想要在 Git Bash 中为 vim 配一款 Dracula 配色。本博客将详细介绍如何为 vim 配置暗系主题 Dracula。 一、安装 Dracula 在 Dracula 的官网其实已经给出了关于如何在 vim 中配…

夯实算法-课程表

题目:LeetCode 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必…

Linux系统编程5——Socket编程(网络通信)

文章目录前言一、套接字二、基础知识三、网络套接字函数3.1、struct sockaddr3.2、socket函数3.3、bind函数3.4、listen函数3.5、accept函数3.6、connect函数3.7、读取/发送数据函数3.8 客户端服务器通信demo四、select函数1、TCP状态简介2、端口复用2.1、setsockopt函数3、半关…

云之道知识付费v1.5.4小程序+前端(含pc付费插件)

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 云之道知识付费v1.5.4小程序前端(含pc付费插件) 版本号:1.5.4 – 商用无限开 无需重新上传小程序 【修复】上一版本公众号版本打开白屏问题 版本号&a…

【C语言】函数三要素,变量作用域、生存周期、存储类型

目录 写在前面 一、函数的用法 1、声明 2、调用 3、定义 形参与实参类型不一致 形参与实参类型一致 函数值类型与返回值类型不一致 函数值类型与返回值类型一致 二、变量的作用域与生存周期 三、变量的储存类型(auto,extern,static,register)…

AI虚拟人千亿级市场来袭,景联文科技提供全方面数据采集标注服务

“AI虚拟人通过语音、文字、视觉的理解和生成,结合动作识别、环境感知等多种方式可与人进行互动。AI虚拟人中运用到的强大算法需要高质量标注数据不断对其进行优化训练,景联文科技提供全方面数据采集标注服务。” 11月18日,科大讯飞在第五届世…

行为型模式 - 访问者模式Visitor

学习而来,代码是自己敲的。也有些自己的理解在里边,有问题希望大家指出。 行为型模式,我之所以把他放到第一个,是因为它号称是GoF中最难的一个。 模式的定义与特点 在访问者模式中(Visitor Pattern)中&…

pandasGUI:一款开源的功能异常强大的数据可视化分析工具

在很早之前关于可视化的描述中,我们介绍过一款D-table的数据分析操作工具。和D-table的操作相似,还有一款pandasGUI的开源工具更加强势。 Pandasgui是一个开源的python模块,它为pandas创建了一个GUI界面,我们可以在其中使用panda…