Audio

將 wav 文件拆分為等長的部分,如果需要,用靜音填充

  • January 28, 2021

我需要將 wav 文件拆分為多個 10 秒長的 wav 文件,但每個生成的 wav 文件的長度必須恰好為 10 秒,如果需要,可以添加靜音 - 所以如果 wav 文件的持續時間(以秒為單位)不是 10 的倍數,最後一個 wav 文件應該用靜音填充。

我已經看到了一些答案(123),它們展示瞭如何使用 sox 和 ffmpeg 將文件拆分為等長的塊:

$ ffmpeg -i file.wav -f segment -segment_time 10 -c copy out%03d.wav
$ sox file.wav output-.wav trim 0 10 : newfile : restart            

但是這些命令生成的最後一個文件通常少於 10 秒。有沒有辦法在同一個命令中拆分 wav 文件,如果需要,填充最後一個文件?

拆分文件,檢查生成的文件 ( for i in *wav) if (length < 10 seconds),填充它們。

也許做一些計算:-)

引用自:https://unix.stackexchange.com/questions/631293