【问题标题】:Merge 2 audio files in sox在 sox 中合并 2 个音频文件
【发布时间】:2012-02-26 20:50:10
【问题描述】:

我正在尝试将 2 个波形文件合并为一个文件。这两个文件应该在新文件的开头开始播放。与声音长度无关。运行以下命令不会给我这个结果。

  sox -M new_input.wav myrecording.wav output_test.aiff

还有其他方法可以通过 sox 或其他命令行库来实现吗?

【问题讨论】:

    标签: merge sox


    【解决方案1】:

    只需更改-M with -m

    -M = merge
    -m = mix
    

    【讨论】:

    • 你知道有什么选项可以让它停在最短文件的末尾吗?
    【解决方案2】:

    对于像 Calmarius 要求的情况:

    sox -m in1.wav in2.wav out.wav trim 0 `soxi -D in1.wav`
    

    这在 in1.wav 的长度处停止,对于您知道较短的情况。否则只需添加一个比较器。

    【讨论】:

    • soxi -D in1.wav的作用是什么?
    • soxi -D in1.wav 以秒为单位输出 in1.wav 的长度。但是,要在 mix 命令中运行此命令,您需要使用:sox -m in1.wav in2.wav out.wav trim 0 "$(soxi -D in1.wav)"
    • 有没有办法让它重复较短的文件持续较长的时间?
    【解决方案3】:

    嘿嘿。抱歉回复晚了=) 命令应该是这样的

    sox file1 file2 file3
    

    上面将合并前两个文件,并在第三个之后命名。

    您可能还想查看文档 http://sox.sourceforge.net/sox.html

    【讨论】:

    • 这将连接两个文件,而不是合并它们(如果通过合并我们谈论同时播放两个或多个文件)
    • 碰巧我需要连接,这对我有帮助。谢谢。
    【解决方案4】:

    'soxi -D in1.wav' 获取文件长度(in1.wav)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-02
      相关资源
      最近更新 更多