gpt4 book ai didi

linux - 通过命令行与背景轨道连接 MP3

转载 作者:太空宇宙 更新时间:2023-11-04 03:34:48 26 4
gpt4 key购买 nike

我已经利用了两个命令行实用程序。我使用 ffmpeg 将 m4a 转换为 mp3,然后使用 mp3wrap 将几个 mp3 合并为一个大的 mp3。生成的文件如下所示:

BackgroundMusic.mp3 > Audio1.mp3 > Audio2.mp3

我需要更多类似的东西

Audio1.mp3 > Audio2.mp3
|_____________________|
|
BackgroundMusic.mp3

到背景音乐在后台持续播放的地方。如果也能够更改每个轨道的音量,那就太好了。

有人知道像 mp3wrap 这样的命令行程序,但也可以添加背景轨道吗?

我将无法使用 Audacity 等 GUI 程序,因为所有这些都将在服务器上自动完成。

谢谢!

最佳答案

您可以单独使用 FFmpeg 来完成此操作。

ffmpeg -i input_audio1 -i input_audio2 -i input_background_audio -filter_complex "
aevalsrc=0:d=10[s1];
[0:a]volume=volume=0.1[volume0];
[1:a]volume=volume=0.1[volume1];
[2:a]volume=volume=0.1[volume2];
[s1][volume1]concat=n=2:v=0:a=1[ac1];
[volume0][ac1]amix=inputs=2[amixed1];
[amixed1][volume2]amix=inputs=2:duration=first" output_audio

您需要使用filter_complex链接所有要用于调整音量、静默空间、连接等过滤器的过滤器。

第一步,您可以连接两个需要依次播放的音频文件。为此,我首先使用 aevalsrc 创建了静音音频。过滤器的持续时间与第一个音频剪辑相同。然后使用concat过滤器以连接无声音频和第二个音频。为了调整音频,我使用了 volume筛选。您可以相应地调整音量值。要混合音频,您可以使用 amix筛选。您可以指定 duration 属性来获取第一个输入,即 [amixed1] 持续时间。使用该选项,您可以停止持续时间为audio1+audio2的整个音频,而无需在背景音频持续时间的整个持续时间内播放它。

希望这有帮助!

关于linux - 通过命令行与背景轨道连接 MP3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31993907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com