WAVE是录音时用的标准的WINDOWS文件
格式,文件的扩展名为“WAV”,数据本身的格式为PCM或压缩型。WAVE
文件格式是一种由
微软和IBM联合开发的用于
音频数字存储的标准,它采用RIFF文件格式结构,非常接近于AIFF和IFF格式。符合 PIFF Resource Interchange File Format规范。所有的WAV都有一个
文件头,这个文件头
音频流的编码
参数。
文件格式
WAVE文件作为最经典的
Windows多媒体音频格式,应用非常广泛,它使用三个
参数来表示声音:采样
位数、采样频率和
声道数。
声道有单声道和立体声之分,采样频率一般有11025Hz(11kHz)、22050Hz(22kHz)和44100Hz(44kHz)三种。WAVE文件所占容量=(采样频率×采样
位数×
声道)×时间/8(1
字节=8bit)。
WAVE对
音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的
音频流进行编码。
多媒体应用中使用了多种数据,包括
位图、
音频数据、视频数据以及外围设备控制信息等。 RIFF为存储这些类型的数据提供了一种方法,RIFF文件所包含的数据类型由该文件的扩展名来
标识,能以RIFF文件存储的数据包括:
音频视频交错格式数据(.AVI) 、
波形格式数据(.WAV) 、位图格式数据(.RDI) 、MIDI
格式数据(.RMI) 、
调色板格式(.PAL) 、
多媒体电影(.RMN) 、动画光标(.ANI) 、其它RIFF文件(.BND)
WAVE文件可以存储大量
格式的数据,通常采用的
音频编码方式是脉冲编码调制(PCM)。由于
WAV格式源自Windows/Intel环境,因而采用Little-Endian
字节顺序进行存储。
格式剖析
WAVE文件作为
多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个
字节便是“RIFF”。WAVE文件由
文件头和数据体两大部分组成。其中
文件头又分为RIFF/WAV文件
标识段和声音
数据格式说明段两部分。WAVE文件各部分内容及
格式见附表。
常见的声音文件主要有两种,分别对应于单
声道(11.025KHz
采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。
采样率是指:声音
信号在“模→数”转换过程中单位时间内采样的次数。采样值是指每一次采样周期内声音模拟
信号的积分值。
对于单
声道声音文件,
采样数据为八位的短
整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。
WAVE文件
数据块包含以脉冲编码调制(PCM)
格式表示的样本。WAVE文件是由样本组织而成的。在单
声道WAVE文件中,声道0代表
左声道,声道1代表右声道。在
多声道WAVE文件中,样本是交替出现的。
WAVE文件的每个样本值包含在一个
整数i中,i的
长度为容纳指定样本长度所需的最小
字节数。首先存储低有效
字节,表示样本
幅度的位放在i的高有效位上,剩下的位置为0,这样8位和16位的PCM
波形样本的
数据格式。
优缺点
WAV
音频格式的优点包括:简单的编/解码(几乎直接存储来自模/数
转换器(ADC)的
信号)、普遍的认同/支持以及无损耗存储。WAV
格式的主要缺点是需要
音频存储空间。对于小的存储限制或小带宽应用而言,这可能是一个重要的问题。WAV
格式的另外一个潜在缺陷是在32位WAV文件中的2G限制,这种限制已在为SoundForge开发的W64格式中得到了改善。
格式支持
Wave格式支持MSADPCM、CCITTALaw、CCITT μ Law和其它压缩算法,支持多种
音频位数、采样频率和
声道,但其缺点是文件体积较大(一分钟44kHZ、16bit Stereo的WAV文件约要占用10MB左右的
硬盘空间),所以不适合长时间记录。
在Windows中,把声音文件存储到
硬盘上的扩展名为WAV。WAV记录的是声音的本身,所以它占的
硬盘空间大的很。例如:16位的44.1KHZ的立体声声音一分钟要占用大约10MB的容量,和MIDI相比就差的很远。
格式转换
AVI和WAV在文件结构上是非常相似的,不过AVI多了一个
视频流而已。我们接触到的AVI有很多种,因此我们经常需要安装一些Decode才能观看一些AVI,我们接触到比较多的DivX就是一种
视频编码,AVI可以采用DivX编码来压缩
视频流,当然也可以使用其他的编码压缩。同样,WAV也可以使用多种
音频编码来压缩其
音频流,不过我们常见的都是
音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,和AVI一样,只要安装好了相应的dDecode,就可以欣赏这些WAV了。
在Windows平台下,基于PCM编码的WAV是被支持得最好的
音频格式,所有音频软件都能完美支持,由于本身可以达到较高的
音质的要求,因此,WAV也是
音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的
格式,常常使用在其他编码的相互转换之中,例如
MP3转换成
WMA。
MP3大家一定很熟悉,但要将WAV
格式的声音文件转换成
MP3格式,你可能首先想到的是找专门的格式转换工具,其实不必那么复杂,你身边就有一个现成的工具,这就是Windows附件中所带的“
录音机”,使用这个工具能最简便实现WAV格式转为MP3格式,具体操作方法如下:
依次单击“开始→程序→附件→娱乐→录音机”,打开录音机程序,然后单击
文件菜单,从文件中打开需要转换的WAV文件,再单击“文件→
另存为”,在“另存为”对话框中单击“更改”按钮,在“
格式”框中选择“MPEG Layer-3”格式,一切就OK了。
在转换时,如果想控制文件大小,如想让声音更好听或要使文件更加小巧,可以在窗口的“声音选定”中选择其中的“属性”,在该栏中选择更低或更高的采样频率就可以了。
文件播放
在
多媒体软件的开发设计中,声音是一个相当重要的
多媒体元素,优秀的
声音设计会为多媒体软件增色不少。而WAV
格式的声音文件是一种最常用的声音文件格式,也最容易得到,比如通过Win 95中的“录音机”程序,利用
麦克风就可以非常简单地录制WAV文件。VB是一个相当经典的
多媒体开发的工具,在VB中播放WAV文件的方法主要有这样几种。
一、利用OLE控件
建一
窗体,用鼠标选择OLE控件,在窗体上拖出OLE区域,在图一的窗口中选择新建和声音然后按确定键就完成了在窗口中添加OLE控件。
这样就可以在OLE控件的ResourceDoc属性中选择所要播放的文件,程序运行时双击OLE控件即可。
在实际的
程序设计当中,往往需要单击某个图标或按钮来控制声音的播放,其实现方法是这样的:首先将OLE控件的VISIBLE属性设置为FALSE,然后在图标或按钮的单击事件中编写如下的程序:
Private Sub Contol_Click()
OLE1.Action = 7
End Sub
二、利用MMControl控件
VB5.0提供了许多设计
多媒体的控件,在PROJECT/COMPENENTS/CONTROLS中选择MMControls 控件,窗体上就出现了多媒体控件对象,在这个对象上有不同的图形功能
标识,其名称从左到右分别是Pre、Next、Play、Pause、Back、Step、Stop、Record 、Eject。
这个
多媒体控件可以播放多种
格式的声音,播放WAV格式声音文件的程序代码
Private Sub form_load()
End Sub '以下是为图形
标识Play事件编写的代码
Private Sub MMControl_playclick(cancel As Integer)
End Sub
当运行这个程序时,MMControl控件中的Play键被激活,点取此按钮即可播放ding.wav文件。
在实际的软件设计当中,更多的情况是鼠标点击按钮或图标来控制声音的播放, 其实现方法是这样的:首先将MMControl控件的VISIBLE属性设置为FALSE,然后在图标或按钮的单击事件中编写如下的程序:
Private Sub Control1_Click()
End Sub
运行程序时单击相用的按钮或图标,WAV文件照样可以播放。用自行设计的按钮或图标取代
多媒体控件中的固定按钮,可设计出更加灵活方便的用户界面。
三、利用VB的API函数
在窗体的DECLARATIONS(声明)中输入如下代码:
'lpszSoundName是一个字符串
变量,表示一个WAV
格式的文件名。
'uFlags 用于设定播放状态的各种选项。
参数值为0X00时,实现同步播放,参数值为0X01时实现非同步播放。
Private Sub Command1_Click()
Dim plays As Long
End Sub
运行时单击命令按钮即可播放WAV文件。
其他音频格式
CD格式
在大多数播放软件的“打开文件类型”中,都可以看到*.cda格式,这就是CD音轨。标准CD格式也就是44.1K的采样频率,速率88K/秒,16位量化位数,因为CD音轨可以说是近似无损的,因此它的声音基本上是忠于原声的,因此如果你如果是一个音响发烧友的话,CD是你的首选。它会让你感受到天籁之音。CD光盘可以在CD唱机中播放,也能用电脑里的各种播放软件来重放。一个CD
音频文件是一个*.cda文件,这只是一个索引信息,并不是真正的包含声音信息,所以不论CD音乐的长短,在电脑上看到的“*.
cda文件”都是44字节长。注意:不能直接的复制CD格式的*.cda文件到硬盘上播放,需要使用象EAC这样的抓音轨软件把CD格式的文件转换成WAV,这个转换过程如果
光盘驱动器质量过关而且EAC的参数设置得当的话,可以说是基本上无损抓音频。推荐大家使用这种方法。
AIFF与AU
AIFF(Audio Interchange File Format)格式和AU格式,它们都和
WAV非常相像,在大多数的音频编辑软件中也都支持它们这几种常见的音乐格式。
AIFF是
音频交换文件格式的英文缩写。是APPLE公司开发的一种音频文件格式,被MACINTOSH平台及其应用程序所支持,NETSCAPE浏览器中LIVEAUDIO也支持AIFF格式。所以大家都不常见。AIFF是Apple苹果电脑上面的标准音频格式,属于QuickTime技术的一部分。这一格式的特点就是格式本身与数据的意义无关,因此受到了Microsoft的青睐,并据此搞出来WAV格式。AIFF虽然是一种很优秀的文件格式,但由于它是苹果电脑上的格式,因此在PC平台上并没有得到很大的流行。不过由于Apple电脑多用于
多媒体制作出版行业,因此几乎所有的音频编辑软件和播放软件都或多或少地支持AIFF格式。只要苹果电脑还在,
AIFF就始终还占有一席之地。由于AIFF的包容特性,所以它支持许多压缩技术。
MPEG
MPEG是动态图象专家组的英文缩写。这个专家组始建于1988年,专门负责为CD建立视频和音频压缩标准。MPEG音频文件指的是MPEG标准中的声音部分即MPEG音频层。目前INTERNET上的音乐格式以MP3最为常见。虽然它是一种有损压缩,但是它的最大优势是以极小的声音失真换来了较高的压缩比。MPEG含有格式包括:
MP1、
MP2、MP3、
MP4。