声学特征(三) pitch
基本含义
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+Wxjxj+τ (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相关推荐
- 语音合成的思路、语音的声学特征、声音采样的一些资料
语音合成:把语音波形文件重现,以一种灵活的方式,只用极少数的基础数据,比如元音辅音的语音参数,那么首先需要研究元音辅音的语音学性质. 先从元音开始,根据相关资料,不同的元音是由相同的原始声带音通过不同 ...
- 【DBMS 数据库管理系统】数据仓库特征 ( 特征一 : 面向主题组织数据 | 特征二 : 数据集成 | 特征三 : 数据不可更新 | 特征四 : 随时间不断变化 )
文章目录 一.特征一 : 面向主题 数据组织方式 二.特征二 : 数据集成 三.特征三 : 数据不可更新 四.特征四 : 数据仓库中的数据 随时间不断变化 一.特征一 : 面向主题 数据组织方式 主题 ...
- 图像的傅里叶变换的频谱特征 三(平移,旋转,相位的重要性)
图像傅里叶变换的频谱特征 三 6,平移和旋转 图像的平移并不会影响图像的频谱,同时,图像的相位会随着图像的旋转而旋转. Part I 平移和旋转对频谱的影响 下面我用矩形的频谱图来说明图像中矩形的平移 ...
- 7的整除特征 三位一截_小学生三位数加法的策略与表现
题目:小学生三位数加法的策略与表现 来源:Educ Stud Math (2016) 91:123–139 DOI 10.1007/s10649-015-9658-3 目的:探讨学生在解决三位数心算问 ...
- java面向对象的特征三:多态性 —(15)
1.多态性的理解:可以理解为一个事物的多种形态. 2.何为多态性: 对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用) 举例: Person p = new Man(); Objec ...
- 7的整除特征 三位一截_「每周一课」数字和除号握手言和,来攻克整除问题
我们每天的数学课都在和数字打交道,你能彻底掌握它吗?在接触除法之后,我们经常会涉及到整除和余数问题,平时的应用题中,也出现了很多整除问题.今天我们就一起来了解一下,怎样才能闯过这一关吧! 我们先来看看 ...
- 7的整除特征 三位一截_茅台酒的合格证有哪些特征和鉴别要点?
每箱茅台酒里都有一个合格证,共有3次变化: 第一次在2010年8月4日由"贵州茅台酒装箱单"修改了"产品合格证","品名"改成了" ...
- 7的整除特征 三位一截_整除的特征、三位截断法的原理
对于数的整除特征大家都比较熟悉:比如4看后两位(因为100是4的倍数),8看后三位(因为1000是8的倍数),5末尾是0或5,3与9看各位数字和等等,今天重点研究一下3,9,7,11,13的整除特征( ...
- mysql三线表导出_R|tableone 快速绘制文章“表一”-基线特征三线表
生物医学或其他研究论文中的"表一"多为基线特征的描述性统计.使用R单独进行统计,汇总,然后结果复制到excel表中,耗时耗力且易错! tableone包"应运而生&quo ...
最新文章
- kotlin + springboot 整合redis,Redis工具类编写及单元测试
- C++知识点29——使用C++标准库(迭代器适配器)
- BACKUP PENDING状态的解除
- 视觉里程计 | OF-VO:Robust and Efficient Stereo Visual Odometry Using Points and Feature Optical Flow
- 聊聊技术写作的个人体会
- html5 ios cookie,iOS设置cookie到web遇到的坑
- 限量放送,2018全球智能驾驶峰会「免费拿票攻略」接住了!
- 真正的手机密码大全!(整理完整版)
- 计算机字体安装按钮灰色,win10系统无法安装字体安装按钮灰色的的解决方法
- 大学计算机aoa学什么,浙江省高校计算机二级AOA考试excel试题及解析.xls
- 手机里的PDF文件太大如何变小?免费方法了解一下
- signature=56b13ba141d8042e7f17a5bffcc46d8e,vue 汉字转成拼音
- matlab plotyy 属性如何调整,科学网—【Matlab】如何用plotyy对应坐标绘制多条曲线 - 叶瑞杰的博文...
- iPhones刷机怎么备份微信记录 iPhone手机微信记录怎么备份
- A - Artwork Gym - 101550A
- 响应时间过长问题分析
- VTK- vtkStripper
- hashmap hash冲突怎么解决_hashMap怎么解决hash冲突的
- 如何利用机器学习预测股市,成为百万富翁?
- 如何将APE及FLAC格式文件刻录成CD