一、什么是WAV
WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持,该格式也支持MSADPCM,CCITT A LAW等多种压缩运算法,支持多种音频数字,取样频率和声道,标准格式化的WAV文件和CD格式一样,也是44.1K的取样频率,16位量化数字,因此在声音文件质量和CD相差无几。 WAV打开工具是WINDOWS的媒体播放器。
通常使用三个参数来表示声音,量化位数,取样频率和声道数。
声道有单声道和立体声之分,取样频率一般有11025Hz(11kHz) ,22050Hz(22kHz)和44100Hz(44kHz) 三种,不过尽管音质出色,但在压缩后的文件体积过大!相对其他音频格式而言是一个缺点,其文件大小的计算方式为:
WAV格式文件所占容量(KB) = (取样频率 X 量化位数 X 声道) X 时间 / 8 (字节= 8bit)
每一分钟WAV格式的音频文件的大小为10MB,其大小不随音量大小及清晰度的变化而变化。
二、WAV文件内部结构
WAV文件的文件头
偏移地址 字节数 类型 内容
00H~03H 4 字符 资源交换文件标志(RIFF)
04H~07H 4 长整数 从下个地址开始到文件尾的总字节数
08H~0BH 4 字符 WAV文件标志(WAVE)
0CH~0FH 4 字符 波形格式标志(FMT)
10H~13H 4 整数 过滤字节(一般为00000010H)
14H~15H 2 整数 格式种类(值为1时,表示数据为线性PCM编码)
16H~17H 2 整数 通道数,单声道为1,双声音为2
18H~1BH 4 长整数 采样频率
1CH~1FH 4 长整数 波形数据传输速率(每秒平均字节数)
20H~21H 2 整数 数据的调整数(按字节计算)
22H~23H 2 整数 样本数据位数
WAV声音文件的数据块
偏移地址 字节数 类型 内容
24H~27H 4 字符 数据标志符(data)
28H~2BH 4 长整型 采样数据总数
2CH... ... 采样数据
三、问题解答
1、8比特和16比特样值的二进制编码表示一样吗?
常见的声音文件主要有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指:声音信号在“模→数”转换过程中单位时间内采样的次数。采样值是指每一次采样周期内声音模拟信号的积分值。
wav数据的bit位置可以分成以下几种形式:
对于8位单声道,每个样本数据由8位(bit)(short int 00H-FFH)表示;
对于8位立体声,每个声道的数据由一个8位(bit)数据表示,且第一个8位(bit)
数据表示0声道(左)数据,紧随其后的8位(bit)数据表示1声道(右)数据;
对于16位单声道,每个样本数据由16位(bit)表示;其中低字节存放高位,高字节存放低位
对于16位立体声,每个声道的数据由一个16位(bit)数据表示,且第一个16位(bit)
数据表示0声道(左)数据,紧随其后的16位(bit)数据表示1声道(右)数据。
2、现有的wav 支持哪几种音频压缩方法?
支持MSADPCM,CCITT A LAW等多种压缩运算法支持MSADPCM,CCITT A LAW等多种压缩运算法。
3、取样率转换 eg.48KHz-44.1KHz
取样,是把连续的模拟量用一个个离散的点。显然,取样点需要足够密集,才能很好地表达原始模拟讯号的特征。每秒钟取样的次数叫取样率。
例如:CD的取样率为44.1kHz,表示每秒钟取样44100次
48KHz转换为44.1KHz:直接取它们的最小公倍数7056k,在两个相邻抽样值之间插入7056k/48k-1=146个抽样值,再从采样率为7056k的文件里每隔7056k/44.1k-1=159个样值抽取一个,就可以将采样率48KHz转换为44.1KHz了