我使用以下代码修剪,管道和连接我的音频文件。
sox "|sox audio.wav -p trim 0.000 =15.000" "|sox audio.wav -p trim 15.000" concatenated.wav
与concatenated.wav
相比,可以预期a.wav
听起来相同
但是,当两个文件同时播放时,concatenated.wav
上会有明显的音频切换。
通常这个错误是可以接受的,因为它在毫秒范围内。但是,随着管道数量的增加(例如超过100),音频移位量会大幅增加。
使用SoX修剪,管道和连接音频文件以防止出现此错误的正确方法是什么?
编辑1:使用样本而不是毫秒。仍遇到同样的问题 使用了以下代码:
sox "|sox audio.wav -p trim 0s =661500s" "|sox audio.wav -p trim 661500s" concatenated.wav
Wave文件采样率为44100hz
。样本量为16 bit
使用SoX 14-4-2
。
答案 0 :(得分:0)
问题是sox可能会在trim命令的切割点丢失一些样本。
我遇到了类似的问题并且通过不是毫秒切割来解决它,而是通过样本来解决,这当然取决于采样率。
如果您的分割点是使用过的采样率的倍数,您将不再丢失样本,并且组合的部分将具有与原始样本完全相同的长度。