처음 15초를 추출하고 폴더에 있는 여러 파일의 이름을 바꾸는 SOX 배치 스크립트 만들기

처음 15초를 추출하고 폴더에 있는 여러 파일의 이름을 바꾸는 SOX 배치 스크립트 만들기

10-15초 분량의 오디오를 추출해야 하는 여러 MP3 파일이 포함된 폴더가 있습니다. 또한 example-(name).mp3를 추가하여 변환된 파일의 이름을 바꾸고 싶습니다.

쉘 스크립트를 통해 이 작업을 어떻게 수행합니까?

답변1

이를 사용하고 싶거나 사용해야 하는 경우 sox다음 명령을 사용할 수 있습니다 trim.

for i in *.mp3
do 
  sox "$i" sample-"$i" trim 0 10
done

명령줄 유틸리티를 사용하여 분할을 수행할 수도 있습니다.mp3splt. 출력 파일을 명시적으로 설정하여 -o원본 파일을 건드리지 않고 완료되면 삭제하기만 하면 됩니다. 이를 통해 파일에 정의된 태그를 출력 이름에 통합할 수 있습니다 sox(지금은 필요하지 않은 것 같습니다).

for i in *.mp3
do 
  mp3splt "$i" 00.00.00 00.10.00 -o sample-"${i%.mp3}"
done

이는 출력 이름에 레이블 요소를 포함하기 위해 -o기반 지시문과 함께 자주 사용됩니다.@그리고 추가.mp3. 당신이 없으면 당신은 파일을 ${i%.mp3}얻을 것입니다 ..mp3.mp3

시간은 지점으로 구분되어 있으므로 사용하지 마십시오. :분할 지점이 충분하지 않다는 별 도움이 되지 않는 오류 메시지가 표시됩니다.

스크립트가 작동하는지 테스트할 때까지 입력 파일을 삭제하지 않습니다. 또한 도중에 중지하거나 나중에 파일을 추가하는 경우 sample-먼저 파일을 삭제하지 않으면 다시 실행할 수 없으므로 주의하세요. sample-...콘텐츠를 별도로 유지하려면 사전에 디렉터리를 지정해야 할 수도 있습니다 .

관련 정보