sox 일괄 변환은 .raw에서 .wav로 변환됩니다.

sox 일괄 변환은 .raw에서 .wav로 변환됩니다.

728 .raw 파일을 16khz .wav 파일로 변환하려고 하는데 다음 오류가 나타납니다.

sox FAIL 형식: 'outputdir/rawfile/b95981d1-3aa6-4d10-b755-990915951efc' 입력 파일을 열 수 없습니다. 해당 파일 또는 디렉터리가 없습니다.

내가 사용하는 스크립트는

#!/bin/bash

mkdir -p "outputdir"
for i in rawfile/*.raw; do 
    o=outputdir/${i}
    sox "$i" -r 16000 -e signed ${o%.raw} ${o%.wav}
done

스크립트는 Convert.sh에 있고 원시 파일은 rawfiles 폴더에 있습니다. 파일 구조는 다음과 같습니다

/원본/rawfiles/.rawfiles

그리고

/원본/convert.sh

.raw 파일을 16비트 16khz 모노 wav 파일로 변환하는 데 728개의 파일이 있습니다. 오류를 제거하고 파일을 변환하려면 어떤 수정을 해야 합니까?

답변1

오류 메시지에는 "입력 파일을 열 수 없습니다 xxx. 해당 파일이 없습니다"라고 표시되므로 첫 번째 단계는 다음과 같습니다.바라보다파일에 xxx실제로 존재하는지, 어떤 권한이 있는지 등을 확인하세요.

내가 추측해야 한다면: 파일 이름에 공백이 포함되어 있고 파일 이름의 첫 부분만 얻었습니다. 해결 방법: 스크립트에 따옴표를 사용하십시오.

하지만 작동하지 않는 다른 이유가 있을 수 있으며 알아내는 방법은 파일을 검사하는 것입니다. 오류 메시지가 나타나는 데에는 이유가 있습니다. :-)

관련 정보