Linux命令延长音频文件的持续时间
Posted
技术标签:
【中文标题】Linux命令延长音频文件的持续时间【英文标题】:Linux command to extend the duration of audio files 【发布时间】:2010-11-06 19:06:18 【问题描述】:我有一个网络应用程序,可以让人们制作音效。有时声音效果的长度小于 0.55 秒。在这种情况下,它们可能无法在 Chrome 浏览器中正常播放。我想知道一个命令行音频处理实用程序,它可以让我用空虚填充短于 0.55 秒的声音,以将声音持续时间增加到至少 0.55 秒。
我研究过 Audacity 批处理,但不知道如何在命令行上使用它。我也研究过使用 sox,但找不到将声音延长到最短持续时间的选项。
【问题讨论】:
【参考方案1】:使用
sox -n silence.wav trim 0.55
生成一个 0.55 秒长的静音文件。
然后
sox -m -v 1 yourfile.wav silence.wav -t wav outfile
【讨论】:
【参考方案2】:发出 0.55 秒的无声 wav。然后将其与您的文件连接起来。它将有超过 0.55 秒......所以你可能想剪掉它。
sox yourfile.wav silence.wav outfile.wav trim 0 0.55
编辑:它似乎可以使用 -n 作为文件名来产生静音。所以它看起来像:
sox yourfile.wav -n outfile.wav trim 0 0.55
如果 yourfile.wav 的采样率与 48000 不同,则您也需要以该速率生成静音才能使串联工作:
sox yourfile_at_44100.wav -r 44100 -n outfile.wav trim 0 0.55
如果您只想对实际小于 0.55 的文件执行此操作,您可能需要通过使用 soxi
检查它们的持续时间来过滤它们。
【讨论】:
我怎么知道要剪多少?我不想剪切音频的任何非静音部分。 @Daniel X Moore:这就是我写关于 soxi 的原因:您只需要对短于 0.55 秒的文件执行此操作。应该使用带有一些 grep/awk 来检查条件的 shell 循环。 请举例?我认为混合技术是更简单的方法,因为它适用于任何文件长度。 @Daniel X Moore:是的,现在我也这么认为。【参考方案3】:检查SoX 你应该能够做到这一点。它是一个音频工具包(多平台)。首先在声音的末尾添加足够的静音,然后剪掉适当的部分。
【讨论】:
以上是关于Linux命令延长音频文件的持续时间的主要内容,如果未能解决你的问题,请参考以下文章