如何修改声音文件Java的音高?

如何修改声音文件Java的音高?,java,audio,io,mp3,pitch-shifting,Java,Audio,Io,Mp3,Pitch Shifting,我有一个声音文件,我想修改音高。该文件存储在MP3中。我在互联网上搜索过,但没有找到任何可以让我修改音高的库或算法 任何示例和/或文献都将不胜感激您的问题并不清楚您是否只想更改播放速度(就像转盘上的音量控制器一样),或者您是否想更改音调而不影响播放速度。如果是后者,则需要使用时间拉伸/俯仰移动算法。见: 在任何情况下,您都必须首先将MP3解码为PCM音频。此线程可能会给您一些提示: 关于在Java中进行音高变换,这里有更多信息: 从您的问题中不清楚您是只想更改播放速度(就像转盘上的音量控制器那

我有一个声音文件,我想修改音高。该文件存储在MP3中。我在互联网上搜索过,但没有找到任何可以让我修改音高的库或算法


任何示例和/或文献都将不胜感激

您的问题并不清楚您是否只想更改播放速度(就像转盘上的音量控制器一样),或者您是否想更改音调而不影响播放速度。如果是后者,则需要使用时间拉伸/俯仰移动算法。见:

在任何情况下,您都必须首先将MP3解码为PCM音频。此线程可能会给您一些提示:

关于在Java中进行音高变换,这里有更多信息:


从您的问题中不清楚您是只想更改播放速度(就像转盘上的音量控制器那样),还是想在不影响播放速度的情况下更改音调。如果是后者,则需要使用时间拉伸/俯仰移动算法。见:

在任何情况下,您都必须首先将MP3解码为PCM音频。此线程可能会给您一些提示:

关于在Java中进行音高变换,这里有更多信息:


我找不到字节[]的实现。我找到的解决方案是纯正弦波,我不知道如何从byte[]或targetDataLine中提取。我很确定soundtouch有一个java实现。我找不到一个字节[]的实现。我找到的解决方案是纯正弦波,我不知道如何从byte[]或targetDataLine中提取。我很确定soundtouch有一个java实现。