Harvest: A high-performance fundamental frequency estimator from speech signals

在这里插入图片描述
描述了一个名为 Harvest 的基频(F0)估计器。Harvest的独特之处在于,它可以获得可靠的 F0 轮廓,并减少了将有声部分错误地识别为清音部分的错误。它包括两个步骤:
估计 F0 候选值,并根据这些候选值生成可靠的 F0 轮廓。
第一步,该算法利用许多中心频率不同的带通滤波器提取基本成分,并从滤波后的信号中获得基本的 F0 候选
值。之后,通过使用瞬时频率对基本的 F0 候选进行精炼和评分,然后估计每个帧中的几个 F0 候选。由于基于基本成分提取的逐帧处理不会克服临时本地噪声,因此在第二步中使用了使用相邻 F0 的连接算法。该连接利用了以下事实:F0 轮廓不会在短时间内突然变化。我们使用两个带有电声描记器(EGG)信号的语音数据库进行了评估,以比较 Harvest 与几种最先进的算法。结果表明,Harvest 实现了所有算法的最佳性能。

在最近的 SPSS 中,已使用利用连续 F0 建模[4]的深度神经网络(DNN)[3]。该 F0 建模通过样条插值[5]等插值为清音部分提供一定的 F0。此建模首选的 F0 估计器应具有为所有帧提供平滑 F0 轮廓的功能。因此,Harvest 旨在减少错误地将浊音部分识别为清音部分的错误。

有关 F0 估算的相关工作

F0 被定义为声门振动的最短周期。为了所需的各种目的,已经提出了许多估计 F 0 的方法。常规的 F0 估计器使用了波形特征和功率谱[6]。在基于波形的算法中,提出了平均幅度差函数[7]和加权自相关[8]。YIN [9]是一个主要的估计量,2014 年开发了一个改进的版本[10]。至于基于功率谱的算法,基于倒谱[11,12]的方法已经很流行,而 SWIPE/[ [13]最近被提议为高性能 F0 估计器。使用哪个 F0 估计量取决于研究目的。对于实时语音分析/合成应用[14,2],已经提出了 DIO [15]及其改进版本[16]。对于高质量的语音分析/合成系统,在 STRAIGHT [18]中使用 NDF [17]在 TANDEM-STRAIGHT 中使用 XSX[19,20]是首选。尤其是,音高同步分析[21]可以提高频谱包络和非周期性估计的估计性能。在将 F0 用作估计其他语音参数的输入的情况下,估算精度非常重要。WORLD [24]中使用的 CheapTrick [22,23],支持 F0 的多帧集成分析[25]和 D4C [26]需要高性能的 F0 估计器。对于自动语音识别,由于系统通常在嘈杂的环境中使用,因此可靠的 F0 估计器[27]会很有用。

提议将 Harvest 用于高质量的语音分析/合成系统和SPSS。特别是,由于连续的 F0 建模[4]为清音部分提供了一定的 F0,因此 Harvest 尝试减少清音帧并为其提供可靠的 F0。Harvest 的基本思想基于基于事件的 F0 估计器[28],并通过过滤使用基本成分提取[15]。它包括两个步骤:估计 F0 候选值,并根据这些候选值生成可靠的 F0 轮 廓。

算法细节

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤 1:F0 候选者估算

第一步的轮廓如图 1 所示。此处的目的是收集所有 F0 候选,即使它们包括估计误差也是如此。在每一帧中都会获得许多 F0 候选者及其可靠性得分。

  • 基本 F0 候选人的估计
  • 从基本 F0 候选者估计 F0 候选者
  • 重叠的 F0 候选
  • 通过瞬时频率细化和评分所有 F0 候选者
步骤 2:根据估算的 F0 候选值生成最佳 F0 轮廓

在第一步中,每个帧中都有许多 F0 候选对象。第二步的目的是从所有 F0 候选中生成可靠的 F0 轮廓。首先,将具有最高可靠性的 F0 候选对象选作基本的 F0 轮廓。

  • 删除不需要的 F0 候选人
  • 删除简短的浊音部分
  • 扩展每个浊音部分
  • F0 轮廓的插补和平滑

评估

使用两个语音数据库(日语和英语)对提出的算法进行了评估。它们由语音波形和伴随的电声描记器(EGG)信号组成。

为了进行比较,我们选择了几种最新的算法:YIN1,SWIPE/2,STRAIGHT 中使用的 NDF,TANDEM-STRAIGHT 中使用的 XSX,WORLD3中使用的 DIO, 和 YANGsaf4。作者发布的源代码用于准确评估每种算法。Harvest 也在 C ++5和 Matlab 中发布。在所有算法中,F0估计范围的下限和上限频率分别设置为 40 和 800 Hz。帧偏移设置为 1 ms。其他参数设置为默认值。除 YIN 之外,每种算法都使用了带语音/不带语音(VUV)的检测器,但它没有这种功能。

评价使用了两个语音数据库。DB1 是日语语音数据库,包含由 14 位说话者(七男七女)说出的 840 个语音项目。使用此数据库调整了 Harvest 中的参数。其采样频率为16 kHz。DB2 是 Bagshaw 的语音数据库[32],由 100 个语音项目组成,由两个说话者(一个男人和一个女人)说出。其采样频率为 20 kHz。需要一个 F0 估计器才能从 EGG 信号获得目标 F0 轮廓。在评估中,NDF 从微分的 EGG 信号中估算出目标 F0 轮廓。尽管 NDF 也可以估算 VUV 信息,但是我们在这里忽略了它,而是使用了数据库中记录的 VUV 信息。

已经提出了几种误差指标,例如总螺距误差,细螺距误差[33]和总误差率(GER)[9]。还提出了使用从人造 F0 轮廓生成的人造信号的框架[34]。在使用 EGG 信号获取目标F0 的情况下,由于目标 F0 轮廓取决于 F0 估计器的性能,因此我们无法讨论目标 F0 与估计 F0 之间的细微差异。因此,在此评估中使用了简单的 GER。总误差定义为与目标F0 相差超过 20%的值。GER 定义为具有严重错误的帧数与所有帧之间的比率。
在这里插入图片描述
表 1 显示了每个 DB 的 GER。在 DB1 中,由于调整了Harvest 以最大程度地降低 GER,因此性能是所有算法中最好的。Harvest 还获得了 DB2 中所有算法的最佳性能。这些结果表明,通过使用这些调整参数,Harvest 在日语和英语语音中都可以很好地工作。在此评估中,使用了记录在每个数据库中的 VUV 信息,并且目标 F0 轮廓取决于估算器。通过目视检查,我们确认 VUV 信息和目标 F0 轮廓很少包含该错误。这表明,即使估计器可以估计目标 F0,也将其计为总误差。因此,我们更改了从 EGG 信号获得目标 F0 的 F0 估计器,并进行了相同的评估。结果表明,Harvest 始终达到所有算法的最佳性能。
在此评估中,具有严格 VUV 检测器的 F0 估计器是不利的。表 2 显示了 Harvest 中有声部分的数量与其他部分中的有声部分之间的比率。如图所示,Harvest 估计了 DB1中最长的浊音部分。在 DB2 中,尽管 DIO 估计了最长的浊音部分,但它的性能不如其他声音,这表明估计的 F0 不可靠。Harvest 旨在减少错误地将浊音部分识别为非浊音部分的错误,这些结果表明它可以按预期工作。

结论

本文介绍了 Harvest,它是一种高性能的 F0 估计器,它由基本成分提取和基于瞬时频率的细化相结合而成。与其他最新算法相比,它的性能是最好的。我们未来的工作将包括将 Harvest 应用于语音分析/合成和 SPSS。由于Merlin 工具包[35]已经利用 WORLD 来对语音进行语音编码,因此我们可以将 Harvest 添加为 F0 估计器。