gpt4 book ai didi

c++ - 音频采样频率音高

转载 作者:行者123 更新时间:2023-12-03 02:03:52 28 4
gpt4 key购买 nike

我试图找出如何改变样本 block 的音高。
到目前为止,我一直在使用 smbPitchShift 代码,但有人告诉我音高转换可以通过简单的频率转换来完成。

假设现在我有 2000 个样本以 44100hz 的频率运行。
我如何设法将音高上移 2 个 Octave (24 个半音)?
这家伙告诉它只是 1/频率的转换,我不太明白。

它是我试图用 C++ 开发的 VST 插件。

谢谢。

最佳答案

这并不像听起来那么简单……

如果您不需要保持共振峰的一种方式是将样本时间拉伸(stretch) 4 倍,最后再采样(插值)4 倍,则此步骤音高会改变您的音频。

要拉伸(stretch),您通常需要一些音高跟踪算法,在时域中,一些已知代码是 PSOLA、WSOLA、TDHS、SOLA、VSOLA ......

要在频域中拉伸(stretch),您可以使用相位声码器。

请记住,没有共振峰会产生恶魔/花栗鼠效果。

关于c++ - 音频采样频率音高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129360/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com