请输入您要查询的百科知识:

 

词条 WAVE
释义

WAVE是录音时用的标准的WINDOWS文件格式,文件的扩展名为“WAV”,数据本身的格式为PCM或压缩型。WAVE文件格式是一种由微软和IBM联合开发的用于音频数字存储的标准,它采用RIFF文件格式结构,非常接近于AIFF和IFF格式。符合 PIFF Resource Interchange File Format规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。

WAVE文件格式的分析

WAVE文件格式

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()

MMControl1.DeviceType = "waveaudio"

MMControl1.filename = "c:\\win95\\media\\ding.wav"

MMControl1.Command = "open"

End Sub '以下是为图形标识Play事件编写的代码

Private Sub MMControl_playclick(cancel As Integer)

MMControl1.Command = "play"

End Sub

当运行这个程序时,MMControl控件中的Play键被激活,点取此按钮即可播放ding.wav文件。

在实际的软件设计当中,更多的情况是鼠标点击按钮或图标来控制声音的播放, 其实现方法是这样的:首先将MMControl控件的VISIBLE属性设置为FALSE,然后在图标或按钮的单击事件中编写如下的程序:

Private Sub Control1_Click()

MMControl1.Command = "play"

End Sub

运行程序时单击相用的按钮或图标,WAV文件照样可以播放。用自行设计的按钮或图标取代多媒体控件中的固定按钮,可设计出更加灵活方便的用户界面。

三、利用VB的API函数

 在窗体的DECLARATIONS(声明)中输入如下代码:

P rivate Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal_lpszSoundName As String, ByVal uFlags As Long) As Long

'lpszSoundName是一个字符串变量,表示一个WAV格式的文件名。

'uFlags 用于设定播放状态的各种选项。参数值为0X00时,实现同步播放,参数值为0X01时实现非同步播放。

在命令按钮的单击事件中输入如下代码:

Private Sub Command1_Click()

Dim plays As Long

plays = sndPlaySound(“E:\\WINDOWS\\MEDIA\\DING.WAV", &H0)

End Sub

运行时单击命令按钮即可播放WAV文件。

WAVE编解码器

WAV文件格式是一种由微软和IBM联合开发的用于音频数字存储的标准,它采用RIFF文件格式结构,非常接近于AIFF和IFF格式。多媒体应用中使用了多种数据,包括位图、音频数据、视频数据以及外围设备控制信息等。RIFF为存储这些类型的数据提供了一种方法,RIFF文件所包含的数据类型由该文件的扩展名来标识,能以RIFF文件存储的数据包括:

# 音频视频交错格式数据(.AVI)

# 波形格式数据(.WAV)

# 位图格式数据(.RDI)

# MIDI格式数据(.RMI)

# 调色板格式(.PAL)

# 多媒体电影(.RMN)

# 动画光标(.ANI)

# 其它RIFF文件(.BND)

RIFF是一种含有嵌套数据结构的二进制文件格式,每个数据结构都称为因一个chunk(块)。Chunk在RIFF文件中没有固定的位置,因而偏移量不能用于定位域值。一个块中的数据包括数据结构、数据流或其它组块(称为子块)等,每个RIFF块都具有如下结构:

typedef struct _Chunk

{

DWORD ChunkId; /*块标志*/

DWORD ChunkSize; /*块大小*/

BYTE ChunkData[ChunkSize]; /*块内容*/

} CHUNK;

ChunkId由4个ASCII字符组成,用以识别块中所包含的数据。字符RIFF用于标识RIFF数据块,间隔空格在右面是不超过4个字符的ID。由于这种文件结构最初是由Microsoft和IBM为PC机所定义,RIFF文件是按照little-endian字节顺序写入的,而采用big-endian字节顺序的文件则用‘RIFX’作为标志。

ChunkSize(块大小)是存储在ChunkData域中数据的长度,ChunkId与ChunkSize域的大小则不包括在该值内。

ChunkData(块内容)中所包含的数据是以字(WORD)为单位排列的,如果数据长度是奇数,则在最后添加一个空(NULL)字节。

子块(Subchunk)与块具有相同的结构。一个子块就是包含在其它块内部的一个块,只有RIFF文件块‘RIFF’和列表块‘List’才能含有子块,所有其它块仅能含有数据。一个RIFF文件就是一个RIFF块,文件中所有其它块和子块均包含在这个块中。

WAV文件可以存储大量格式的数据,通常采用的音频编码方式是脉冲编码调制(PCM)。由于WAV格式源自Windows/Intel环境,因而采用Little-Endian字节顺序进行存储。

脉冲编码调制

Claude E. Shannon于1948年发表的“通信的数学理论”奠定了现代通信的基础。同年贝尔实验室的工程人员开发了PCM技术,虽然在当时是革命性的,但今天脉冲编码调制被视为是一种非常单纯的无损耗编码格式,音频在固定间隔内进行采集并量化为频带值,其它采用这种编码方法的应用包括电话和CD。PCM主要有三种方式:标准PCM、差分脉冲编码调制(DPCM)和自适应DPCM。在标准PCM中,频带被量化为线性步长的频带,用于存储绝对量值。在DPCM中存储的是前后电流值之差,因而存储量减少了约25%。自适应DPCM改变了DPCM的量化步长,在给定的信造比(SNR)下可压缩更多的信息。

共同的执行过程

在对WAV音频文件进行编解码过程中,最一致的地方包括采样点和采样帧的处理和转换。一个采样点的值代表了给定时间内的音频信号,一个采样帧由适当数量的采样点组成并能构成音频信号的多个通道。对于立体声信号一个采样帧有两个采样点,一个采样点对应一个声道。一个采样帧作为单一的单元传送到数/模转换器(DAC),以确保正确的信号能同时发送到各自的通道中。

舞蹈名“WAVE”

Wave俗称电流舞波浪舞,就是将动作由身体的一边部位像波浪一样传递到另外一边。近年在wave的基础上衍生出风格教新的Rave,特点是骻部扭动的动作特别多。

在新手在练习wave的时候,handwave按分解来做,手指→手背→腕→肘→肩。而对于希望能找到感觉的人而言,可以倒着来练习,很多人对于反方向的wave天生的具有一定的感觉。badywave也是同样的,从上向下来对于一部分人很难,但从下到上,一部分人又觉得很简单,这样是找到感觉的最快办法,因人而异,自己来选择。注意的是handwave的时候,最关键的是在手背到腕的时候要相对的用力而且速度快,这样就能很容易的带动半面各部分的动作。在badywave的时候则是胯的部位想前挺的动作是最关键的,同样是带动全身继续此动作的重要环节。当然,这些所说的好比“十”,只是wave中竖的部分,而对于横着的视觉部分练习又是另当别论。

厂商名“WAVE”

WAVE是日本的一家以生产科幻模型为主的厂商。一直默默无闻的生活在万代的影子下,所以不是太出名。它主要出品一些另类的科幻动漫模型。最著名的要属它出品的五星物语系列模型,其华丽度和可观赏度都是高达模型望尘莫及的。此外,WAVE的一些关于MACROSS的模型还是不错的,尤其是他的1:5000的SDF-1的成品,让很多人圆了小时候的“太空堡垒”梦。

总的来说,WAVE的质量还是很不错的,但因为没有代理,又不是著名的牌子,在国内很难买到,价格也比较高。我们期待它能在国内有更多的发展。

网络语言“WAVE”

传统生活中人们常用挥手表示再见,wave里“波浪”这层意思恰好形象的表达了挥手的状态,故wave常在一些论坛(主要是高校论坛)或聊天时使用,表达“不舍”,“再见”等意思。

英文“wave”

英音:[weiv]美音:[wev]

名词 n. [C]

1. 波,波浪

2. (手之)挥动,挥手示意

He gave me a wave.

他对我挥手。

3. 浪潮;(情绪的)高涨;(活动等的)高潮[(+of)]

A wave of anger swept over him.

他心头涌起一股怒潮。

4. 【物】波;振动

5. (头发的)卷曲,烫发

及物动词 vt.

1. 对...挥(手、旗等)

He waved the servant out of his room.

他挥手叫仆人离开房间。

2. 向...挥手示意;挥手表示(致敬、告别等)[O][O1]

Martin waved us goodbye.

马丁向我们挥手告别。

3. 使成波形;卷(发),烫(发)

不及物动词 vi.

1. 挥手(或旗等)示意

She waved at him.

她对他挥手。

2. 起伏;摇动;飘扬

The flags were waving in the wind.

旗帜在风中飘扬。

3. (头发等)呈波形;卷曲

Her hair waves naturally.

她的头发自然鬈曲。

Google Wave

概述

Google Wave,按照Google 2009年5月27日在Google I/O上的说法是“一种个人通信和协作工具”。它是一个基于Web的服务,计算平台和通信协议,旨在合并电子邮件,即时通信,wiki和社交网络,由悉尼分公司开发。目前已开始小范围公测1。它有一个强大的实时协作和强大的拼写检查功能,可以自动翻译40种语言,以及许多其他的扩展。

Google Wave 是 Google 的一款网络交流服务。它将电子邮件和即时通讯结合起来,使人们的交流更方便。

Google Wave 的通讯协议是开放的。

设计理念——补充电子邮件的不足

眼下,几乎每个网民都在使用 email 和即时通讯,这两种产品一直很成功,Google Wave 的初始理念就是如何将这两项产品有机的结合起来。

Google Wave 的设计理念是由 Lars Rasmussen 在 2004 年形成,但一直搁置到 2007 年才付诸行动。用 Lars Rasmussen 的话说,“(假设我们从没发明过 email),Wave 就像是基于今日互联网情况发明的新 email。”Wave 是由 Google 悉尼分公司的 Lars Rasmussen 和 Jens Rasmussen 兄弟以及 Stephanie Hannon 共同开发。

Wave将成新型网络通讯平台

Google 不仅是将 Wave 看成一个只在 Google Wave 网站上使用的简单网页应用,Google 希望用户能在所有站点上使用它。也就是说,假如用户有个博客,他可以通过 Wave 和其他人进行共享,可以实时传递博客的更新。

不过,博客不是 Google 想要 “wave” 的唯一内容,几乎一切内容都可以通过 Wave 进行共享、交互。

虽然目前 Wave 还不能像 Facebook Connect 一样可以允许其他用户进行登录,但 Lars Rasmussen 表示,他们正在考虑这些功能。

此外,Wave 还支持实时搜索,将和 Twitter 应用进行结合。Google 的开发团队已经开发了一个叫 “Twave” 的工具,该工具可以将 Twitter 上的更新和 Wave 进行绑定,用户可以在 Twave 上处理 Twitter 里的信息。而更重要是 Twave 的实时搜索功能,可以实时扫描 Twitter 的结果,当有新结果出现的时候,会进行实时更新。

从这些可以看出 Google 的野心,Wave 在 Google 眼里不仅仅是个应用,而是一个通讯平台。

要想成为下一代通讯平台,开发者就显得非常重要,就像 Android 和 iPhone 平台一样。周五,Google 将向开发者公布 Wave 的 API。Google 的意图很明显,就是希望开发者能围绕 Wave 理念,推出各种工具、插件以及各种有趣的站点。

Google 还希望 Wave 能被开发者社区尽可能的接纳,因此,Google 计划将 Wave 进行开源。

总的来说 Google Wave 将分三步走:首先是 Wave 产品,由 Google 开发,向公众发布;接着是作为一个平台,由开发者提供基于 Wave 的各种衍生产品;第三步是将 Wave 开源,让其成为互联网通讯的基本协议,成为互联网通讯的平台。

Google Wave体验版

Google 已经开放Wave体验版的注册。只要有google帐号,就可以申请成为Wave的第一批体验者。

Google Wave 中最令人瞩目的一个功能是,所有wave对话的参与者都能看到其他人输入的每一个字母。也就是说在现有通讯软件中等待别人输入的情况在wave中将不会出现。Wave实现了实时文字传输。这一功能也使得多个用户通过网络同时编辑同一个文件变成可能。

Google Wave通过机器人可以完成很多令人不可思议的事情。比如说Polly, 只要把Polly添加为联系人,polly就会生成一个调查问卷,并通过wave自动发给用户指定的收件人。很多机器人都是由业余开发者利用Google发布的API制作的。目前Wave API只支持两种语言,Python和Java

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/16 11:51:07