![sox 일괄 변환은 .raw에서 .wav로 변환됩니다.](https://rvso.com/image/1554871/sox%20%EC%9D%BC%EA%B4%84%20%EB%B3%80%ED%99%98%EC%9D%80%20.raw%EC%97%90%EC%84%9C%20.wav%EB%A1%9C%20%EB%B3%80%ED%99%98%EB%90%A9%EB%8B%88%EB%8B%A4..png)
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
실제로 존재하는지, 어떤 권한이 있는지 등을 확인하세요.
내가 추측해야 한다면: 파일 이름에 공백이 포함되어 있고 파일 이름의 첫 부분만 얻었습니다. 해결 방법: 스크립트에 따옴표를 사용하십시오.
하지만 작동하지 않는 다른 이유가 있을 수 있으며 알아내는 방법은 파일을 검사하는 것입니다. 오류 메시지가 나타나는 데에는 이유가 있습니다. :-)