Sox:使用pad合并两个音频文件

zop*_*eux 7 audio merge delay pad sox

我正在使用该sox工具,我想合并两个音频文件,让我们说long.oggshort.ogg输出一个文件output.ogg.这很容易使用$ sox -m long.ogg short.ogg output.ogg.

事情是,我想short.oggn秒后打(而long.ogg应该从一开始就启动).为此,我找到了效果.但我不理解只延迟short.ogg输入文件的语法,而不是延迟输入文件的语法long.ogg.

我找到了一种(脏)方式(n = 6):

$ sox short.ogg delayed.ogg pad 6
$ sox -m long.ogg delayed.ogg output.ogg
Run Code Online (Sandbox Code Playgroud)

我不想创建一个中间文件.在此先感谢您的帮助.

icy*_*com 7

你应该可以这样做:

sox short.ogg -p pad 0 6|sox - long.ogg output.ogg
Run Code Online (Sandbox Code Playgroud)

-psox的选项用于管道 - 基本上,它告诉sox使用stdout作为输出.使用-作为第二个sox的输入实际上是说输入是stdin(恰好是前一个sox的标准输出,正如我们所说的那样|).pad 0 6告诉垫在开始时0秒,在结束时6秒.

希望这可以帮助.


zop*_*eux 7

感谢icyrock,我设法找到了解决方案.我正在使用:

$ sox short.ogg -p pad 6 0 | sox - -m long.ogg output.ogg
Run Code Online (Sandbox Code Playgroud)

对于多曲目(奥兰多学分):

$ sox starts-last.mp3 -p pad 2 0 | sox - -m starts-second.mp3 -p pad 2 0 | sox - -m starts-first.mp3 combined.mp3
Run Code Online (Sandbox Code Playgroud)

  • 如何使用多个轨道?3,4,5轨道 (2认同)