1  引言
随着信息技术的不断发展,情感信息处理及识别正在受到学者越来越广泛的重视。语音信号中,除了与语言内容相关的信息之外,还包含着说话人的情感信息。这些情感信息在交流中同样具有着重要的作用。不同的情感一般是由说话人通过调整发音器官的动作,改变了语音信号的声学特征所表达出来的。这些特征包括音质特征、韵律特征、共振峰特征等等。

在相对研究较少的汉语情感识别方面,我们在赵力[2]、蒋丹宁[4]等人所做工作的基础之上,

建立情感语音数据库是汉语普通话情感语音识别研究的基础。为此我们建立了一个小规模的普通话情感语音数据库,进而对数据库中的各种声学特征与情感状态之间的关系作了统计分析。

本文组织如下:第二章介绍了语音情感信号的采集和数据库的建立;第三章介绍了从情感语音数据库中提取基音、能量、共振峰等特征的方法;第四章介绍了分类器的设计和各种特征参数与情感的统计关系;最后一章给出了分类的结论和需要进行的后续工作。

2  情感语音信号的采集 
本文所研究的情感语料对单个特定人共包括5类情感:愤怒、平静、悲伤、高兴、惊讶;对三个人组成的特定人群包括3类情感:愤怒、悲伤、平静。共有超过500句的情感语句,包括了陈述句、祈使句、疑问句等句子类型,以及各种声调组合及语句长度等情况。为方便情感的表达,不同的情感语音文本不完全相同。录音者就是本文的三位作者。录音软件为CoolEdit2000,语音的文件格式为单声道,16KHz采样,量化比特数为16。

为了检验所收集的语音情感的有效性,我们找了另外3位同学,随机播放所录制的情感语音,要求他们通过主观评判说出所播放语音的情感类别,实验结果如表1。根据听取结果剔除了一些语句,最后采用了的情感语句共480句。


在能量方面,考虑到音量的绝对大小并不应该成为表达情感的主要参数,所以我们主要研究了能量变化率等相对变化的特征参数。

其中重音特征能够把情感区分为“愤怒、惊讶、高兴”组成的激动类情感和“平静、悲伤”组成的平缓类情感。

表4:能量参数的统计结果

激动+平缓

4  语音情感的识别 
§4.1  采用高斯分布模型的分类 
实验中我们采用的是一种比较简单的高斯分布模型,将每类特征的分布视为多个高斯分布的加权和。公式描述为:,其中,M为高斯分布的个数,分别为第i个高斯分布的均值和方差。最后加权和概率最大的类别C即为分类结果。

§4.2 SVM分类器的原理   
SVM法即支持向量机(Support Vector Machine)法,由Vapnik等人于1995年提出,具有相对优良的性能指标。该方法是建立在统计学习理论基础上的机器学习方法。通过学习算法,SVM可以自动寻找出那些对分类有较好区分能力的支持向量,由此构造出的分类器可以最大化类与类的间隔,因而有较好的适应能力和较高的分准率。该方法只需要由各类域的边界样本的类别来决定最后的分类结果。支持向量机算法的目的在于寻找一个超平面H(d),该超平面可以将训练集中的数据分开,且与类域边界的沿垂直于该超平面方向的距离最大,故SVM法亦被称为最大边缘(maximum margin)算法。待分样本集中的大部分样本不是支持向量,移去或者减少这些样本对分类结果没有影响,SVM法对小样本情况下的自动分类有着较好的分类结果.

SVM方法是通过一个非线性映射p,把样本空间映射到一个高维乃至无穷维的特征空间中(Hilbert空间),使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题。简单地说,就是升维和线性化。升维,就是把样本向高维空间做映射,一般情况下这会增加计算的复杂性,甚至会引起“维数灾难”,因而人们很少问津。但是作为分类、回归等问题来说,很可能在低维样本空间无法线性处理的样本集,在高维特征空间中却可以通过一个线性超平面实现线性划分(或回归)。一般的升维都会带来计算的复杂化,SVM方法巧妙地解决了这个难题:应用核函数的展开定理,就不需要知道非线性映射的显式表达式;由于是在高维特征空间中建立线性学习机,所以与线性模型相比,不但几乎不增加计算的复杂性,而且在某种程度上避免了“维数灾难”。这一切要归功于核函数的展开和计算理论。  选择不同的核函数,可以生成不同的SVM,常用的核函数有以下4种:

(1)线性核函数K(x,y)=x·y;

(2)多项式核函数K(x,y)=[(x·y)+1]^d;

(3)径向基函数K(x,y)=exp(-|x-y|^2/d^2);

(4)二层神经网络核函数K(x,y)=tanh(a(x·y)+b);

§4.3  数据分析及整理  
在提取了前面的特征参数之后,通过分类器对其进行了分类,结果列于下面的表5至表10中。

下面的表5表6反映了单个特定人情况下训练集与测试集数目关系对正确率的影响。

表格5:(单个特定人)三种特征下训练集与测试集数目关系对正确率的影响


5  实验结果 
§5.1  实验结果的小结 
经过特征的提取和分析,我们发现,“基音频率的均值”、“第一共振峰的均值”这两个特征具有最好的区分效果,“能量变化率的方差”、“能量变化率的变化率”、“基频最大值”等特征也具有一定的区分效果。

对单个特定人的愤怒、悲伤、惊讶、高兴、平静五种情感区分,采用“基音频率的均值”、“第一共振峰的均值”的两个特征具有最好的区分效果,识别正确率平均可达93.7%,其中愤怒和高兴两种情绪比较容易混淆。

对三个特定人组成的特定人群的愤怒、悲伤、平静三种情感区分,采用“基音频率的均值”、“第一共振峰的均值”以及“能量变化率的方差”的三个特征具有最好的区分效果,识别正确率平均可达94.4%。

检信智能语音情感识别-基于SVM的语音情感识别系统设计相关推荐

  1. 基于SVM的语音情感识别系统设计

    基于SVM的语音情感识别系统设计 目录 基于SVM的语音情感识别系统设计 1  引言 2  情感语音信号的采集 3. 特征参数 §3.1 基音频率参数 §3.3 能量参数 4  语音情感的识别 §4. ...

  2. 检信智能AI心理测评背后的创业故事

    检信智能创始人李剑峰,工业自动化专业,中国心理学会会员,最初履历在中国电子信息产业集团一家上市公司担任科研项目开发及管理工作,曾参与国家863计划项目一项,信息产业部电子产业发展基金专项计划一项,涉及 ...

  3. 基于SVM支持向量机实现人脸识别

    文章目录 基于SVM支持向量机实现人脸识别 SVM支持向量机的定义 SVM支持向量机的原理作用 如何计算SVM支持向量机的权值w和偏置项b 代码实现原理步骤 代码实例演示: 基于SVM支持向量机实现人 ...

  4. 基于SVM的车辆标牌识别

    基于SVM的车辆标牌识别 目录 基于SVM的车辆标牌识别 1. **开发与使用** 1.1 **开发环境** 2. **程序功能及实现方法** 2.1 **读入原图** 2.2 **图像预处理** 2 ...

  5. 视觉识别入门之人脸识别——基于FACENET的高精度人脸识别

    视觉识别入门之人脸识别---- 基于FACENET的高精度人脸识别 一:项目展示: - 这是实时视频读取的展示,是可以读单张图片,或者本地视频流,抑或是实时人脸检测与分类的,至于我为什么不展示我的自拍 ...

  6. matlab 双音多频 接收端检测到的号码,信号语音论文,关于基于MATLAB的双音多频信号识别相关参考文献资料-免费论文范文...

    导读:本论文可用于信号语音论文范文参考下载,信号语音相关论文写作参考研究. (河南师范大学计算机与信息工程学院,河南新乡453007) [摘 要]本文采用FFT和戈泽尔算法对计算机模拟产生双音多频信号 ...

  7. python开发语音录入_基于python实现语音录入识别代码实例

    这篇文章主要介绍了如何通过python实现语音录入识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.介绍 1.第一步录音存入本地 2.调用百度 ...

  8. python手写数字识别教学_python实现基于SVM手写数字识别功能

    本文实例为大家分享了SVM手写数字识别功能的具体代码,供大家参考,具体内容如下 1.SVM手写数字识别 识别步骤: (1)样本图像的准备. (2)图像尺寸标准化:将图像大小都标准化为8*8大小. (3 ...

  9. [声纹识别]基于MFCC的声纹识别算法

    Mel频率倒谱系数(melfrequency cepstral coefficients,MFCC)是声音的短期功率谱的表示,基于非线性频谱上的对数功率谱的线性余弦变换.在自动语音识别领域,MFCC是 ...

最新文章

  1. (转)命令行下,用 xcodebuild 生成ipa文件,通过 itms-services 协议安装
  2. FuseSeg:用于自动驾驶领域的RGB和热成像数据融合网络
  3. 阿里云linux CentOS6.5(nginx+PHP-fpm)及RDS初级使用指南和简单安全设置
  4. 用python画皮卡丘教程-利用Python绘制萌萌哒的皮卡丘
  5. php rpoplpush,Redis Rpoplpush 命令
  6. 2010——满地遍是网页防篡改和WAF
  7. 学习笔记2—MATLAB的copyfile技巧
  8. FLEX 与 VS 2008 利用 FluorineFx 开发快速配置演示
  9. Android Export时错误提示:Conversion to Dalvik format failed with error 1
  10. 3招教你花式导入Excel数据到JMP
  11. CISCO路由基本配置命令
  12. python调用sdk接口_基于聚合数据的短信API接口调用示例-Python版
  13. Docker中什么是宿主机?
  14. cadence SPB17.4 - allegro DRC - Physical - Maximum Neck Length
  15. 微信小程序实现动态时间滚动
  16. pytorch版本下的yolov3训练实现火焰检测
  17. 内核之旅:简单分析getsockopt系统调用
  18. Programing Exercise 4:Neural Networks Learning
  19. paddle 图标注_基于DGCNN和概率图的轻量级信息抽取模型
  20. 硬件(esp32),服务器(python),前端,三端联调的电子琴项目,可以实现多种乐器奏乐。

热门文章

  1. 【数学思维】Quasi-convex and quesi-concave
  2. Java中包装类型的作用_基本类型的包装类_Java语言程
  3. Java求数组的平均值
  4. 51单片机 | 动态数码管实验
  5. font-family对照表
  6. 卷土重来 263网络通信“继续上市”引来经营质疑
  7. 清华学霸非你莫属之败
  8. Web.Config配置详细说明
  9. 数说故事《汽车行业全场景数字化解决方案》之数字化营销平台搭建
  10. 那些从不在双11剁手的年轻人