您好,欢迎来到微智科技网。
搜索
您的当前位置:首页【Harvest源码分析】GetF0CandidateContour函数

【Harvest源码分析】GetF0CandidateContour函数

来源:微智科技网

该函数,顾名思义,就是描绘F0 Candidate的轮廓。

在中,已经介绍了如何获取ZeroCrossings了。不清楚的可以再看一下我的那一篇文章。

void GetF0CandidateContour(const ZeroCrossings *zero_crossings,
    double boundary_f0, double f0_floor, double f0_ceil,
    const double *temporal_positions, int f0_length, double *f0_candidate)

函数入参有:

它的原理是这样,
通过zero_crossings中的四个维度,向上过零点,向下过零点,峰值,谷值,来分别做插值计算,算法仿自matlab的.
每个维度都会通过插值的算法,构建出f0_lenght的波形

一下是第一个band频率的数值样例

然后把四个波形合并(每个点取均值),得出f0在此band频率下的轮廓。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务