使用 Sox 混合和修剪 2 个文件
Posted
技术标签:
【中文标题】使用 Sox 混合和修剪 2 个文件【英文标题】:Mix and trim 2 files with Sox 【发布时间】:2020-02-05 09:30:05 【问题描述】:我需要一点帮助,希望能在这里找到。
当用户上传文件时,我正在使用 sox 在我的服务器上用语音标签标记一些音乐。这是我正在使用的命令。一切正常。
sox -m voice_tag_loop source_file output_file
现在我想改变一些东西,但不知道该怎么做并且找不到解决方案。
因此voice_tag_loop
将由用户上传,并且可以具有所有长度,例如30 秒、20 秒、17 秒或 1 分钟。以前不知道。
source_file
是音乐文件,也可以有不同的长度,例如3:13 分钟,4:20 分钟
我怎样才能将voice_tag_loop
与output_file
的长度为source_file
但voice_tag_loop
混合并循环/重复到也与@ 的长度一样长的source_file
混合987654329@
我希望我能解释一下,你能理解。
最好的问候
【问题讨论】:
【参考方案1】:重复直到源文件用完,例如:
sox -m "| sox voice_tag_loop -p repeat -" source_file trim 0 $(soxi -d source_file)
注意,不要忘记trim
位,否则重复部分会生成无限文件。
【讨论】:
感谢您的帮助,但它不起作用。我找到了一个命令 sox short.mp3 -p repeat | sox - -m long.mp3 output.mp3 可以,但现在应该有 long.mp3 的最大重复时间【参考方案2】:好的,我现在已经找到了所有你想要混合短音频和长音频的答案,并且只要长音频是,短音频应该重复。
在我的例子中是一个简短的描述。短文件将更改为 44.1kHz,每 30 秒循环一次。最多 100 次,但只要长文件是。最后两个文件将混合在一起。这都是一个过程。
sox short_file -r 44.1k -p pad 0 30 重复 100 修剪 0 $(sox --i -d long_file) | sox - -m long_file output_file
问候
【讨论】:
以上是关于使用 Sox 混合和修剪 2 个文件的主要内容,如果未能解决你的问题,请参考以下文章