前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pyaudio库的安装(portaudio.h文件无法找到问题解决)

pyaudio库的安装(portaudio.h文件无法找到问题解决)

作者头像
sparkexpert
发布2018-01-09 16:12:49
1.7K0
发布2018-01-09 16:12:49
举报

pyaudio是语音处理的python库,提供了比较丰富的功能。

具体功能如下:

  • 特征提取(feature extraction):关于时域信号和频域信号都有所涉及
  • 分类(classification):监督学习,需要用已有的训练集来进行训练。交叉验证也实现了,进行参数优化使用。分类器可以保存在文件中以后使用。
  • 回归(regression):将语音信号映射到一个回归值。
  • 分割(segmenttation):有四个功能被实现了 
    • [x] 固定大小的分割
    • [x] 静音检测(silence removal)
    • [x] 语音聚类(speaker diarization)
    • [x] 语音缩略图(audio thumbnailing)
  • 可视化:给定语音,将内容可视化

所有的短时间特征可以见下图 

image
image
  • 短时间特征(short-term features) 
    • 时域特征(特征1-3)是直接提取的
    • 频域特征(特征4-34,MFCC除外)是由傅里叶转换而来
    • MFCC特征提取过程已经讨论过

过程:语音信号分帧,一帧有34个特征。一般20~100ms

  • 中等长度特征(mid-term features)和特别长的特征(long-term features)
    • 中等长度的调用短时间的特征,并进行统计运算
    • 1-10分钟左右长度
    • long-term调用Mid-term然后做统计运算
  • 速度有关的特征

语音分割

pyaudio提供了两类的语音分割  - 有监督的语音分割:需要有提供一些材料,例如,已经训练好的分类器。为此,此库提供了两种算法:分类的方法和隐马尔科夫的算法  - 无监督的语音分割:无监督的或者半监督的,不需要提供知识准备,主要的例子是静音检测,语音聚类,语音缩略图

有监督的

  • 固定长度的分割算法(fix-sized segmentation) 
    • audioSegmentation.py的函数mtFileClassfication()是主要的 
      • 切分一个语音段为一个连续的中等长度的段(mid-term)并且提取min-term features,使用mtFeatureExtraction()
      • 使用已经训练好的模型来进行分类
      • 只要两个段相连并且都是同一个类别,就将两个段进行合并
      • 将数据进行可视化
    • 注意事项,一个.segment的文件必须要有
    • plotSegmentationResults()用来画图可视化数据
  • 隐马尔科夫模型分割算法(HMM-based segmentation)
    • 用户需要提供已经标注过的数据,包括:段开始点,段结束点,段类别
    • 一个语音文件配一个标注的配置文件,两者构成训练集
    • TrainHMM_fromFile()和TrainHMM_fromDir()是两个训练的函数
    • hmmSegmentation()函数用来使用HMM算法
    • plotSegmentationResult()可视化并且计算正确率
image
image

无监督的语音分割

  • 静音检测
    • 短时间特征提取
    • 训练SVM,在高能帧和低能帧中,特别的,10%的高能帧和10%的低能帧用在训练SVM模型
    • 将SVM分类器用在全部的语音中,得到一串概率值,对应此帧是个时间帧(audio event)的概率
    • 一个动态的阈值被用来探测段是不是活跃的
image
image

在做python环境下的语音识别等相关任务时,一般都需要用到这个库。然而,对于第一次安装这个库的时候,发现都装不上,报的错就是:

找不到portaudio.h文件。

针对这个问题,本来以为是PIP安装的时候下载的包错了,后来对着文件名进行搜索了下,原来是pyaudio的运行需要依赖于portaudio这个库。

因此需要从http://portaudio.com/download.html这个网址上下载相应的软件包,然后进行正常的C++编译和安装。

再次运行pip install pyaudio,果然非常顺利就成功了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年02月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 具体功能如下:
  • 语音分割
    • 有监督的
      • 无监督的语音分割
      相关产品与服务
      语音识别
      腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档