很好很强大@!

基音周期中两种算法

常用的基音周期检测方法-自相关函数法、倒谱法、平均幅度差函数法都属于非基于事件基音检测方法,都先将语音信号分为长度一定的语音帧,然后对每一帧语音求平均基音周期,它们的优点是比较简单,主要应用于只需要平均基音周期作为参数的语音编解码,语音识别等。

自相关函数具有很好的抗噪性,但易受半频、倍频错误影响。平均幅度差函数只需加法、减法和取绝对值等计算,算法简单;它们在无背景噪声情况下可以精确地提取的语音基音周期,但在语音环境较恶劣、信噪比较低时,检测的结果很差,难以让人满意。

2.1 基于短时自相关函数的方法

能量有限的语音信号 s(n) 的短时自相关函数[10][11]定义为:

Rn( ) N 1

m 0 [s(n m)w(m)][s(n m )w(m )] (2.1)

其中, 为移位距离,w(m)是偶对称的窗函数。

短时自相关函数有以下重要性质:

①如果 s(n) 是周期信号,周期是P,则R( )也是周期信号,且周期相同,即R( ) R(P )。

②当τ=0时,自相关函数具有最大值;当 0, P, 2P, 3P…处周期信号的自相关函数达到极大值。

③自相关函数是偶函数,即R( ) R( )。

短时自相关函数法基音检测的主要原理是利用短时自相关函数的第二条性质,通过比较原始信号和它移位后的信号之间的类似性来确定基音周期,如果移位距离等于基音周期,那么,两个信号具有最大类似性。

在实际采用短时自相关函数法进行基音检测时,使用一个窗函数,窗不动,语音信号移动,这是经典的短时自相关函数法。窗口长度N的选择至少要大于基音周期的两倍,N越大,短时自相关函数波形的细节就越清楚,更有利于基音检测,但计算量较大,近年来由于高速数字信号处理器(DSP)的使用,从而使得这一算法简单有效,而不再采用结构复杂的快速傅里叶变换法、递归计算法等;

倒谱法的基因周期检测matlab,两种基音周期检测方法相关推荐

  1. 基音周期 检测 matlab,语音信号基音周期检测的matlab程序

    <语音信号基音周期检测的matlab程序>由会员分享,可在线阅读,更多相关<语音信号基音周期检测的matlab程序(2页珍藏版)>请在人人文库网上搜索. 1.function ...

  2. Matlab两种求相位的方法

    在matlab中有两种求相位方法. 1.使用phase函数. 比如a = 1+j*2 phase(a),则可以就a的相位.这个函数取实部为x轴,虚部为y轴. 2.使用函数atan2. atan2(y, ...

  3. 皮带撕裂检测matlab,一种皮带撕裂检测方法与流程

    本发明涉及皮带检测技术领域,特别涉及一种皮带撕裂检测方法. 背景技术: 皮带运输系统是现代工业生产中运输物料的重要手段.在皮带运输过程中,如果出现皮带撕裂的情况,不仅影响物料的运输.造成浪费和污染,而 ...

  4. 【数字信号处理】周期延拓 ( 周期延拓的两种情况 | L ≥ N | L ≤ N )

    文章目录 一.周期延拓 二.周期延拓分两种情况 一.周期延拓 非周期的信号 通过 周期延拓 可以变为 周期信号 ; 周期延拓 : 非周期序列 构成 周期序列 的过程 ; 非周期序列 x(n)[0,N− ...

  5. 倒谱法的基因周期检测matlab,Matlab在基音周期检测教学中的应用研究

    朱徐来 摘要:基音周期是<语音信号处理>中的重点和难点,基音周期作为语音信号的重要参数,在语音编码.语音合成和语音识别等方面,有着非常重要的作用.本文采用Matlab对基因周期进行仿真分析 ...

  6. Android-服务Service(2)-bind绑定Service及两种生命周期

    上篇是第一种方法,这里主要是第二种Context.bindService()方法 1. 开发步骤 1. 绑定服务 Intent intent=new Intent(getBaseContext(),M ...

  7. matlab函数输出语句,matlab两种输出语句分别是什么

    matlab两种输出语句分别是什么 发布时间:2021-02-26 14:21:27 来源:亿速云 阅读:79 作者:小新 这篇文章主要介绍了matlab两种输出语句分别是什么,具有一定借鉴价值,感兴 ...

  8. JDK四种常见线程池及使用场景、两种提交任务的方法

    转载:JDK 提供的线程池及使用场景 - 编程猎人 (programminghunter.com) 目录 四种常见线程池 1.newFixedThreadPool 2.newSingleThreadE ...

  9. golang java rpc_golang两种调用rpc的方法

    本文实例讲述了golang两种调用rpc的方法.分享给大家供大家参考,具体如下: golang的rpc有两种方法进行调用,一种是rpc例子中给的: package main import ( &quo ...

最新文章

  1. linux启动顺序详解
  2. CSS Image Rollovers翻转效果Image Sprites图片精灵
  3. Linux安装配置Redis CentOS 7 下安装Redis
  4. word-wrap: break-word; break-word: break-all;区别
  5. 烟台农业走进物联网大数据时代
  6. JMS与Spring之二(用message listener container异步收发消息)
  7. 【codevs1286】【BZOJ1503】郁闷的出纳员,splay练习
  8. 大数据之-Hadoop完全分布式_SCP案例_同时在1000台服务器上安装JDK_配置环境变量---大数据之hadoop工作笔记0031
  9. 一加7是什么协议_刘作虎“拔钉”成功:大量一加5、一加3用户入手一加8T
  10. python 去掉双引号_python知识学习,python标识符和关键字
  11. VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化
  12. 3.4 小乌龟git使用说明
  13. 打印图片显示选择传真调制器或服务器,选择打印时为什么显示发送传真
  14. 数据库实验报告一-创建数据库和表
  15. Adobe illustrator(AI) 矢量图形软件 | 图像描摹(怎么把白色背景色的图片背景变为透明色)
  16. C语言量化管理系统,任务量化管理系统
  17. Vue+Element表格动态列+表格分页
  18. 【御剑问情】外网手工外网端+游戏后台
  19. 阿里云服务器建站怎么上传文件?
  20. ​ios11自带邮件添加新的邮箱账号

热门文章

  1. 网站点击流日志数据分析
  2. 游戏开发中常用的设计模式 【game design patterns】
  3. 镂空三角形(for循环找规律)
  4. 什么样的打码网站算正规的打码网站
  5. SPSS Modeler 18.0 新功能权威解读(文末附下载地址)
  6. 二、软件项目开发计划书-模板
  7. Inspect的学习笔记
  8. 3D场景搭建的隐秘功能——时间轴
  9. 解决minGW32-make 编译opencv时 error: ‘std::_hypot‘ has not been declared using std::hypot;
  10. Hadoop集群搭建(所需软件安装包已上传发布)