在诸如 Reason 的 Maelstrom 之类的合成器中共振峰转换是如何工作的?
我一直在指出 PSOLA 算法等,但我无法理解它究竟是如何导致共振峰移动的,因为它的基本操作似乎是“共振峰保持音高移动”。
在诸如 Reason 的 Maelstrom 之类的合成器中共振峰转换是如何工作的?
我一直在指出 PSOLA 算法等,但我无法理解它究竟是如何导致共振峰移动的,因为它的基本操作似乎是“共振峰保持音高移动”。
PSOLA 对不同的人可能意味着不同的东西。
在时域中完成的“共振峰保持音高偏移”需要一个非常好的跟踪音高检测器。知道每个任意时间的音高(变化)意味着您知道周期长度。
因此,这种在时域中保持共振峰的音高偏移可以识别输入波形的每个周期的开始,当它是浊音时。每个时期都用一个窗口隔离,现在变成一个“颗粒”或(我考虑不周的名字)一个“小波”。然后你以新的基频发射这些粒子或小波。但是,为了保留共振峰,您既不拉伸(如果向下移动)也不压缩(如果向上移动)颗粒或小波。你重叠并添加它们。
发射这些颗粒的速度决定了输出音高。沿时间轴拉伸或挤压晶粒的程度决定了共振峰偏移。