最近工作需要,要对wav文件中存储的声音信息进行分析处理。所以花了些时间收集了各种数学软件中处理wav文件的方法。
Matlab
Matlab 是最方便的。甚至于不用写任何代码就能读取wav文件(我用的是matlab 7.1)。在当前路径窗口中双击wav文件就自动将文件内容读入了。
图 1 当前路径窗口
双击后会自动弹出数据导入向导。data 中是波形文件(每一列对应一个声道),fs存的是采样率。这两个变量名都可以按照自己的需要来修改。
图 2 数据导入向导
相应的函数是 wavread()。 有下面的几种调用格式。
y = wavread('filename')
这是最简单的形式,将wav 文件中的波形数据读入y中,波形的幅度范围在[-1, 1]。
[y,Fs,bits] = wavread('filename')Fs
存的是采样率,单位
Hz
,
bits
是数据的位数。
[...] = wavread('filename',N)只读取前 N