(2014/7/16—28)当不同说话人讲相…

总结一下近两周做的事情。
目标:有3个说话人,以4种不同的情感,分别说相同的200句话,建立模型供语音情感识别使用

过程:1、选择建立模型需要的特征及可用工具
            2、处理数据
            3、算法

具体内容:
1、建立模型:对3个人分别建立model,这就需要分别准备这3个人的训练数据
      提取特征:先提取mfcc,使用HTK工具
      训练:采用libsvm工具箱

2、仅给出对于 people1 的数据处理过程:
  for   i   in (情感1,情感2,情感3,情感4):
        (1)把200句话分为190 + 10,前190句作为训练集,后10句作为测试集
        (2)分别对190 + 10句wav文件提取mfcc特征(190句的mfcc可以放在一个txt里,后10句因为要做测试用,所以分别放在10个txt里)
        注:HTK提取出的mfcc文件显示为2进制,需自己写代码转换成10进制表示
        (3)处理以上 11 个txt,需要得到这样的格式:[lable]   1:[feature1] 2:[feature2] .... n:[feature n]
例如(情感1可以这样处理): 1   1:0.324 2:0.265 3:0.54 4:0.34 ....   39:0.495 
情感2可定义label为 2,情感3定义label为 3,情感4定义label为 4。
(4)把4种情感的 4*190=760 句wav的mfcc特征写入一个txt,作为 train_data.txt
(5)把4种情感的 4*10=40 句wav的40个mfcc文件放在一起,可标号从1.txt 到 40.txt

3、(用python写的一些代码)
libsvm的 python 文件夹里,有svmutil.py 及 svm.py 文件,看下代码,知道可以用于train和test
得到训练模型:people1.model 
把训练集里的1.txt 至 40.txt 分别进行测试,譬如 1.txt 测试的时候,是按帧来测试得到每帧的label,统计最多的label所属作为 1.txt 的类别即可。

训练结果,正确率高达 98.33% ,低至 83.33% (原因在于自己抽了一部分数据进行的训练,而不是全部的数据,可能抽的不好或者数据冗余)。

(2014/7/16—28)当不同说话人讲相同文本时的情感识别

(2014/7/16—28)当不同说话人讲相同文本时的情感识别


过程总结:1、处理数据超级麻烦,主要原因还是自己缺乏实践动手经验。
                  2、编程能力不足,本该用C++写的代码,最终拿python敲了,还写的很累赘
                  3、思路!思路!思想很重要

现在very tired , 回头再写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值