我正在尝试在 ruby 中组合两个或多个音频文件。我不需要连接文件,而是合并或合并它们。例如,如果我有一个音频文件是一首歌的吉他部分,一个音频文件是贝司部分,我想合并这两个文件,并有一个包含吉他和贝司部分的文件。
这可能吗,如果可以的话,有人能指出我正确的方向吗?谷歌搜索没有多大帮助。
存在sox
可以帮助您的 Unix 工具。不幸的是,没有好的 ruby 包装器。我发现两个已经过时了:
在 shell 中,您可以轻松地将这些文件与 sox 命令合并,如下所示:
sox -m ./bass.mp3 ./guitar.mp3 ./rock-n-roll.mp3
因此,您可以通过包装 shell 命令在 Ruby 中执行此操作,例如:
def merge_sounds(file1, file2, output_file)
system "sox -m #{file1} #{file} #{output_file}"
end