音视频开发—音频相关概念:数模转换、PCM数据与WAV文件详解
文章目录
- 前言
- 1.模拟数字转换(ADC)
- 1.1ADC的关键步骤:
- 2.数字模拟转换(DAC)
- 2.1DAC 的基本流程包括:
- 3.PCM数据
- 3.1PCM 数据的关键要素包括:
- 4.WAV文件
- 4.1 WAV的构成
- 4.2WAV文件的标准块结构
- 4.3WAV的使用场景
- 5.PCM与WAV的关系
前言
数字模拟转换(DAC)和模拟数字转换(ADC)是音频技术中非常重要的两个概念,它们在数字音频设备和系统中发挥着核心作用。这两种转换技术确保了模拟信号和数字信号之间的互转,使得音频信号可以在不同的媒体和设备间有效传输和处理。
1.模拟数字转换(ADC)
模拟数字转换是将模拟信号(连续信号)转换成数字信号(离散信号)的过程。在音频应用中,这意味着将捕捉到的声音(例如通过麦克风)转换成数字格式,以便于存储、编辑或处理。
一段原始的声音波形例子如下:

1.1ADC的关键步骤:
采样:测量模拟信号的振幅值,在特定的时间间隔内进行。这个时间间隔称为采样间隔,其倒数为采样率。例如,CD音质的标准采样率为44.1 kHz,即每秒采样44100次。
量化:将每次采样得到的模拟值转换为最接近的数字值。这个过程涉及到将连续的振幅值映射到有限的数字级别上。量化的精度通常由位深度(比特率)决定,例如16位、24位等。位深度指的是用于记录声音采样值的比特数。位深度越高,可以表示的声音振幅级别就越多,从而可以更精确地复制录音的动态范围和细节。以下是一些常见的位深度示例及其含义:
- 16位:这是CD音质的标准位深度,它可以提供约96 dB的动态范围。16位系统可以表示 216=65536216=65536 不同的振幅级别。
- 24位:这是专业音频工作的常用位深度,可以提供约144 dB的动态范围,使其能够记录更细微的音量变化。24位系统可以表示 224=16777216224=16777216 不同的振幅级别。

量化后的数字信息如下:

编码:将量化后的值转换为二进制数码,形成数字信号。

ADC 的输出是数字信号,这意味着原始的连续模拟信号被转换为一系列离散的数字值。这些数字值可以用于数字处理、存储或其他数字应用。
2.数字模拟转换(DAC)
数字模拟转换是将数字信号转换回模拟信号的过程。这一步骤在播放数字音频文件时尤为关键,如在数字音乐播放器、计算机或智能手机中。
2.1DAC 的基本流程包括:
- 解码:将存储的数字数据(通常为二进制形式)解码成数字量化值。
- 重构:通过插值算法处理这些量化值,重构出原始的模拟波形。在这一过程中,可能会使用各种滤波技术来平滑输出信号,减少所谓的“阶梯效应”(由量化步骤产生的不连续变化)。
- 放大:将重构后的模拟信号放大,以适合后续的播放硬件(如扬声器或耳机)。
如将上图的数字信号转换为模拟信号,

3.PCM数据
PCM(Pulse Code Modulation,脉冲编码调制)是一种用于数字化模拟信号的技术,例如声音。在音频技术中,PCM是将声音等模拟信号转换为数字信号的标准格式。这种格式通过对模拟信号进行采样、量化和编码来生成数字音频数据。PCM 数据提供了一种非常纯净和精确的方式来存储声音,但由于其数据量大,通常需要更多的存储空间和带宽。
3.1PCM 数据的关键要素包括:
- 采样率(Sampling Rate):
- 这是每秒钟采集模拟信号样本的次数,表示为赫兹(Hz)。常见的采样率有 44100 Hz(CD质量)、48000 Hz(专业视频和音频应用)、96000 Hz 或更高(高分辨率音频)。
- 位深度(Bit Depth):
- 位深度决定了每个样本的音频分辨率,即每个采样的数据大小。常见的位深度有 16位(CD音质)、24位(专业音频)。位深度越高,可以记录的动态范围越广,音质越细腻。
- 声道数(Channels):
- 声道数指的是音频流中的独立音频信号数量,例如单声道、立体声(两个声道),或多声道(如5.1环绕声系统使用的六个声道)。
4.WAV文件
WAV(或波形音频文件格式)是一种无损的音频文件格式,由微软和IBM共同开发,主要用于Windows操作系统。它通常被用于存储未压缩的音频数据,这使得它成为专业音频编辑和处理中非常受欢迎的格式。因为音频数据未经压缩,所以WAV文件通常比MP3或其他压缩格式的文件大得多。
4.1 WAV的构成
WAV文件主要由以下几个部分构成:
- RIFF Header(资源交换文件格式头):
- WAV文件以“RIFF”标记作为文件的开始。这个标头指明了文件是一个资源交换文件格式,并包含了整个文件的大小。
- WAVE Header(WAVE头):
- 紧接着RIFF头的是“WAVE”标记,它表明这是一个WAVE类型的数据文件。
- Format Chunk(格式块):
- 这是WAV文件中最重要的部分之一,它包含了有关音频数据格式的详细信息,如声道数(单声道或立体声)、采样率、位深度(每个样本的位数),以及每秒的数据字节数。
- Data Chunk(数据块):
- 数据块包含了实际的音频采样数据。这个部分的大小取决于录音的长度和质量。每个采样点的数据通常以小端格式存储(在x86架构的计算机上)。
4.2WAV文件的标准块结构
- RIFF Header:
RIFF[大小]WAVE - Format Chunk:
fmt [大小][格式类型][通道数][采样率][字节率][块对齐][位深度] - Data Chunk:
data[大小][音频采样数据]
4.3WAV的使用场景
WAV格式由于其无损的特性,广泛用于:
- 专业音频录制与编辑:在音乐制作和广播中,WAV格式因为其高保真度而被频繁使用。
- 音频分析:科研和工程应用中,需要对原始音频数据进行精确分析时,通常会使用WAV格式。
- 系统音效:在Windows操作系统中,系统音效通常以WAV格式存储。
5.PCM与WAV的关系
- PCM 是音频数据编码的一种方式,而WAV 是一种文件格式,通常用来存储PCM编码的音频数据。
- WAV 文件通常包含PCM数据,但WAV格式的灵活性也允许它包含压缩音频,如MP3编码的音频。然而,在实际应用中,WAV文件大多数情况下确实是用来存储PCM数据。
- 由于WAV文件包含详细的头信息(采样率、位深度、声道等),它们比原始的PCM数据文件更易于在不同的播放设备和程序之间移植和使用。
相关文章:
音视频开发—音频相关概念:数模转换、PCM数据与WAV文件详解
文章目录 前言1.模拟数字转换(ADC)1.1ADC的关键步骤: 2.数字模拟转换(DAC)2.1DAC 的基本流程包括: 3.PCM数据3.1PCM 数据的关键要素包括: 4.WAV文件4.1 WAV的构成4.2WAV文件的标准块结构4.3WAV的…...
Elasticsearch 8.1官网文档梳理 - 十三、Search your data(数据搜索)
Search your data 这里有两个比较有用的参数需要注意一下 Search timeout:设置每个分片的搜索超时时间。从集群级别可以通过 search.default_search_timeout 来设置超时时间。如果在 search.default_search_timeout 设置的时间段内未完成搜索请求,就会…...
笔墨挥毫如游龙 最是经典铁线篆——记著名书法家王子彬
真正的书法大家,必是经历了日积月累的求索磨炼,毕竟书法从来都不是一蹴而就的艺术,因此但凡是急功近利者,其人也是远远无法达到书入臻境的创作高度。而纵观当代书坛界内,其中王子彬先生的艺术声誉可谓是广为人知,作为一名深具传统功底的实力派书法大家,王子彬先生的取法历途无疑…...
智慧校园有哪些特征
随着科技的飞速进步,教育领域正经历着一场深刻的变革。智慧校园,作为这场变革的前沿代表,正在逐步重塑我们的教育理念和实践方式。它不仅仅是一个概念,而是一个集成了物联网、大数据、人工智能等先进技术的综合生态系统࿰…...
day25回溯算法part02| 216.组合总和III 17.电话号码的字母组合
216.组合总和III 题目链接/文章讲解 | 视频讲解 class Solution { public:vector<vector<int>> result;vector<int> path;int sum;void backtracking(int n, int k, int startindex) {// int sum accumulate(path.begin(), path.end(), 0);if (sum n &am…...
AWS联网和内容分发服务
概况 VPC Amazon Virtual Private Cloud (Amazon VPC) 让您能够全面地控制自己的虚拟网络环境,包括资源放置、连接性和安全性。首先在 AWS 服务控制台中设置 VPC。然后,向其中添加资源,例如 Amazon Elastic Compute Cloud (EC2) 和 Amazon …...
vscode设置编辑器文件自动保存
步骤 1.打开vscode的设置 2.在搜索栏输入关键字“保存”; 在 Files: Auto Save 设置项,选择自动保存的模式...
SJ705C安全帽高温预处理箱
一、仪器用途 安全帽高温预处理箱是我公司根据安全帽新国家标准检测试验要求而自主设计研发制造。是安全帽检测前做高温预处理的专用设备。 二、仪器特征 1、有PID自整定温度控制仪,控制准确。 2、数显计时、计温器。 3、石英灯管加热系统;。 …...
AI盒子在智慧加油站的应用
方案背景 为规范加油站作业,保障人民生命财产安全,《加油站作业安全规范》(AQ 3010-2007)中第五条规定:卸油作业基本要求,明确防静电、防雷电、防火、人员值守、禁止其他车辆及非工作人员进入卸油区。 痛点…...
IC开发——VCS基本用法
1. 简介 VCS是编译型verilog仿真器,处理verilog的源码过程如下: VCS先将verilog/systemverilog文件转化为C文件,在linux下编译链接生成可执行文件,在linux下运行simv即可得到仿真结果。 VCS使用步骤,先编译verilog源…...
MongoDB~存储引擎了解
存储引擎 存储引擎是一个数据库的核心,主要负责内存、磁盘里数据的管理和维护。 MongoBD的优势,在于其数据模型定义的灵活性、以及可拓展性。但不要忽略,其存储引擎也是插件式的存在,支持不同类型的存储引擎,使用不同…...
JavaScript实现粒子数字倒计时效果附完整注释
<!DOCTYPE html> <html lang="en"><head><meta charset...
Dubbo SPI(Service Provider Interface)机制深度解析
Dubbo SPI(Service Provider Interface)机制是Apache Dubbo框架中一项核心的技术组件,它超越了传统Java SPI的范畴,为Dubbo带来了高度的可扩展性和灵活性。在分布式服务架构日益复杂多变的今天,Dubbo SPI机制通过巧妙的…...
常用中间件各版本下载
常用中间件下载地址 前言分布式中间件负载均衡中间件缓存中间件数据库中间件其他中间件1、Maven下载地址2、Git下载地址2、JDK下载地址3、MySQL下载地址4、Redis下载地址5、Nacos下载地址6、Tomcat下载地址7、Nginx下载地址8、RocketMQ下载地址8、RabbitMQ下载地址8、Erlang下载…...
VsCode SSH远程设置不用重复输入密码
winR输入cmd,回车,输入 C:\Users\Administrator> ssh-keygen -t rsa -b 4096 Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\Administrator/.ssh/id_rsa): Enter passphrase (empty for no passphrase): …...
【Linux】:进程切换
朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux进程切换的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精…...
MongoDB CRUD操作:删除文档
MongoDB CRUD操作:删除文档 文章目录 MongoDB CRUD操作:删除文档删除集合的所有文档删除符合条件的所有文件删除第一个符合条件的文档## 在MongoDB Atlas中删除文档删除行为索引 原子性写确认 可以使用下面的方式删除MongoDB集合的文档: 使用…...
SpringBoot集成腾讯COS流程
1.pom.xml中添加cos配置 <!--腾讯cos --> <dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.28</version> </dependency> 2.application.yaml中添加cos配置 # 腾讯云存储cos…...
中高级前端开发岗
定位: 日常迭代任务的核心研发,具备高质、高效完成迭代任务的能力。 素质要求: 业务专家或擅长某一方向技术;有较丰富的开发经验;需要具备良好的沟通和协作能力,能够与其他部门和团队进行有效的沟通和协…...
idea常用配置
文章目录 I 常见问题1.1 取消maven忽略文件清单1.2 源根之外的java文件1.3 idea取消所有断点1.4 idea使用非模式提交界面1.5 用Service窗口展示所有服务及端口1.6 idea编码问题(加载配置文件失败)II idea 换行后自动缩进4个空格,怎么取消?I 常见问题 1.1 取消maven忽略文件…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
