Tôi có các tệp MP3 đôi khi bị tắt tiếng ở cuối. Tôi muốn tự động loại bỏ sự im lặng này. Từ những gì tôi có thể nói, nó là "hoàn hảo" im lặng (0 biên độ), không phải là tiếng ồn xung quanh. Độ dài của nội dung và độ im lặng thay đổi.Làm cách nào để tôi có thể xóa im lặng khỏi MP3 theo cách lập trình?
Tôi đã tìm thấy một số câu hỏi khác về cropping to the first 30 seconds hoặc cropping to X and X+N seconds sử dụng ffmpeg
. Tôi nghĩ rằng tôi có thể sử dụng một cách tiếp cận tương tự, miễn là tôi có một cách để tìm thấy khi sự im lặng bắt đầu. Làm thế nào tôi sẽ làm điều đó một cách có lập trình?
Ví dụ, một giải pháp có thể là có lệnh tìm phần đầu của "im lặng". Tôi mong đợi một chuỗi như thế này
end=$(ffmpeg some-command-to-find-start-of-silence)
ffmpeg -t "$end" -acodec copy -i inputfile.mp3 outputfile.mp3
Các giải pháp thực hiện không phải sử dụng ffmpeg
, nhưng nó cần phải có sẵn trên Ubuntu.
Bạn thực sự chỉ quan tâm đến sự im lặng hoàn hảo? Điều đó rất hiếm, với phối màu từ các bậc thầy 24 bit và nén mất dữ liệu.FFMPEG là con đường để đi, trong mọi trường hợp. – Brad
@Brad Về cơ bản, chúng tôi đang xử lý lỗi trong dịch vụ ghi âm mà chúng tôi sử dụng. Dường như luôn luôn cho sự im lặng "hoàn hảo" này khi vấn đề xảy ra. –
Có vẻ như bạn có thể quan tâm đến bộ lọc âm thanh ['silencedetect' FFmpeg] (http://ffmpeg.org/ffmpeg.html#silencedetect). – blahdiblah