FFMPEG改变音调频率,保持长度(改变音高音频)

14

我该如何改变音调频率

这个例子仅通过保留原有的音调频率并只缩短文件长度来实现。

例如,我有一个恒定的100赫兹音调(以mp3格式),我想将其改为90赫兹。

 ffmpeg -i 100h.mp3 -af atempo=100/90 90h.mp3

这个例子对我不起作用,听起来一样

输入文件 Mp3
输出文件 Mp3

2个回答

21

最终,通过将Gyan的asetrateresampleatempo结合起来,以下操作可以实现并且也保留了音频长度

例如:使用0.9代表90%的频率

 ffmpeg -i test.mp3 -af asetrate=44100*0.9,aresample=44100,atempo=1/0.9 output.mp3

如何?1.1是从哪里来的?它是指1/0.9吗? - theonlygusti
是的,你也可以使用1/2(0.5)表示它的一半,或者2/1(2)表示它的两倍。 - dazzafact
为什么你没有使用更多的小数点呢?1.1是对0.9的倒数相当不准确的近似值。 - theonlygusti

9

基本方法是:

ffmpeg -i 100h.mp3 -af asetrate=44100*0.9,aresample=44100 90h.mp3

其中44100应替换为输入采样率。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接