Voicebox中spen2函数怎么调用
时间: 2024-03-25 17:38:26 浏览: 19
spen2函数的调用格式如下:
```
[sp, f, t] = spen2(x, fs, wname, wlen, hop, win, frange, p, dbdown)
```
其中,输入参数的含义如下:
- `x`:待分析的语音信号。
- `fs`:语音信号的采样频率。
- `wname`:选用的小波函数名称。
- `wlen`:分析窗口的长度,一般选取2的整数次幂。
- `hop`:分析窗口的步长,一般选取1/2的窗口长度。
- `win`:选用的窗函数,可以是`'hanning'`、`'hamming'`等等。
- `frange`:分析的频率范围,一般为一个长度为2的向量,表示最低频率和最高频率。
- `p`:小波函数的阶数。
- `dbdown`:能量下降的阈值,一般取-60。
输出参数的含义如下:
- `sp`:时频能量分布矩阵,每一列代表一个时间片段,每一行代表一个频率分量。
- `f`:频率向量,表示每一行对应的中心频率。
- `t`:时间向量,表示每一列对应的中心时间。
下面是一个调用例子:
```
[x, fs] = audioread('speech.wav');
[sp, f, t] = spen2(x, fs, 'db4', 512, 256, 'hanning', [0, 4000], 4, -60);
imagesc(t, f, log10(sp));
xlabel('Time (s)');
ylabel('Frequency (Hz)');
colormap(jet);
```
这个例子读入一个语音文件,计算出其时频能量分布,并用`imagesc`函数画出分布图像。