基本含义

pitch跟声音的基频fundamental frequency(F0)有关,反应的是音高的信息,即声调。计算F0也被称为‘‘pitch detection algorithms(PDA)。


YIN算法

sphinx使用的YIN算法提取pitch特征,相对简单而且进行了定点化。
YIN来自于“阴阳”哲学,寓意在autocorrelation和cancellation之间的变换。YIN算法的演化流程:

Step 1: The autocorrelation method

autocorrelation function(ACF)运算可以用于寻找周期信号的周期。因为周期信号的自相关函数也是周期信号,而且周期一致。
r t ( τ ) = ∑ j = t + 1 t + W x j x j + τ ( 1 ) r_t(\tau)=\sum_{j=t+1}^{t+W}x_jx_{j+\tau}\ \ \ \ \ \ \ \ \ \ \ \ \ (1) rt​(τ)=j=t+1∑t+W​xj​xj+τ​             (1)
W表示相关函数的窗口, τ \tau τ表示相关函数的延时。

Step 2: Difference function

d t ( τ ) = ∑ j = 1 W ( x j − x j + τ ) 2 d_t(\tau)=\sum_{j=1}^{W}(x_j-x_{j+\tau})^2 dt​(τ)=j=1∑W​(xj​−xj+τ​)2
YIN算法使用该函数替换上面的第一步的自相关函数,优势在于:
当时域信号随着时间幅值变大的时候,导致自相关函数的峰值也会逐渐变大,最大的峰值就会后移,从而导致周期变长。而对于差分函数,幅值的变化会导致所有的 τ \tau τ对应的差分值都会改变,减弱了这种影响。

Step 3: Cumulative mean normalized difference function

d t ′ ( τ ) = { 1 if  τ = 0 d t ( τ ) 1 τ ∑ j = 1 τ d t ( j ) otherwise d_t'(\tau) = \begin{cases} 1 & \quad \text{if } \tau=0\\ \frac{d_t(\tau)}{\frac{1}{\tau}\sum_{j=1}^{\tau}d_t(j)} & \quad \text{otherwise}\\ \end{cases} dt′​(τ)={1τ1​∑j=1τ​dt​(j)dt​(τ)​​if τ=0otherwise​
相比于step2,减少了 τ \tau τ比较小的时候出现零点的情况,减弱了小周期的产生。

Step 4: Absolute threshold

step3,如果极小值出现的时间点比周期对应的时间点要长,会出现周期变长的情况。为了解决这类问题,可以设置一个绝对的门限(比如0.1),找到低于这个门限的每一段的极小值,这些极小值中的第一个极小值对应 τ \tau τ作为周期(第三步是使用这些极小值的中的最小值对应的 τ \tau τ作为周期)。如果没有低于门限的点,那么选择全局最小值作为周期。

Step 5: Parabolic interpolation

前面的步骤有一个假设,即信号的周期是采样周期的倍数。如果不满足的话,会引起错误。
为了解决这个问题,每个 d ′ ( τ ) d'(\tau) d′(τ)的局部最小值以及相邻的点,可以使用二次函数抛物线进行拟合。后续周期计算的时候使用每个局部最小值对应的拟合值。找到的最小值对应的时间即为周期。使用这种方法有可能存在bias,可以用 d ( τ ) d(\tau) d(τ)来避免这个问题。

Step 6: Best local estimate

在找到的周期值附近,在时间窗口 [ t − T m a x / 2 , t + T m a x / 2 ] [t-T_{max}/2, t+T_{max}/2] [t−Tmax​/2,t+Tmax​/2]寻找极小值对应的时间作为周期, T m a x T_{max} Tmax​是最大期望周期值。
总体上,YIN算法使用 d ′ ( τ ) d'(\tau) d′(τ)进行周期估计,同时设置一个绝对门限,在找得到周期值附近重新进行搜索获得最优值。


参考

《YIN, a fundamental frequency estimator for speech and music》

后面的技术分享转移到微信公众号上面更新了,【欢迎扫码关注交流】

声学特征(三) pitch相关推荐

  1. 语音合成的思路、语音的声学特征、声音采样的一些资料

    语音合成:把语音波形文件重现,以一种灵活的方式,只用极少数的基础数据,比如元音辅音的语音参数,那么首先需要研究元音辅音的语音学性质. 先从元音开始,根据相关资料,不同的元音是由相同的原始声带音通过不同 ...

  2. 【DBMS 数据库管理系统】数据仓库特征 ( 特征一 : 面向主题组织数据 | 特征二 : 数据集成 | 特征三 : 数据不可更新 | 特征四 : 随时间不断变化 )

    文章目录 一.特征一 : 面向主题 数据组织方式 二.特征二 : 数据集成 三.特征三 : 数据不可更新 四.特征四 : 数据仓库中的数据 随时间不断变化 一.特征一 : 面向主题 数据组织方式 主题 ...

  3. 图像的傅里叶变换的频谱特征 三(平移,旋转,相位的重要性)

    图像傅里叶变换的频谱特征 三 6,平移和旋转 图像的平移并不会影响图像的频谱,同时,图像的相位会随着图像的旋转而旋转. Part I 平移和旋转对频谱的影响 下面我用矩形的频谱图来说明图像中矩形的平移 ...

  4. 7的整除特征 三位一截_小学生三位数加法的策略与表现

    题目:小学生三位数加法的策略与表现 来源:Educ Stud Math (2016) 91:123–139 DOI 10.1007/s10649-015-9658-3 目的:探讨学生在解决三位数心算问 ...

  5. java面向对象的特征三:多态性 —(15)

    1.多态性的理解:可以理解为一个事物的多种形态. 2.何为多态性: 对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用) 举例: Person p = new Man(); Objec ...

  6. 7的整除特征 三位一截_「每周一课」数字和除号握手言和,来攻克整除问题

    我们每天的数学课都在和数字打交道,你能彻底掌握它吗?在接触除法之后,我们经常会涉及到整除和余数问题,平时的应用题中,也出现了很多整除问题.今天我们就一起来了解一下,怎样才能闯过这一关吧! 我们先来看看 ...

  7. 7的整除特征 三位一截_茅台酒的合格证有哪些特征和鉴别要点?

    每箱茅台酒里都有一个合格证,共有3次变化: 第一次在2010年8月4日由"贵州茅台酒装箱单"修改了"产品合格证","品名"改成了" ...

  8. 7的整除特征 三位一截_整除的特征、三位截断法的原理

    对于数的整除特征大家都比较熟悉:比如4看后两位(因为100是4的倍数),8看后三位(因为1000是8的倍数),5末尾是0或5,3与9看各位数字和等等,今天重点研究一下3,9,7,11,13的整除特征( ...

  9. mysql三线表导出_R|tableone 快速绘制文章“表一”-基线特征三线表

    生物医学或其他研究论文中的"表一"多为基线特征的描述性统计.使用R单独进行统计,汇总,然后结果复制到excel表中,耗时耗力且易错! tableone包"应运而生&quo ...

最新文章

  1. kotlin + springboot 整合redis,Redis工具类编写及单元测试
  2. C++知识点29——使用C++标准库(迭代器适配器)
  3. BACKUP PENDING状态的解除
  4. 视觉里程计 | OF-VO:Robust and Efficient Stereo Visual Odometry Using Points and Feature Optical Flow
  5. 聊聊技术写作的个人体会
  6. html5 ios cookie,iOS设置cookie到web遇到的坑
  7. 限量放送,2018全球智能驾驶峰会「免费拿票攻略」接住了!
  8. 真正的手机密码大全!(整理完整版)
  9. 计算机字体安装按钮灰色,win10系统无法安装字体安装按钮灰色的的解决方法
  10. 大学计算机aoa学什么,浙江省高校计算机二级AOA考试excel试题及解析.xls
  11. 手机里的PDF文件太大如何变小?免费方法了解一下
  12. signature=56b13ba141d8042e7f17a5bffcc46d8e,vue 汉字转成拼音
  13. matlab plotyy 属性如何调整,科学网—【Matlab】如何用plotyy对应坐标绘制多条曲线 - 叶瑞杰的博文...
  14. iPhones刷机怎么备份微信记录 iPhone手机微信记录怎么备份
  15. A - Artwork Gym - 101550A
  16. 响应时间过长问题分析
  17. VTK- vtkStripper
  18. hashmap hash冲突怎么解决_hashMap怎么解决hash冲突的
  19. 如何利用机器学习预测股市,成为百万富翁?
  20. 如何将APE及FLAC格式文件刻录成CD

热门文章

  1. 在Java中玩转时间
  2. DeFi 市场复苏 GameFi 的夏天依旧火热
  3. Qimage Ultimate 2021
  4. node与mySQL基本知识
  5. 王者服务器维护5月1日,2018王者荣耀5月3日更新维护公告 5月3日更新了内容汇总...
  6. 华为mate40pro和荣耀30Pro+ 哪个好
  7. Knockout.js 组件
  8. python 类型判断 str,33-python中判断类型
  9. opencv学习-第1节:环境配置与搭建
  10. excel表格公式不更新_一步更新多个Excel公式