上一篇 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);