希望使用 Win 命令行将 wav 文件合并在一起。我需要从 wav 文件中取出不同的时间/样本开始/结束部分并将它们合并到一个新文件中。我正在查看 SoX,但不确定它是否可以做到这一点,它很好,因为它可以在需要时进行音调和节奏调整。我将编写一个脚本,该脚本将从源 wav 文件中挑选所需的多个部分并写入表格,然后将其发送到命令行。
答案1
例如,一首长歌以两节歌词开始,这两节歌词的开始时间(例如,通过使用带有修剪(开始)效果的播放命令来确定)分别为 0:30.125 和 1:03.432。以下命令
sox too-long.wav part1.wav trim 0 30.130
(5 ms excess, after the first verse starts)
sox too-long.wav part2.wav trim 1:03.422
(5 ms excess plus 5 ms leeway, before the second verse starts)
sox part1.wav part2.wav just-right.wav splice 30.130
trim {position(+)} 剪切音频中的部分内容。可以指定任意数量的位置;在到达第一个位置之前,音频不会发送到输出。然后,效果会在每个位置交替复制和丢弃音频。使用 0 作为第一个位置参数的值允许从音频的开头复制。例如,
sox infile outfile trim 0 10 (start sec length secs)
将复制前十秒
sox short.wav long.wav longer.wav
连接两个音频文件。