【发布时间】:2012-07-19 09:24:12
【问题描述】:
免责声明:请原谅我对音频/声音处理的无知,我的背景是 Web 和移动开发,这是我的一位客户的定制要求!
我需要连接 4 个音频文件,并在所有 4 个音频文件后面播放背景音轨。可以以任何格式创建源音频文件,或对其进行任何处理,以提高处理时间,但输出质量仍然很重要。为清楚起见,输入文件可以命名如下(.wav 只是一个示例格式):
- background.wav
- segment-a.wav
- segment-b.wav
- segment-c.wav
- segment-d.wav
并且需要这样的结构:
[------------------------------background.wav------------------------------]
[--segment-a.wav--][--segment-b.wav--][--segment-c.wav--][--segment-d.wav--]
我已经设法使用SoX 工具使用 MP3 文件实现上述连接部分,但在一台相当快的计算机上,我每分钟处理大约一个小时的连接音频,这不是速度足以满足我的要求,而且我还没有应用背景声音或任何“不错的东西”,例如修剪/褪色。
我的问题是:
- SoX 是此类操作的最佳/唯一工具吗?
- 有没有什么方法可以在不牺牲(太多)质量的情况下加快流程?
- 更改输入文件格式会提高性能吗?如果是,哪种格式最好?
非常感谢来自这个优秀社区的任何建议!
【问题讨论】:
-
尝试找出性能问题的瓶颈。很可能,慢的不是 sox,而是你的硬盘。或编码/解码过程。在这两种情况下,我认为修剪/淡化不会增加太多开销。
-
感谢您回复 umlaeute。我正在最新的 Macbook Air (SSD) 上进行开发,所以我怀疑硬件不太可能是问题所在。您能否详细说明您提到的编码/解码过程?我想知道 SoX 是否必须对我正在使用的示例 MP3 进行处理才能与它们一起使用,这会增加开销 - 这就是为什么我询问更改输入文件格式是否有帮助的原因。
标签: performance audio command-line concatenation sox