现在的位置: 首页 > 综合 > 正文

scilab 读取处理 wav 文件 (2)

2014年03月27日 ⁄ 综合 ⁄ 共 837字 ⁄ 字号 评论关闭

上一篇 blog 中已经介绍了 wavread 和 wavwrite 两个函数。这里介绍其他一些有用的函数。


playsnd 函数

播放声音数据。基本用法如下。 其中 command 只在 unix 类系统中用到。用来指定播放声音的程序。 Win 下无需考虑。

[]=playsnd(y)

[]=playsnd(y,rate,bits [,command])

如果不指定 rate 则默认是 22050

Bits 在当前版本中其实没有用,所以无需设置。

我通常会用高采样率采集声音,然后在这里设个低的 rate,将声音慢放出来。细节就可以听的很清楚了。


Sound 函数

Sound 函数的作用和 Playsnd 函数完全相同。不知道scilab 为什么要将这两个函数都保留了下来。

sound(y [,fs,bits,command)


Auread 函数

读取 .au 文件,用法基本和 wavread 是相同的。下面使用法举例,各个参数的含义与 wavread 中对应参数相同。因此这里就不多解释了。

y=auread(aufile)

y=auread(aufile,ext)

[y,Fs,bits]=auread(aufile)

[y,Fs,bits]=auread(aufile,ext)


Auwrite 函数

将数据写到一个 .au 文件中。

auwrite(y,aufile)

auwrite(y,Fs,aufile)

auwrite(y,Fs,bits,aufile)

auwrite(y,Fs,bits,method,aufile)


Analyze 函数

绘制声音数据的频谱图。

analyze(y, fmin, fmax, fs, points);

下面举个例子

[y,fs,bits]=wavread("C63A 4331440.wav");

Plot(y);

analyze(y, 100, 15000, fs, size(y,2));

z = abs(fft(y));

plot(z(1:16342)/41532);

抱歉!评论已关闭.