PSOLA 或 WSOLA 更适合人声拉伸/重调吗?

信息处理 沥青 重叠相加
2022-02-06 08:01:13

我正在寻找实现一种时域音高修改算法,例如 PSOLA(音高同步重叠和相加)或 WSOLA(波形相似重叠和相加)。

目前我正在使用 PSOLA,但在我看来,WSOLA 对复杂波形的复音信号更稳健,而 PSOLA 更适用于人声等单音信号。我觉得使用 WSOLA 可以更好地适应未来,尽管我现在只对单声道信号感兴趣。

我想知道使用 WSOLA 与 PSOLA 相比是否有任何缺点。

似乎这两种技术都以类似的方式工作,都可以识别波形中的重复,尽管 WSOLA 不一定锁定到基本。基本锁定是否使 PSOLA 更适合人声?

更准确地说,我正在尝试找出 WSOLA 与 PSOLA 在以下任务中的优缺点:

  1. 音高校正
  2. 时间校正
  3. 共振峰校正
2个回答

更准确地说,我正在尝试找出 WSOLA 与 PSOLA 在以下任务中的优缺点:

音高校正:

  • PSOLA - 优点您可以直接根据颗粒之间的速率空间更改音高,保持共振峰完好无损......以更改您不需要时间尺度和重新采样之后的音高。
  • PSOLA - 缺点你需要超大功率俯仰探测器吗
  • WSOLA - 缺点 WSOLA 不是一种 Pitch Shift 算法,WSOLA 是一种 Time Scale 算法,改变音高需要时间尺度并且它们重新采样,共振峰会丢失,所以你可能只需要一种自相关来找到好地方切片,因此它与音高信息不同,如果您要构建自动音高校正,一个基本的自相关不会为您提供正确的音高信息。
  • WSOLA - 这里的一个优点是切片不依赖于音高,只需在最佳匹配相似度中切片,记住它只是一种时间尺度算法,您需要重新采样来改变音高

时间校正:

对于时间尺度,我认为 WSOLA 在这里或一些TDHS基于算法的方面具有最大优势,是的,你可以使用 PSOLA 来时间尺度并一起应用音高变换,只是音高变换或只是时间尺度,但如果你只是时间尺度,WSOLA 是一个聪明的选择,无需在 WSOLA 中构建 Ultra Pitch Detector,只需一个波形相似性即可解决您的问题(自相关可以解决...)

共振峰校正:

  • PSOLA - 默认情况下共振峰是不可触及的,但你也可以扭曲共振峰,这在 PSOLA 中是惊人的......
  • WSOLA - 在时间尺度和重新采样之后,您的共振峰将丢失,并且要获得原始共振峰,您需要从原始信号中获取频谱包络中的共振峰并将其应用于音高偏移信号,您可以使用低通滤波器在光谱,使用峰值拾取和插值或使用倒谱来获得包络......

我知道 PSOLA 无限复杂,但我认为这个算法真的很棒,如果你有一个像样的 PitchTrack 它会给你很大的多功能性

我认为你是正确的,WSOLA 更适合复调,但这种方法仍然存在故障。之所以好一点,是因为音高检测算法只是寻找好的拼接位移。如果它是一个八度音阶,那不会对您造成太大伤害,因为接头仍然很好。但是,如果音高改变音符的非和弦和弦(例如减和弦),则不会有良好的拼接位移,因此您最终会选择最不差的一个。

现在PSOLA 要求准确地知道音高和八度误差听起来像是八度误差。但这就是你想要的人声变调方法,而我所指的论文解释了原因。

但时间缩放并不完全是音高变换。当时间缩放任何东西时,包括人声,不要使用 PSOLA。使用 WSOLA 或诸如相位声码器之类的频域方法。