在Web服务器上组合音频文件的最快方法是什么?

时间:2012-07-19 09:24:12

标签: performance audio command-line concatenation sox

免责声明:原谅我对音频/声音处理的无知,我的背景是网络和移动开发,这是我的一个客户的定制要求!

我需要连接4个音频文件,背景音轨在所有4个音频文件后面播放。源音频文件可以以任何格式创建,或者应用任何处理,以改善处理时间,但输出质量仍然很重要。为清楚起见,输入文件可以如下命名(.wav只是一个示例格式):

  • background.wav
  • 段a.wav
  • 段b.wav
  • 段c.wav
  • 段d.wav

并且需要像这样结构化:

[------------------------------background.wav------------------------------]
[--segment-a.wav--][--segment-b.wav--][--segment-c.wav--][--segment-d.wav--]

我已经设法使用SoX工具来实现上述串联部分使用MP3文件,但在一台速度相当快的计算机上,我每分钟处理大约需要一小时的串联音频,这不是我的要求足够快,而且还没有应用背景声音或任何“好看的东西”,如修剪/褪色。

我的问题是:

  • SoX是这种操作的最佳/唯一工具吗?
  • 有没有办法让这个过程更快而不牺牲(太多)质量?
  • 更改输入文件格式会改善性能吗?如果是这样,哪种格式最好?

非常感谢来自这个优秀社区的任何建议!

1 个答案:

答案 0 :(得分:0)

  1. Sox可能不是最好的工具,但我怀疑如果没有手工编码,你会发现更好的东西。
  2. 我敢冒昧地猜测你在那个时候处理那么多的音频做得很好。你可能会做得更好,但你必须进行实验。你是对的,提高速度的主要方法可能是改变文件格式。
  3. MP3和OGG 可能会为您提供类似的性能,因此首先要确定MP3与未压缩音频的比较,例如wav或aiff。如果MP3 / OGG更好,请尝试不同的压缩比和采样率,看看哪个更快。使用wav文件,您可以尝试降低采样率(您也可以使用MP3 / OGG执行此操作)。如果这是语音,你可能会低至8kHz,这应该会大大加快速度。对于音乐,我会说32kHz,但这取决于要求。此外,尝试单声道而不是立体声,这也应该加快速度。