音视频开发—音频相关概念:数模转换、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 的基本流程包括:

  1. 解码:将存储的数字数据(通常为二进制形式)解码成数字量化值。
  2. 重构:通过插值算法处理这些量化值,重构出原始的模拟波形。在这一过程中,可能会使用各种滤波技术来平滑输出信号,减少所谓的"阶梯效应"(由量化步骤产生的不连续变化)。
  3. 放大:将重构后的模拟信号放大,以适合后续的播放硬件(如扬声器或耳机)。

如将上图的数字信号转换为模拟信号,

3.PCM数据

PCM(Pulse Code Modulation,脉冲编码调制)是一种用于数字化模拟信号的技术,例如声音。在音频技术中,PCM是将声音等模拟信号转换为数字信号的标准格式。这种格式通过对模拟信号进行采样、量化和编码来生成数字音频数据。PCM 数据提供了一种非常纯净和精确的方式来存储声音,但由于其数据量大,通常需要更多的存储空间和带宽。

3.1PCM 数据的关键要素包括:

  1. 采样率(Sampling Rate)
    • 这是每秒钟采集模拟信号样本的次数,表示为赫兹(Hz)。常见的采样率有 44100 Hz(CD质量)、48000 Hz(专业视频和音频应用)、96000 Hz 或更高(高分辨率音频)。
  2. 位深度(Bit Depth)
    • 位深度决定了每个样本的音频分辨率,即每个采样的数据大小。常见的位深度有 16位(CD音质)、24位(专业音频)。位深度越高,可以记录的动态范围越广,音质越细腻。
  3. 声道数(Channels)
    • 声道数指的是音频流中的独立音频信号数量,例如单声道、立体声(两个声道),或多声道(如5.1环绕声系统使用的六个声道)。

4.WAV文件

WAV(或波形音频文件格式)是一种无损的音频文件格式,由微软和IBM共同开发,主要用于Windows操作系统。它通常被用于存储未压缩的音频数据,这使得它成为专业音频编辑和处理中非常受欢迎的格式。因为音频数据未经压缩,所以WAV文件通常比MP3或其他压缩格式的文件大得多。

4.1 WAV的构成

WAV文件主要由以下几个部分构成:

  1. RIFF Header(资源交换文件格式头) :
    • WAV文件以"RIFF"标记作为文件的开始。这个标头指明了文件是一个资源交换文件格式,并包含了整个文件的大小。
  2. WAVE Header(WAVE头) :
    • 紧接着RIFF头的是"WAVE"标记,它表明这是一个WAVE类型的数据文件。
  3. Format Chunk(格式块) :
    • 这是WAV文件中最重要的部分之一,它包含了有关音频数据格式的详细信息,如声道数(单声道或立体声)、采样率、位深度(每个样本的位数),以及每秒的数据字节数。
  4. 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数据文件更易于在不同的播放设备和程序之间移植和使用。
相关推荐
wkd_0072 小时前
【音视频 | RTSP】RTSP协议详解 及 抓包例子解析(详细而不赘述)
音视频·rtsp协议·rtsp方法·rtsp报文格式·rtsp错误码
:)�东东要拼命4 小时前
什么是YUV和IPB,PTS和DTS,视频编码解码过程
音视频
科学的发展-只不过是读大自然写的代码5 小时前
qt播放视频
数据库·qt·音视频
写代码的小黑5 小时前
moviepy给视频添加字幕很慢的问题解决
音视频
NullPointerExpection5 小时前
h5 video 标签播放经过 java 使用 ws.schild( jave、ffmpeg ) 压缩后的 mp4 视频只有声音无画面的问题排查记录
java·ffmpeg·音视频·vlc·jave·ws.schild
weixin_442733118 小时前
【WebRTC实现点对点视频通话】
音视频·webrtc
windxgz8 小时前
FFmpeg——视频拼接总结
c++·ffmpeg·音视频
hunandede9 小时前
音视频开发35 FFmpeg 编码- 将YUV 和 pcm合成一个mp4文件
ffmpeg·音视频·pcm
易板9 小时前
MAX98357、MAX98357A、MAX98357B小巧、低成本、PCM D类IIS放大器,具有AB类性能中文说明规格书
iis·pcm·数字功放·d类放大器
袁袁袁袁满10 小时前
Python之MoviePy视频编辑模块介绍与应用
开发语言·python·音视频·moviepy·视频编辑模块