本文主要是介绍Python语音基础操作--11.1矢量量化(VQ)的说话人情感识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《语音信号处理试验教程》(梁瑞宇等)的代码主要是Matlab实现的,现在Python比较热门,所以把这个项目大部分内容写成了Python实现,大部分是手动写的。使用CSDN博客查看帮助文件:
Python语音基础操作–2.1语音录制,播放,读取
Python语音基础操作–2.2语音编辑
Python语音基础操作–2.3声强与响度
Python语音基础操作–2.4语音信号生成
Python语音基础操作–3.1语音分帧与加窗
Python语音基础操作–3.2短时时域分析
Python语音基础操作–3.3短时频域分析
Python语音基础操作–3.4倒谱分析与MFCC系数
Python语音基础操作–4.1语音端点检测
Python语音基础操作–4.2基音周期检测
Python语音基础操作–4.3共振峰估计
Python语音基础操作–5.1自适应滤波
Python语音基础操作–5.2谱减法
Python语音基础操作–5.4小波分解
Python语音基础操作–6.1PCM编码
Python语音基础操作–6.2LPC编码
Python语音基础操作–6.3ADPCM编码
Python语音基础操作–7.1帧合并
Python语音基础操作–7.2LPC的语音合成
Python语音基础操作–10.1基于动态时间规整(DTW)的孤立字语音识别试验
Python语音基础操作–10.2隐马尔科夫模型的孤立字识别
Python语音基础操作–11.1矢量量化(VQ)的说话人情感识别
Python语音基础操作–11.2基于GMM的说话人识别模型
Python语音基础操作–12.1基于KNN的情感识别
Python语音基础操作–12.2基于神经网络的情感识别
Python语音基础操作–12.3基于支持向量机SVM的语音情感识别
Python语音基础操作–12.4基于LDA,PCA的语音情感识别
代码可在Github上下载:busyyang/python_sound_open
VQ基本原理
矢量量化(VQ)的基本原理是将若干个标量数据组成一个矢量(或者从一帧语音数据中提取的特征矢量)在多维空间给予整体量化,从而可以在信息量损失最小的情况下压缩数据量。假设有N个K维的特征向量 X = { X 1 , X 2 , . . . , X N } X=\{X_1,X_2,...,X_N\} X={X1,X2,...,XN},( X X X在K维欧几里得空间 R K R^K RK中),其中第i个矢量可写为:
X i = { x 1 , x 2 , . . . , x K } , i = 1 , 2 , . . . , N X_i=\{x_1,x_2,...,x_K\},i=1,2,...,N Xi={x1,x2,...,xK},i=1,2,...,N
将K维欧几里得空间无遗漏地划分成 J J J个互不相关的子空间 R 1 , R 2 , . . . , R J R_1,R_2,...,R_J R1,R2,...,RJ,有:
{ ⋃ j = 1 J R j = R K R i ⋂ R j = Φ , i ≠ j \left\{\begin{array}{ll} \bigcup_{j=1}^JR_j=R^K\\R_i\bigcap R_j=\Phi,i\neq j \end{array}\right. {⋃j=1JRj=RKRi⋂Rj=Φ,i=j
这些子空间 R j R_j Rj称为胞腔,在每个子空间 R j R_j Rj找一个代表向量 Y j Y_j Yj,那么有J个代表矢量可以组成矢量集: Y = { Y 1 , Y 2 , . . . , Y J } Y=\{Y_1,Y_2,...,Y_J\} Y={Y1,Y
这篇关于Python语音基础操作--11.1矢量量化(VQ)的说话人情感识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!