我尝试使用来自librosa的librosa和pitch_shift。我录下了我的声音,并使用了以下代码:
sampling_rate= 44100
y, sr = librosa.load(directory, sr=sampling_rate) # y is a numpy array of the wav file, sr = sample rate
y_shifted = librosa.effects.pitch_shift(y, sr, n_steps=4, bins_per_octave=24) # shifted by 4 half steps
librosa.output.write_wav(directory, y_shifted, sr=sampling_rate, norm=False)效果很好-差不多。
我在我的新声音里听到了一些噪音(在pitch_shifting之后)
有什么需要我用的吗?
不换班:
https://vocaroo.com/i/s1qEEDvzcUHN
使用shift (n_steps = 4):
发布于 2019-08-05 17:01:22
俯仰移位通常涉及STFT,通常是沿着频率轴的幅度谱的偏移,然后通过格里芬-林-algorithm (关于格里芬-林姆工作方式的Quora-解释)进行信号重建。
问题是,当我们改变星等光谱时,我们就是这样做的,而忽略了相位!Griffin试图找到一个合理的解决方案,以找到正确的相位重构时,时域信号,但它往往只是:一个合理的解决方案,而不是一个完美的。所以你才会听到金属的刺耳声。这就是你的信号不完全正确的相位(也称为“相位”)。
我相信你对librosa的函数调用是完全正常的。这可能不是地球上最伟大的实施。让PyRubberband试一试。它基于橡胶带 (一个C++库)并有一个好名声。
https://stackoverflow.com/questions/57362543
复制相似问题