音频编解码·格式篇(1)Wave PCM audio format(WAV)
0 音频编解码基础
- 采样率:声音信号在“模数转换”过程中单位时间内采样的次数。
- 采样值:每一次采样周期内声音模拟信号的积分值。
- 单声道:11.025 KHz 采样值,8 Bits 采样值(0x00 - 0xFF)。
- 双声道:44.1 KHz 采样值,16 Bits 采样值。高八位表示左声道,低八位表示右声道。
1 WAV音频文件格式
见下图:
- 文件头
- 数据体:由 PCM(脉冲编码调制)格式表示的样本组成。
单声道 WAV 文件中,声道0代表左声道,声道1代表右声道;多声道 WAV 文件中,左右声道的样本是交替出现的。
1.1 文件头格式:
偏移地址
字节数
数据类型
内容
0x00 |
4 |
char |
“RIFF”标志 |
0x04 |
4 |
long int |
文件长度 |
0x08 |
4 |
char |
“WAVE”标志 |
0x0C |
4 |
char |
“fmt ”标志 |
0x10 |
4 |
|
过度字节(不定) |
0x14 |
2 |
int |
格式类别(0x10是PCM形式的声音格式) |
0x16 |
2 |
int |
通道数(1为单声道,2为双声道) |
0x18 |
2 |
int |
采样率(每秒的样本数,表示每个通道的播放速度) |
0x1C |
4 |
long int |
波形音频数据传输速率,为(通道数x每秒数据位数x样本的数据位数/8,播放器根据此值估算缓冲区大小) |
0x20 |
2 |
int |
数据块的调整数,为(通道数x没样本的数据位值/8),播放软件一次需要处理多个该值大小的字节数据,以便就爱将其值用于缓冲区的调整 |
0x22 |
2 |
|
每样本的数据位数,表示每个声道中各样本的数据位数,如果有多个声道,对每个声道而言,样本大小都一样 |
1.2 数据体格式:
偏移地址
字节数
数据类型
内容
0x24 |
4 |
char |
数据标记符“data” |
0x28 |
4 |
long int |
语音数据的长度 |
然后就是语音数据帧了。下表中的0声道代表左声道,1声道代表右声道:
偏移地址
sample1
sample2
8位单声道 |
0声道 |
0声道 |
8位双声道 |
0声道,1声道 |
0声道,1声道 |
16位单声道 |
0声道低字节,0声道高字节 |
0声道低字节,0声道高字节 |
16位双声道 |
0声道低字节,0声道搞字节 |
1声道低字节,1声道高字节 |
1.3 WAV文件格式实例分析(转载)
地址段
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0x00000000 |
52 |
49 |
46 |
46 |
0A |
06 |
01 |
00 |
57 |
41 |
56 |
45 |
66 |
6D |
74 |
20 |
0x00000010 |
12 |
00 |
00 |
00 |
01 |
00 |
02 |
00 |
44 |
AC |
00 |
00 |
10 |
B1 |
02 |
00 |
0x00000020 |
04 |
00 |
10 |
00 |
00 |
00 |
66 |
61 |
63 |
74 |
04 |
00 |
00 |
00 |
76 |
41 |
0x00000030 |
00 |
00 |
64 |
61 |
74 |
61 |
D8 |
05 |
01 |
00 |
00 |
00 |
00 |
00 |
FF |
FF |
0x00000040 |
00 |
00 |
FE |
FF |
FE |
FF |
00 |
00 |
00 |
00 |
FE |
FF |
FE |
FF |
00 |
00 |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
0x00000050 |
64 |
61 |
6B |
61 |
D8 |
05 |
01 |
00 |
|
|
|
|
|
|
|
|
地址段
字节数
数据类型
内容
0x00 - 0x03 |
4 |
4个char |
标志位,"RIFF" |
0x04 - 0x07 |
4 |
1个int |
文件长度,小尾端,实际是0x0001060A |
0x08 - 0x0B |
4 |
4个char |
标志位,“WAVE” |
0x0C - 0x0F |
4 |
4个char |
标志位,“fmt ”,fmt表示为,最后一个是空格 |
0x10 - 0x13 |
4 |
1个int |
0x00000012,sizeof(PCMWAVEFORMAT) |
0x14 - 0x15 |
2 |
1个short |
格式类别,1(WAVE_FORMAT_PCM)表示PCM形式的声音数据 |
0x16 - 0x17 |
2 |
1个short |
通道数,1为单声道,2为双声道 |
0x18 - 0x1B |
4 |
1个int |
采样率 |
0x1C - 0x1F |
4 |
1个int |
0x10B10000,每秒数据量 |
0x20 - 0x21 |
2 |
1个short |
数据块的调整值(按字节算) |
0x22 - 0x4F |
|
|
|
0x50 - 0x53 |
4 |
4个char |
标志位,“data” |
0x54 - 0x57 |
4 |
1个int |
语音数据大小,0x000105D8 |
Reference
- WAV(PCM)文件格式分析
分享到:
相关推荐
在音频处理和数字媒体领域,WAV(Waveform Audio Format)是常见的无损音频文件格式之一,由微软和IBM共同开发,广泛应用于音乐制作、声音编辑以及音频数据存储。本篇文章将对WAV格式进行深度剖析,帮助读者全面了解...
WAV(Waveform Audio File Format)是由微软和IBM共同开发的一种音频文件格式,它能无损地保存原始音频数据,因此在音频处理领域中很常见。 在Android平台上,录音功能通常会生成PCM格式的文件,因为PCM格式数据...
WAV(Waveform Audio Format)是微软开发的一种无损音频文件格式,广泛用于存储和交换音频数据。在IT领域,将PCM数据转换为WAV格式是常见的音频处理任务,尤其对于编程人员来说,了解这个过程非常关键。 PCM转换为...
WAV(Waveform Audio File Format)是由微软和IBM共同开发的一种无损音频格式,广泛应用于各种操作系统。本压缩包“wav.zip”提供了关于WAV音频解码、转换和播放的知识点,非常适合新手学习。 **1. WAV格式介绍** ...
WAV(Waveform Audio File Format)是微软和IBM共同开发的一种声音文件格式,广泛用于Windows平台上。PCM(Pulse Code Modulation),脉冲编码调制,是数字音频的基本编码方式,也是WAV文件最常用的编码格式之一。 ...
本篇文章将深入探讨如何将PCM(脉冲编码调制)音频数据流转为WAV格式,并在JavaScript环境中实现直接播放。首先,我们需要理解PCM和WAV的基本概念。 PCM是模拟音频信号最常见的数字表示方式,它通过采样和量化过程...
标题 "为pcm添加wav头" 指的是在PCM(脉冲编码调制)音频数据文件前添加符合WAV(Waveform Audio Format)文件格式的头部信息。这通常是因为PCM是一种裸露的数字音频格式,不含任何元数据,而WAV是一种包含所有必要...
WAV(Waveform Audio File Format)是一种用于存储数字音频文件的标准格式,广泛应用于多种操作系统和媒体播放器之中。WAV格式以其无损压缩的特点,确保了原始音频的质量得以保留。本文将深入浅出地介绍WAV音频格式...
音频解码是数字音频处理中的关键技术,它涉及将音频数据从其原始的压缩格式转换为原始的、未压缩的PCM(脉冲编码调制)格式,以便进行进一步的处理或播放。在标题和描述中提到的,这项技术适用于wav、mp3和aac这三种...
WAV文件格式是Microsoft开发的一种无损音频文件格式,全称为Waveform Audio Format。它是基于RIFF(Resource Interchange File Format)文件结构的,广泛用于存储各种类型的音频数据,包括音乐、对话和声音效果。WAV...
WAVE文件,或称Waveform Audio File Format,是Windows系统中的标准音频文件格式,通常以.wav为扩展名。这种文件可以包含多种压缩或未压缩的音频数据。PCM格式的WAVE文件直接保存原始采样数据,不进行任何压缩,是...
WAVE是微软开发的一种音频文件格式,遵循PIFF Resource Interchange File Format规范。WAV文件包含一个文件头,用于存储音频流的编码参数。尽管WAV文件通常使用PCM编码,但它实际上可以支持ACM规范下的多种编码方式...
在数字音频领域,WAV(Waveform Audio File Format)是一种广泛使用的无损音频格式,尤其在Windows操作系统中是标准的音频文件格式。它是由微软和IBM共同开发的,遵循Resource Interchange File Format (RIFF) 文件...
WAV,全称Waveform Audio Format,是Microsoft和IBM共同开发的一种音频文件格式,广泛用于Windows平台。WAV文件是无损的,包含了完整的原始音频数据,并且支持多种编码方式,包括PCM。WAV文件头包含了许多元数据,如...
WAV(Waveform Audio Format)是微软和IBM共同开发的一种音频文件格式,它是未压缩的、高质量的数字音频格式,能够保留原始音频的所有细节。这种格式通常用于专业音频编辑和音乐制作,因为它提供了无损的数据存储,...
wave”和描述“使用acm做的gsm-pcm格式转换库程序,在VC6下编译,生成waveConvert.dll”涉及到的是音频编码与解码技术,特别是将PACM(脉冲编码调制)、GSM(全球系统for移动通信)格式相互转换,并最终生成WAV...
在计算机音频处理领域,WAVE(Waveform Audio Format)是一种常见的数字音频文件格式,由Microsoft公司开发,广泛应用于Windows操作系统中。WAVE_codec模块是针对这种格式进行编码和解码的DLL(动态链接库)项目,它...
WAV(Waveform Audio Format)是由微软公司开发的一种音频文件格式,广泛应用于Windows操作系统中。它是无损的音频压缩格式,意味着它保留了原始录音的每一个细节,因此文件体积通常较大。WAV文件可以存储各种类型的...
在数字音频领域,WAV(Waveform Audio Format)是一种常见的无损音频文件格式,由Microsoft开发,广泛应用于Windows操作系统。这种格式存储原始的音频数据,包括采样率、位深度和通道数等重要信息。在处理WAV文件时...
本主题主要关注如何使用C#编程语言将高质量的WAV音频格式转换为更小巧、便于分享和存储的MP3格式。WAV是一种无损音频格式,保真度高但文件体积大;而MP3则是一种有损格式,通过压缩技术减小文件大小,牺牲部分音质但...