Với ffmpeg, bạn có thể sử dụng bộ lọc aevalsrc để tạo sự im lặng và sau đó trong lệnh thứ hai sử dụng giao thức concat để kết hợp chúng một cách dễ dàng:
ffmpeg -filter_complex aevalsrc=0 -t 10 10SecSilence.mp3
ffmpeg -i "concat:input.mp3|10SecSilence.mp3" -c copy output.mp3
Bạn có thể kiểm soát độ dài của sự im lặng bằng cách thay đổi -t 10
thành bất cứ lúc nào trong vài giây bạn muốn. Tất nhiên, bạn chỉ cần tạo khoảng lặng một lần, sau đó bạn có thể giữ tệp xung quanh và sử dụng nó để đệm từng tệp bạn muốn. Bạn cũng có thể muốn tìm kiếm bộ giải mã concat - nó chuyên sâu hơn một chút về bộ xử lý, nhưng bạn có thể thấy việc thả vào tập lệnh shell dễ dàng hơn.
Nếu bạn muốn thực hiện nó trong một lệnh duy nhất, bạn có thể sử dụng bộ lọc concat - điều này sẽ yêu cầu bạn mã hóa lại âm thanh của bạn (vì các bộ lọc không tương thích với -codec copy
), vì vậy tùy chọn ở trên có thể sẽ phù hợp nhất với bạn. Nhưng điều này có thể hữu ích cho bất kỳ ai làm việc với PCM thô, muốn thêm khoảng lặng vào cuối trước khi mã hóa âm thanh:
ffmpeg -i input.mp3 \
-filter_complex 'aevalsrc=0::d=10[silence];[0:a][silence]concat=n=2:v=0:a=1[out]' \
-map [out] -c:a libmp3lame -q:a 2 output.mp3
Kiểm soát độ dài của khoảng lặng bằng cách thay đổi d=10
thành bất kỳ thời gian nào (tính bằng giây) bạn muốn. Nếu bạn sử dụng phương pháp này, bạn có thể thấy hướng dẫn mã hóa MP3 FFmpeg này hữu ích.