
wav 파일을 여러 개의 10초 길이 wav 파일로 분할해야 하지만 각 결과 wav 파일은~ 해야 하다무음을 추가해야 하는 경우 길이는 정확히 10초입니다. 따라서 wav 파일의 지속 시간(초)이 10의 배수가 아닌 경우 마지막 wav 파일은 무음으로 채워져야 합니다.
나는 몇 가지 답변을 보았습니다 (1,2,삼) 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 파일을 분할하고 필요에 따라 마지막 파일을 채우는 방법이 있습니까?
답변1
파일을 분할하고 결과 파일( for i in *wav
) 을 검사한 후 if (length < 10 seconds)
채웁니다.
웨이브 파일 길이를 얻으려면:
sox --info -D file.wav
웨이브 파일을 채우세요:https://superuser.com/questions/579008/add-1-second-of-silence-to-audio-through-ffmpeg
계산을 좀 해볼 수도 있겠네요 :-)