help of specgram (signal package)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

help of specgram (signal package)

tmacchant
On the help of specgram, second example is


## Speech spectrogram
[x, Fs] = auload(file_in_loadpath("sample.wav")); # audio file
step = fix(5*Fs/1000);     # one spectral slice every 5 ms
window = fix(40*Fs/1000);  # 40 ms data window
fftn = 2^nextpow2(window); # next highest power of 2
[S, f, t] = specgram(x, fftn, Fs, window, window-step);
S = abs(S(2:fftn*4000/Fs,:)); # magnitude in range 0<f<=4000 Hz.
S = S/max(S(:));           # normalize magnitude so that max is 0 dB.
S = max(S, 10^(-40/10));   # clip below -40 dB.
S = min(S, 10^(-3/10));    # clip above -3 dB.
imagesc (t, f, log(S));    # display in log scale
set (gca, "ydir", "normal"); # put the 'y' direction in the correct direction


imagesc (t, f, log(S));    # display in log scale


might be

imagesc (t, f, log10(S));    # display in log scale


because it seems that image values are plotted in dB scale of S.

Am I right?

Tatsuro