큰 wav 파일을 작은 부분으로 분할

큰 wav 파일을 작은 부분으로 분할

나는 많은 수의 wav 파일(50,000개 이상)을 가지고 있으며 각 wav 파일을 10초 길이의 부분으로 분할해야 합니다.

이 작업을 하나씩 수행하는 것은 거의 불가능합니다. 그래서 제 질문은: ffmpeg(또는 sox)에서 이 작업을 어떻게 수행할 수 있습니까?

답변1

이것은 다음에서 언급됩니다 man sox.

입력 파일을 길이가 30초인 여러 파일로 분할합니다. 각 출력 파일 이름에는 출력 파일 섹션에 설명된 대로 이름에 고유 번호가 있습니다.

sox infile.wav output.wav trim 0 30 : newfile : restart

따라서 wav 파일이 디렉토리 아래에 있고 ~/myfiles분할 버전을 만들고 싶다고 가정 ~/split하면 할 수 있습니다.

mkdir ~/split
cd ~/myfiles
find . -name '*.wav' \
 -exec sh -c 'mkdir -p ~/split/$(dirname "{}")' \; \
 -exec sox {} ~/split/{}  trim 0 10 : newfile : restart \;

관련 정보