scilab 读取处理 wav 文件 (2)
最后更新于:2022-04-01 07:31:55
上一篇 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);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a42342548bd.jpg)
analyze(y, 100, 15000, fs, size(y,2));