• pyAudio介绍


    概要

    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

    无监督的语音分割

    • 静音检测

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

      image

     
    0
  • 相关阅读:
    制作SD(8G)卡Linux镜像,使得ZC706开发板可以从SD卡启动进入Linux系统
    微信小程序学习
    linux 驱动 printk 输出变量格式
    linux驱动- PCI-E设备驱动-PCIE设备结构体
    ubuntu 14.04 root登录
    Linux 应用程序 网络通讯函数记录
    linux 驱动学习 GPIO驱动相关函数详解
    linux 驱动学习 内核头文件 interrupt.h
    linux 驱动学习 常用头文件 cdev.h
    2020.11.10 1课 c++1 内联函数inline,引用对变量取别名,函数重载,缺省
  • 原文地址:https://www.cnblogs.com/demo-deng/p/7526639.html
Copyright © 2020-2023  润新知