更多文章
更多精彩文章
描述
.WAV 与.AIFF 都是被微软操作系统、麦金塔操作系统、Linux操作系统所兼容的,需要特别注意的是,WAV文件与无损文件是不完全相同的,WAV文件只是不去对原有文件去做压缩。
如果源文件案不是无损的,那不能称WAV就是无损文件。若是将有损压缩的文件(例如:mp3档)转成WAV档,那么WAV文件也只是忠实地呈现有损文件而已。
制作WAV档时,会有一个采样率,根据采样定理,若此采样率低于信号最高频率的两倍时,那么超过此最大频率的频段,将会产生混叠的情况,使原始信号受到污染,亦不能称此WAV档就是无损文件。
虽然WAV档也能存储被压缩过的文件,但是大多数的WAV档是用于CD存储原声带的,所以一般来说一般人联想到WAV档就联想到无损文件,也是无可厚非的。值得注意的是,CD存储的原声带也不代表是完全无损的,音乐制作人会将录制的声音处理后制成母带,通常采样率为96,000赫兹,之后通过转换程序,以16bits、44,100赫兹去做取样。
格式
WAV档遵守资源交换档案格式之规则,在文件的前44(或46)字节放置标头(header),使播放器或编辑器能够简单掌握文件的基本信息,其内容以区块(chunk)为最小单位,每一区块长度为4字节,而区块之上则由子区块包裹,每一子区块长度不拘,但须在前头先宣告标签及长度(字节)。标头的前3个区块日志案格式及长度;接着第一个子区块包含8个区块,记录声道数量、采样率等信息;接着第二个子区块才是真正的音频数据,长度则视音频长度而定。内容如下表所示。须注意的是,每个区块的端序不尽相同,而音频内容本身则是采用小端序。
广播使用WAV
虽然WAV文件很大,但没被压缩的WAV档有时会被无线电广播电台使用,举例来说,英国广播公司电台在英国使用44.100千赫兹、16bit双声道的WAV流档作为他们的主要的标准,最近他们公布使用48KHZ作为标准。
另外,有些电台也会使用WAV作为他们测试收发能力的标准。
限制
WAV文件受限于标头中用来日志案文件长度的区块大小为32位,单一文件不能超过4GB,有些使用WAV文件的播放器甚至无法支持超过2GB的WAV文件,虽然这样的文件可以使16bits、44100赫兹的CD文件播放将近6.9个小时,但有些情况下,还是有可能超过这些限制,此时可以对于时间轴去切割成无数的WAV文件,去突破4GB的限制,许多CD专辑之中,就会利用这样的技术去发行更多的歌曲,通常命名为“Disk-1”与“Disk-2”直到“Disk-n”能完成文件存储为止。另外,亦有新的格式被发展出来以改良此一限制,如SonySound Forge软件所采用的W64格式,以及欧洲广播联盟所制定的RF64格式。
非音频使用
WAV文件不一定要用在音频档上。由于其采样率范围极广(低至1Hz高至4.3GHz),同时声道数量最高可达65535,非常适合作为其他应用所使用的存储文件格式,例如SPICE作为电路模拟的文件,有些版本会使用WAV档去记录每一个对应的时间所对应的波形,通常是每个节点的电压对时间、电流对时间、功率对时间等波形。
所以WAV文件不一定是存储声音的幅度与时间点,只要是有需要使用到幅度与时间的形式,WAV文件都能发挥它的功能。
如何制作WAV档
WAV文件通常可以使用音乐制作软件制作,若想调整许多参数的话,可以付费使用商业软件MATLAB,以下附上一段示例码可以生成WAV文件。 需注意的是必须拥有MATLAB的使用权才可使用。
%a,b,c均是参数,T是信号总时间长度,Fs是采样率
a=10; b=20; c=30; T=10; Fs=1000;
%function gwave(a,b,c,T,Fs)
%此为对余弦的相位去做变化的函数,从0到T,用Fs的采样率去采样并用二进制量化 (信号处理),以完成文件
t = 0:1/Fs:T;
phase = 2*pi*((a*(t.^3))/3+b*(t.^2)/2+c*t);
wav = cos(phase);
wavwrite(wav,Fs, "文件名称");
sound(wav, Fs);
%end
如此一来,就会生出一个“文件名称.wav”的文件,请自行修改文件名称与参数,达到你想创造的WAV档。
用matlab生出的wav档示例
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
{{item.time}} {{item.replyListShow ? '收起' : '展开'}}评论 {{curReplyId == item.id ? '取消回复' : '回复'}}