语音情感识别:预加重滤波器与清音影响分析
立即解锁
发布时间: 2025-09-01 01:59:10 阅读量: 247 订阅数: 25 AIGC 

### 语音情感识别:预加重滤波器与清音影响分析
在语音情感识别领域,多种因素会影响识别的准确性和性能。本文将深入探讨预加重滤波器、清音去除等因素对语音情感分类的影响,并通过一系列实验来揭示不同特征向量大小、帧大小等参数在不同数据库中的表现。
#### 1. 清音去除
在语音情感识别中,通常会使用浊音和清音进行情感识别。然而,清音往往与语音信号记录中的噪声或静音区域具有相似的时间和频谱特征。为了探索去除清音后分类阶段的性能,我们使用自相关函数来去除每一帧中的清音。
具体步骤如下:
1. **自相关函数定义**:对于信号 $x(n)$ 从样本 $n$ 开始的一帧,其短时自相关函数定义为 $R_n(k) = \sum_{m = 0}^{N - k} x(n + m) x(n + m + k)$。这里,$N$ 是帧大小,$k$ 是滞后索引。
2. **判断清音或浊音**:计算自相关函数后,寻找最大峰值。如果该峰值大于预定义的阈值,则该帧被判定为浊音;否则,该帧包含清音。
通过这种方法,可以有效地去除清音,从而提高情感分类的准确性。
#### 2. 实验设置
为了全面评估不同因素对语音情感分类的影响,我们进行了一系列实验。实验使用了 EMODB 和 EMOVO 两个数据库,以及 MFCC、RASTA - MFCC 和 MSES 三种音频特征。
##### 2.1 机器学习算法设置
- **特征向量处理**:从音频特征中为每一帧获取特征向量,这些向量序列形成一个大小为 $W \times T$ 的矩阵,其中 $W$ 是特征向量的大小,$T$ 是从语音信号中提取的帧数。为了与机器学习算法协同工作,我们对 $T$ 个特征向量进行平均,得到一个大小为 $W$ 的单一特征向量,从而标准化每个机器学习算法的输入大小。
- **算法选择与实现**:我们考虑了 kNN、SVM 和 MLP 三种机器学习算法,并使用 scikit - learn、Keras 和 TensorFlow 后端进行实现。
- **MLP 设置**:以相关工作为参考,构建具有三个密集层(输入层、隐藏层和输出层)的神经网络 MLP。前两个密集层各有 500 个单元,输入层的输入数量取决于实验中测试的不同特征向量大小。前两层使用 ReLU 激活函数,dropout 值为 50%。输出层有 7 个节点,对应每个数据库中要分类的情感类型数量,使用 softmax 激活函数。使用 Keras 编译 MLP 模型时,训练阶段使用分类交叉熵作为损失函数,准确率作为数据验证指标,Adam 优化器。实验中,模型运行 10 次,每次使用 100 个周期和 32 的批量大小,取 10 次结果的平均值作为最终得分。
- **SVM 设置**:使用 scikit - learn 库,可使用线性、多项式和径向基函数(rbf)三种核函数评估模型。编译 SVM 模型时,gamma 和 degree 参数分别设置为 1 和 3。
- **kNN 设置**:使用 scikit - learn 库实现 kNN 算法,测试使用 1、3 和 5 个邻居,距离度量使用 Minkowski 距离(设置中 $p = 2$ 即欧几里得距离)。
##### 2.2 不同特征向量大小实验
该实验分为两部分,第一部分在预处理阶段排除预加重滤波器,第二部分则使用预加重滤波器。实验目的是测试不同大小的特征向量(保持帧大小固定)对不同人类情感分类率的影响,使用召回率作为评估指标。特征向量的大小考虑了 12、24、36 和 48 维,帧大小设置为 30 毫秒。使用预加重滤波器时,参数 $a$ 设置为 0.97。
##### 2.3 不同帧大小实验
与上一个实验类似,该实验先在预处理阶段排除预加重滤波器,然后使用它来计算三种音频特征。实验目的是测试不同帧大小(保持特征向量大小固定)对不同人类情感分类率的影响。特征向量大小根据上一个实验的最佳结果设置,帧大小范围从 10 毫秒到 100 毫秒,步长为 10 毫秒。使用预加重滤波器时,参数 $a$ 同样设置为 0.97。
##### 2.4 去除清音实验
在上述两个实验中,也评估了去除清音后的情况。提取音频信号的一帧后,计算自相关函数,如果最大峰值小于预定义的阈值 0.1,则该帧被判定为清音。
#### 3. 实验结果
##### 3.1 数据库音频文件分布
- **EMODB 数据库**:是一个不平衡的数据库,愤怒类有 127 个音频文件,无聊类有 81 个,中性类有 79 个,恐惧类有 73 个,喜悦类有 71 个,悲伤类有 62 个,厌恶类有 42 个。实验中,随机选择 70% 的文件用于训练,30% 用于测试。
- **EMOVO 数据库**:是一个平衡的数据库,每个情感类有 84 个音频文件。同样,随机选择 70% 的文件用于训练,30% 用于测试。
##### 3.2 考虑清音和不同特征向量大小的结果
- **EMODB 数据库**:预加重滤波器在特征向量为 12 维时效果更好,在 9 个可能结果中有 7 个出现了使用预加重滤波器获得召回值的情况(或标记为“both”)。最佳召回分数在特征向量为 24 维时获得,这表明在使用德语进行语音情感识别时,特征向量大小约为 24 维且不使用预加重滤波器可能是较好的选择。SVM 分类器在向量大小为 12 和 24 维时表现更好,而 MLP 在 36 和 48 维时是最佳选择。kNN 分类器的分类效果最差,但它作为基准算法用于衡量 MLP 和 SVM 的性能提升。
|音频特征|分类器|向量维度|MLP|kNN|SVM|
| ---- | ---- | ---- | ---- | ---- | ---- |
|MFCC| |12|0.70|0.70 (both)|0.71 (both)|
|RASTA - MFCC| |
0
0
复制全文
相关推荐










