![sox 批量從 .raw 轉換為 .wav](https://rvso.com/image/1554871/sox%20%E6%89%B9%E9%87%8F%E5%BE%9E%20.raw%20%E8%BD%89%E6%8F%9B%E7%82%BA%20.wav.png)
我正在嘗試將 728 .raw 文件轉換為 16khz .wav 文件,但收到以下錯誤
sox 失敗格式:無法開啟輸入檔 `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
我有 728 個檔案可將 .raw 檔案轉換為 16 位元 16khz 單聲道 wav 檔案。我需要進行哪些修改才能消除錯誤並轉換檔案?
答案1
錯誤訊息顯示“無法開啟輸入檔xxx
:沒有這樣的檔案”,所以第一步是去看at 檔案xxx
並查看它是否確實存在,它具有什麼權限等。
如果我必須猜測:檔案名稱包含空格,並且您只得到檔案名稱的第一部分。解決方案:在腳本中使用引號。
但可能還有其他原因導致它不起作用,找出原因的方法是檢查文件。錯誤訊息的出現是有原因的。 :-)