如何使用ffmpeg的改变音频的节奏和音调的个性?(How to change audio temp

2019-06-25 21:48发布

我设法在我的Android项目发挥使用的ffmpeg和AudioTrack类的音频文件。 我可以使用AudioTrack类setRate方法改变音频的速度。 但它也改变声音的音高,我只想改变音频节奏,但我发现净无解。

任何人都可以请帮我在这,因为对此没有支持。

Answer 1:

解决办法:我想SoundTouch库。 我成功编译它为Android后来我没有使用它的功能,因为我不知道如何使用这个库加载音频。

但在那之后我试图库调用声波 。 它基本上是语音,因为它使用PSOLA算法中改变音高和节奏。 但没关系。



Answer 2:

您可以使用安腾普公司过滤器中的ffmpeg 1.0及更高版本:

ffmpeg -i input.wav -f:a atempo=1.25 output.wav

atempo只接受值0.5和2.0之间,但可以通过链接多个过滤器绕过限制:

ffmpeg -i input.wav -f:a atempo=2,atempo=1.5 output.wav


Answer 3:

音高和节奏都十分密切相关。 你现在要做的就是所谓的“时间伸缩”,是一个比较复杂的算法。 你可以在网上找到关于它的信息,并为它一个Java库,可以发现在这里 ,与描述过程中的纸一起。



文章来源: How to change audio tempo and pitch individuality using ffmpeg?