音视频基础概念(2)——音频

news2024/11/27 12:31:51

目录

1. 基本知识

2.采样率和采样位数 

3.音频编码

4. 声道数

5. 码率

6. 音频格式


日常生活中,音视频随处可见,包括视频、音频、编解码、封装容器、音视频等概念。

1. 基本知识

音频数据的承载方式最常用的是脉冲编码调制,即PCM。于自然界中,声音是连续不断的,是一种模拟信号。将声音保存在计算机中最常用的方法是把声音进行数字化处理,即转换为数字信号,然后存储到磁盘。

声音是一种波,有振幅和频率,保存声音就要保存声音在各个时间点上的振幅,但数字信息并不能连续保存所有时间点的振幅。实际上,并不需要保存连续的信号,也可以还原出人耳可接受的声音。

根据奈奎斯特采样定理,为了不失真地恢复模拟信号,采样频率应该不小于模拟信号频谱中最高频率的2倍。根据以上分析,PCM的采集分为以下步骤:

模拟信号——>采样——>量化——>编码——>数字信号

音频是一个专业术语,人类能够听到的所有声音都成为音频,它可以包括噪声。声音被录制下来后,无论是说话声、歌声、乐器声都可以通过数字音乐软件处理。常见把声音制作成CD时,所有声音并没有改变,因为CD本来就是音频文件的一种类型。

2.采样率和采样位数 

采样率,即采样的频率。奈奎斯特采样定理规定采样率要大于原声波最高频率的2倍,人耳能听到的最高频率约为20kHz,所以为满足人耳听觉要求,采样率至少应为40kHz,通常为44.1kHz,更高的频率通常为48kHz。

注:人耳听觉频率范围为[20Hz,20kHz]。

 采样位数涉及上面提到的振幅量化。波形振幅在模拟信号上是连续的样本值,而在信号中,数字信号一般是不连续的,所以模拟信号量化后,只能取一个近似的整数值。为了记录这些振幅值,采样器会使用一个固定的位数,通常是8位、16位或者32位。

注:位数越多,记录的值越准确,还原度越高,但是占用的硬盘空间越大。

音频采样位数
位数最小值最大值
8-128127
16-32 76832 767
32-2 147 483 6482 147 483 647

3.音频编码

因数字信号是由0和1组成的,所以需要将幅度值转换为一系列0和1进行存储,也就是编码,最后得到的数据就是数字信号,即一连串0和1组成的数据。

音频编码是指要在计算机内播放或者处理音频文件,也就是要对声音文件进行数、模转换,这个过程同样由采样和量化构成,人耳所能听到的声音,最低频率是20Hz,最高频率是20kHz。

由于20kHz以上的声音人耳听不见,所以音频文件格式的最大带宽是20kHz,采样速率需要介于40Hz~50kHz,而且对每个样本需要更多的量化位数。

音频数字化的标准是每个样本16位—96dB的信噪比,采用线性脉冲编码调制(PCM),每个量化步长都具有相等的长度。在音频文件的制作中,采用的正式这个标准。

1、取样。对连续信号按一定的时间间隔取样。奈奎斯特取样定理认为,只要取样频率大于等于信号中所包含的最高频率的两倍,则可以根据其取样完全恢复出原始信号,这相当于当信号是最高频率时,每一周期至少要采取两个点。但这只是理论上的定理,在实际操作中,人们用混叠波形,从而使取得的信号更接近原始信号。

2、量化。取样的离散音频要转化为计算机能够表示的数据范围,这个过程称为量化。量化的等级取决于量化精度,也就是用多少位二进制数来表示一个音频数据。一般有8位,12位或16位。量化精度越高,声音的保真度越高。

3、编码。对音频信号取样并量化成二进制,但实际上就是对音频信号进行编码,但用不同的取样频率和不同的量化位数记录声音,在单位时间中,所需存贮空间是不一样的。波形声音的主要参数包括:取样频率、量化位数、声道数、压缩编码方案和数码率等。未压缩前,波形声音的码率计算公式为:波形声音的码率 = 取样频率 × 量化位数 × 声道数 / 8。波形声音的码率一般比较大,所以必需对转换后的数据进行压缩。

 

4. 声道数

声道数是指所支持的能发不同声音的音响的个数,常见的声道数如下。

  • 单声道:1个声道
  • 双声道:2个声道
  • 立体声道:默认两个声道。
  • 立体声道(4声道):4个声道。

5. 码率

码率指一个数据流中每秒能通过的信号量,单位为b/s,8b(位)等于1Byte(比特)。可以用以下公式进行计算:

码率=采样率*采样位数*声道数

6. 音频格式

 常见的音频格式有CD、WAVE、MP3、MIDI、AAC、WMA、AC-3等。

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

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

相关文章

JAVA面试(2022年Java常见面试问题)

1、谈谈你对Spring中IOC和AOP的理解。 答案: 2、谈谈Spring的bean的创建过程和生命周期。 答案: 3、谈一下JVM的内存分配和垃圾回收机制。 答案: 4、谈一下你使用比较多的设计模式和场景。 答案: 5、谈一些mysql的事务隔离。 …

什么是文件系统?

【推荐阅读】 一文了解Linux上TCP的几个内核参数调优 一文剖析Linux内核中内存管理 分析linux启动内核源码 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构,…

传奇列表上传登录器公告小窗口怎么修改

传奇列表上传登录器公告小窗口怎么修改 很多小伙伴不会上传列表,我是艾西今天给大家分享下怎么上传列表 我们开始实操(纯教学分享) 在我们的网站文件夹里创建一个列表.txt 在浏览器里找一个列表模板例:www.pkp123.cn:88&#xff…

1570_AURIX_TC275_SCU_ERU

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 从系统的逻辑图看,能够很清楚看到这个模块的功能处理过程:首先是边沿信号的识别,接着是根据判断进行置位处理,最后进行工作触发。如果设置的…

使用Nordic的nRF52840 Dongle配合Wireshark对蓝牙设备抓包(BLE)

硬件准备: 1)nRF52840 Dongle 2)待抓包的蓝牙设备 软件准备: 1)Python 2)Wireshark 3)nRF Sniffer for Bluetooth LE Python安装 需要注意的是下载的nRF Sniffer for Bluetooth LE版本是否…

K8s 之 Deployment 应用案例

目录一、YAML 配置文件二、运行服务三、更新 Deployment3.1 动态伸缩容3.2 触发上线四、故障自动转移五、指定节点运行 Pod六、删除 deployment一、YAML 配置文件 我们要清楚,在 K8s 中有两种创建资源的方式: (1)命令行方式&…

【GO】 K8s 管理系统项目[API部分--Pod]

K8s 管理系统项目[API部分–Pod] 前端: Vueelement plus 后端: gogin 1. 功能设计 2. 初始化 2.1创建项目 2.2 配置goproxy GOPROXYhttps://goproxy.cn 2.3 添加格式化工具 2.4 安装模块 go get k8s.io/client-go/tools/clientcmd go get k8s.io/api/core/v1 go get k8s.i…

使用 docker buildx 构建跨平台 Go 镜像

目录 前提 docker buildx 启用 Buildx builder 实例 构建驱动 buildx 的跨平台构建策略 一次构建多个架构 Go 镜像实践 源代码和 Dockerfile 执行跨平台构建 验证构建结果 如何交叉编译 Golang 的 CGO 项目 准备交叉编译环境和依赖 交叉编译 CGO 示例 总结 参考链接…

供水设备远程监控客户案例

一、客户介绍 客户积累多年的技术研发和工程运维经验,对传统的恒压供水工程所面临的维护难、维修难、运维效率低和能耗管控弱等诸多问题有深刻的体会,经过广泛调研,客户最终选择使用蓝蜂物联网的云平台和边缘计算产品对恒压供水设备和工程进行…

数据处理指令(一)—— 搬移指令MOV、MVN

数据处理指令指的是和数学运算、逻辑运算相关的指令,比如加减乘、与或非、赋值比较等 目录 1、MOV —— 直接搬移 (1) MOV 指令格式 (2) MOV生成指令的策略(MOV的优点) (3) MOV 只能搬移“立即数”的原因(MOV的缺点&#x…

问卷设计一:问卷题目哪些有类型和注意要点?

问卷法常被人们应用于社会调查中,它能反馈出最真实的社会信息。所以,很多企业为了最大程度地了解市场,也经常使用问卷调查法进行研究。不过,想要发挥出问卷法的最大用处,前提是要将问卷设计规范并且可量化。 想要设计…

用ArkTs在鸿蒙系统上画一个世界杯海报

偶然看到了CSDN关于世界杯的征文活动: 用代码画一个足球? 哈哈很有意思! 想了想,画一个自定义View(足球),当然是使用Canvas了,但除了Canvas还有没有其它方法呢?那是必须…

c语言算数转换 操作符

【题目名称】下面代码的结果是&#xff1a;( b)#include <stdio.h> int main() {int a, b, c;a 5;c a;b c, c, a, a;//逗号表达式从左向右以此计算 表达式结果是最后一个表达式b a c; //a9 先算加后算加等printf("a %d b %d c %d\n:", a, b, c);retu…

【软件测试】工作瓶颈?测试的出路在哪?

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 3年软件测试经验&am…

【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议

目录 一、基础知识 二、隧道技术 1、简介&#xff1a; 2、SMB隧道 3、ICMP隧道 4、DNS隧道 5、SSH协议 6、控制上线-插件 一、基础知识 【内网安全-基础】基础知识、信息收集、工具https://blog.csdn.net/qq_53079406/article/details/128292587?spm1001.2014.3001.55…

Seata 术语

爬虫组件分析目录概述需求&#xff1a;设计思路实现思路分析1.TC (Transaction Coordinator) - 事务协调者2.TM (Transaction Manager) - 事务管理器3.RM参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&…

[附源码]Nodejs计算机毕业设计基于的防疫隔离服务系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

ruoyi-vue 集成electron详细步骤

刚使用ruoyi-vue开始集成electron的可以直接去这个地址下载源码 ruoyi-vue-electron: 使用ruoyi-vue集成electron 集成步骤&#xff1a; 1、在ruoyi-vue项目中安装electron相关插件 //进入ruoyi-ui 按顺序执行安装以下4个插件yarn add electron yarn add electron-devtools-…

5、英飞凌-AURIX-TC3X7: PWM实验之使用 GTM -TOM 实现

目录5、英飞凌-AURIX-TC3X7&#xff1a; PWM实验之使用 GTM -TOM 实现1、GTM -TOM简介2、TOM框图3、TOM全局通道控制--TGC0, TGC14、实验简介4.1、实验目的4.2、TC3X7 GTM 简介4.3、具体配置流程5、具体实现5.1、Cpu0_Main.c5.2、TOM_PWM.C5.3、TOM_PWM.h5、英飞凌-AURIX-TC3X7…

StyleGAN系列

1. Progressive Growing of GANs for Improved Quality, Stability, and Variation (PGGAN) 作者&#xff1a; Tero Karras Timo Aila Samuli Laine Jaakko Lehtinen 基于一个理论&#xff0c;高分辨率的图像相对于较小分辨率的图像&#xff0c;是更难train的&#xff0c;…