我是靠谱客的博主 兴奋外套,最近开发中收集的这篇文章主要介绍wav文件格式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

wav文件格式是用于多媒体文件存储的微软RIFF规范的一个子集。一个RIFF文件从一个文件头开始,后面是一系列的数据块。一个wav文件通常只是一个带有单一"WAVE"块的RIFF文件。"WAVE"块是由两个子块组成的,一个是指定数据格式的“fmt”块和另一个是包含实际样本数据的数据块。这种形式被称为是“规范形式”("Canonical form")。具体格式如图所示:

Offset
Size
Name
Description
The canonical WAVE format starts with the RIFF header:
0
4
ChunkID

 "RIFF"对应的ASCII码为0x52494646。
4
4
ChunkSize
块的大小不包括ChunkID and ChunkSize两部分。可以表示为 36 + SubChunk2Size或者4 + (8 + SubChunk1Size) + (8 + SubChunk2Size)
8
4
Format
"WAVE"对应的ASCII码为0x57415645。
"WAVE"块是由两个子块组成的,一个是指定数据格式的“fmt”块和另一个是包含实际样本数据的数据块。
12
4
Subchunk1ID
"fmt "对应的ASCII码为0x666d7420。
16
4
Subchunk1Size
PCM编码时,“fmt”块的大小为16字节。
20
2
AudioFormat
压缩方式,当AudioFormat=1时,采取的是PCM编码方式。
22
2
NumChannels
声道的数量,单声道为1,双声道为2。
24
4
SampleRate
取样率。
28
4
ByteRate
传输速率=SampleRate * NumChannels * BitsPerSample/8。
32
2
BlockAlign
一个样点处的字节数== NumChannels * BitsPerSample/8。
34
2
BitsPerSample
每个样点处的bit数。

2
ExtraParamSize 如果是PCM编码的话,不存
X
ExtraParams
 附加因素的空间。
36
4
Subchunk2ID
"data"对应的ASCII码为0x64617461。
40
4
Subchunk2Size
数据的传输速率(数据块的大小)== NumSamples * NumChannels * BitsPerSample/8
44
*
Data
实际的数据。

分析一个简单的例子:该wav文件采用PCM编码方式,为双声道,且每个样点处的字节数为4,数据储存方式为左右声道交替。

需要回答的问题:

8比特和16比特样值的二进制编码方式一样吗?

两者不一样。8比特样值的二进制编码方式为unsigned bytes,取值范围是0-255。16比特样值的二进制编码方式为unsigned integers,取值范围是-32768-32767。

现有的wav支持哪几种音频压缩方式?

Compression code信息在WAV文件字段的第21、22个byte,通过十六进制查看器我们可以看到一个WAV文件的压缩码类型。对应关系如下表:Code      Description 
0 (0x0000)       Unknown 
1 (0x0001)       PCM/uncompressed 
2 (0x0002)       Microsoft ADPCM 
6 (0x0006)       ITU G.711 a-law 
7 (0x0007)       ITU G.711 µ-law 
17 (0x0011)    IMA ADPCM 
20 (0x0016)    ITU G.723 ADPCM (Yamaha) 
49 (0x0031)    GSM 6.10 
64 (0x0040)    ITU G.721 ADPCM 
80 (0x0050)     MPEG 
65,536 (0xFFFF)  Experimental

参考资料:http://soundfile.sapp.org/doc/WaveFormat/

http://blog.csdn.net/stelalala/article/details/17058755

最后

以上就是兴奋外套为你收集整理的wav文件格式的全部内容,希望文章能够帮你解决wav文件格式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部