特别提一下安装hmmlearn库不能直接pip install hmmlearn

安装过程如下:

1. 进入 https://www.lfd.uci.edu/~gohlke/pythonlibs/ ,找到hmmlearn***.whl类型的文件下载(要和自己的python版本相对应)如果你用的是anaconda可以在命令窗口输入conda -activate 进入你的anaconda环境,再输入python -V查看和anaconda对应的版本。如图所示安装自己对应的版本

2 然后将下载的文件放在C:\Anaconda3\pkgs\python-3.6.4-h6538335_1\Lib目录(此路径为自己当时安装anaconda的路径,如果找不到可以下载一个everything输入anaconda查找自己当时的安装路径,everything的链接就不附上了),并在此目录下进行安装。然后在命令窗口输入cd +自己anaconda的路径切换到该路径,在该路径下输入

pip install hmmlearn-0.2.1-cp36-cp36m-win_amd64.whl

进行安装,名字需要改成自己下载的文件的名字。至此,安装成功。

import os
import numpy as np
import scipy.io.wavfile as wf
import python_speech_features as sf
import hmmlearn.hmm as hl
def search_file(directory):""":param directory: 训练音频的路径:return: 字典{'apple':[url, url, url ... ], 'banana':[...]}"""# 使传过来的directory匹配当前操作系统directory = os.path.normpath(directory)objects = {}# curdir:当前目录# subdirs: 当前目录下的所有子目录# files: 当前目录下的所有文件名for curdir, subdirs, files in os.walk(directory):for file in files:if file.endswith('.wav'):label = curdir.split(os.path.sep)[-1]   # os.path.sep为路径分隔符if label not in objects:objects[label] = []# 把路径添加到label对应的列表中path = os.path.join(curdir, file)objects[label].append(path)return objects
train_samples = search_file('G:/Google download/CASIA database/liuchanhg')
#print(train_samples)
train_x, train_y = [], []
# 遍历字典
for label, filenames in train_samples.items():# [('apple', ['url1,,url2...'])# [("banana"),("url1,url2,url3...")]...mfccs = np.array([])for filename in filenames:sample_rate, sigs = wf.read(filename)mfcc = sf.mfcc(sigs, sample_rate)if len(mfccs) == 0:mfccs = mfccelse:mfccs = np.append(mfccs, mfcc, axis=0)train_x.append(mfccs)train_y.append(label)models = {}
for mfccs, label in zip(train_x, train_y):model = hl.GaussianHMM(n_components=4, covariance_type='diag', n_iter=1000)models[label] = model.fit(mfccs)  # # {'apple':object, 'banana':object ...}# 读取测试集数据
test_samples = search_file('G:/Google download/CASIA database/wangzhe')
test_x, test_y = [], []
for label, filenames in test_samples.items():mfccs = np.array([])for filename in filenames:sample_rate, sigs = wf.read(filename)mfcc = sf.mfcc(sigs, sample_rate)if len(mfccs) == 0:mfccs = mfccelse:mfccs = np.append(mfccs, mfcc, axis=0)test_x.append(mfccs)test_y.append(label)pred_test_y = []
for mfccs in test_x:# 判断mfccs与哪一个HMM模型更加匹配best_score, best_label = None, None# 遍历7个模型for label, model in models.items():score = model.score(mfccs)if (best_score is None) or (best_score < score):best_score = scorebest_label = labelpred_test_y.append(best_label)print(test_y)
print(pred_test_y)

识别率很低只有50%左右,只适合入门

参考资源:

https://www.cnblogs.com/LXP-Never/p/11415110.html#声音合成

https://blog.csdn.net/qq_33598125/article/details/85124778

中文语音情感识别python实现(一)相关推荐

  1. 使用librosa进行语音情感识别

    语音情感识别,最好的例子可以在呼叫中心看到.如果您注意到了,呼叫中心的员工永远不会以相同的方式交谈,他们与客户的推销/交谈方式会随客户而改变.现在,普通民众也确实会发生这种情况,但这与呼叫中心有何关系 ...

  2. 一些关于语音识别和语音情感识别的资源

    这些资源要么就收费很贵,要么用不了,嗯-,但是也花了很长时间收集,先留着吧... 基于SVM的语音情感识别(MATLAB GUI界面和文档)点这里! PythonNLP情感识别项目实战教程(源码+数据 ...

  3. 基于CNN+MFCC的语音情感识别

    个人博客:http://www.chenjianqu.com/ 原文链接:http://www.chenjianqu.com/show-45.html 近年来 ,随着信息技术的飞速发展 ,智能设备正在 ...

  4. SER 语音情感识别-论文笔记5

    SER 语音情感识别-论文笔记5 <MULTI-HEAD ATTENTION FOR SPEECH EMOTION RECOGNITION WITH AUXILIARY LEARNING OF ...

  5. 基于Attention机制的BiLSTM语音情感识别研究与系统实现

    1.摘要 以往的情感分类大多是基于粗粒度进行的,针对七分类情感语料进行的研究不多,且最终的情感分类结果只包含一种情感,很少对多情感共存现象进行研究,因此不能完全体现用户情感的丰富性. 针对这些不足,本 ...

  6. 语音情感识别(Speech Emotion Recognition)相关资料

    150 万条语音的情感分析 - 云+社区 - 腾讯云 深度学习论文笔记 - 一夜星辰 - 博客园 语音情感 - 博客园 语音情感 - GitHub 语音情感 - Gitee 语音情感识别 · GitH ...

  7. 计算机网络信息中心韩文静,语音情感识别研究进展综述_韩文静

    软件学报ISSN 1000-9825, CODEN RUXUEW E-mail: jos@http://www.wendangwang.com Journal of Software,2014,25( ...

  8. 语音情感识别----语音特征集之eGeMAPS,ComParE,09IS,BoAW

    一:LLDs特征和HSFs特征 (1)首先区分一下frame和utterance,frame就是一帧语音.utterance是一段语音,是比帧高一级的语音单位,通常指一句话,一个语音样本.uttera ...

  9. 语音情感识别--RNN

    1. 背景与简介 1.1. 现状 计算机只能识别"说了什么",无法识别"谁说的"."怎样说". 1.2. 目标 关注"怎样说&qu ...

最新文章

  1. 神器来啦!一键可视化,终于能看懂神经网络到底在干啥了
  2. boost::mp11::mp_same相关用法的测试程序
  3. iOS:UIView的block函数实现转场动画---双视图
  4. java硬件编程_关于JAVA并发编程你需要知道的——硬件篇
  5. A1137 | 录数据查询模拟
  6. 飘逸的python - 简明gzip模块压缩教程
  7. 为什么我们没有选择Rust?
  8. 面对疫情,AI 能做什么?
  9. OAuth 2 开发人员指南(Spring security oauth2)
  10. [OpenAirInterface实战-13] :OAI 基站配置文件详解
  11. STM8S003F3 使用ADC:固件库版本与寄存器版本
  12. 安静模式 运行 reg注册表文件
  13. 英特尔显卡linux管理_Intel Linux 显卡驱动安装指南
  14. Prioritizing Web Usability
  15. nu.xom:Serializer
  16. QPainter 画笔(QPen)和画刷(QBrush)
  17. AWS 亚马逊云良好架构框架
  18. oracle中text是什么意思,ORACLE TEXT是什么
  19. python black_如何使用Black自动格式化Python代码
  20. oracle复杂语句练习

热门文章

  1. 我现在编程方面的特别大的问题
  2. future career plan
  3. 转:手机流畅的决定性因素
  4. 静态函数一个有用的设计模式
  5. 【转】arm和x86的区别
  6. 一台linux通过另一台linux访问互联网
  7. JS滚动条到网页底部自动加载更多内容
  8. 数据科学家十年后彻底消失?25年行业元老:无稽之谈!
  9. thinkphp源码分析(一)—开门篇
  10. JavaSE之ClassLoader