我正在尝试寻找一个库或示例代码或其他有助于我改变音频速度同时保持正常音高的东西。我需要在一个开源应用程序中使用这个功能,因此最好是该库本身也是开源的。有什么想法可以帮助我找到正确的方向吗?
我正在尝试寻找一个库或示例代码或其他有助于我改变音频速度同时保持正常音高的东西。我需要在一个开源应用程序中使用这个功能,因此最好是该库本身也是开源的。有什么想法可以帮助我找到正确的方向吗?
如果您需要在音频领域传达信号,要按时播放但不改变音高:
您必须知道您的信号由什么组成。以便在值得时合成好的频率。
1/ 您已经知道所有参数,就像模拟合成一样,您知道要合成一个音符,所以您可以调整所有振荡器的频率以达到这个值:我想这不是您能做的任何虚拟/虚拟模拟合成器都可以根据您的需求完成此操作。
2/ 您有一个要控制的源声音 您必须将其分解为您可以控制的项目,以满足您的谐波约束,时间和节奏限制:3种解决方案。
a. FFT,快速傅里叶变换,给出您源声音所有谐波功率的数量,由您来扩大某些谐波或另一些谐波的时间尺度(非常酷的技巧,但实验非常值得)
b. 小波变换,接近FFT,但关注谐波细节,无论它们发生在何时以及它们发生的精确程度。(想象一下它就像FFT在每个时间上优化某些有意义的频率)
c. 颗粒合成,我认为这是最简单的:它执行窗口(在声音的每个时间片段上应用一种类似于高斯正则分布的方法),就像云彩般的窗口覆盖您原始的声音,将其解耦成许多部分,在它们的音高和持续时间(应用于声音的窗口的速度和周期)上完全可控。
可能还有很多其他技术,但我不太清楚。
如果我在多分辨率方面的术语使用不准确或错误,对此我深感抱歉 - 我离专家还有很长的路要走。