在java中更改音频速度

在java中更改音频速度,java,performance,audio,playback,Java,Performance,Audio,Playback,在java应用程序中更改音频速度时遇到问题。我可以使用Java的sound API和一些插件有效地加载mp3,但我不能改变速度。我试图改变采样率,但这会影响音高和速度。有人知道只改变速度的方法吗?或者有人知道我如何改变音高吗?我考虑过改变采样率,然后再将音高更改为歌曲的正常音高。使用声音的光谱表示可以实现所有这些。更改采样率确实会影响音高,因此请保持采样率不变。对初始声音信号进行傅里叶变换,然后可以根据需要在频谱中上下移动频率。完成后,执行傅里叶逆变换以获得“可播放”的音频数据。对于长音频流,请

在java应用程序中更改音频速度时遇到问题。我可以使用Java的sound API和一些插件有效地加载mp3,但我不能改变速度。我试图改变采样率,但这会影响音高和速度。有人知道只改变速度的方法吗?或者有人知道我如何改变音高吗?我考虑过改变采样率,然后再将音高更改为歌曲的正常音高。

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

我们可以获得一些代码吗请。。。对于AudioInputStream:)