我正在尝试使用 MATLAB 增加 wav 文件的音高。(我不希望它听起来很好,但我试图弄清楚 MATLAB 中的小波是如何工作的。)这就是我正在做的事情:
scales = {2.34375,0.5,21};
result = cwtft(b5,'scales',scales);
result.scales = 2*scales;
b5high = icwtft(result);
(b5只是贝多芬第五交响曲的开场,但它可以是任何声音文件。它恰好有 48 kHz 的采样率。)
在我看来,我正在b5使用 Morlet 小波进行小波变换。我使用的音阶捕获了 48 kHz 信号的人类可听频率。然后我将音阶向量加倍——导致向上移动 1 个八度音阶,然后转换回信号。但是,当我弹奏时b5high,听起来就像b5- 根本没有音高变化。
我的逻辑有什么问题?
谢谢。