我需要帮助弄清楚如何使用librosa package拉伸0.25到1秒的样本。我认为librosa.effects.time
_ stretch是一个这样做的函数,但它不是拉伸信号,而是做其他事情。应用它或其他librosa
或numpy
函数(或pydub
)的正确方法是什么?
这是我尝试使用16 KHz采样率,即在0.25秒的时间周期内给出4K样本。作为输出,我需要16K样本持续1秒的持续时间,保持采样率恒定。
import numpy as np, librosa
x = np.sin(np.linspace(-np.pi, np.pi, 4000)) # wav sample
y = librosa.effects.time_stretch(x, rate=4000/16000)
plt.plot(x) # plotted in blue
plt.plot(y) # plotted in orange
产生以下图:
值得注意的是,正弦信号未被拉伸。我用sin()作为例子。目的是拉伸语音音频wav文件,其中分析功能未知。