在java中改变音频速度

时间:2011-06-18 18:24:41

标签: java performance audio playback

我无法在java应用中更改音频速度。我可以使用Java的声音API和一些插件有效地加载mp3,但我无法改变速度。我试图改变采样率,但这会影响音高和速度。有谁知道改变速度的方法?或者有谁知道如何改变球场?我考虑过改变采样率,而不是在我将音高改为歌曲的正常音高之后。

1 个答案:

答案 0 :(得分:1)

您可以使用声音的频谱表示来实现所有这些。更改采样率确实会影响音高,因此您可以保持采样率不变。对初始声音信号进行傅里叶变换,然后您可以根据需要在频谱中上下移动频率。完成后,执行逆傅里叶变换以获得“可播放的”音频数据。对于长音频流,将数据分成块并确保应用窗口和重叠处理的数据,在其他地方,您将听到块边界处的咔嗒声,因为它们在频率操作后不会无缝地粘住。