sox 批量從 .raw 轉換為 .wav

sox 批量從 .raw 轉換為 .wav

我正在嘗試將 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並查看它是否確實存在,它具有什麼權限等。

如果我必須猜測:檔案名稱包含空格,並且您只得到檔案名稱的第一部分。解決方案:在腳本中使用引號。

但可能還有其他原因導致它不起作用,找出原因的方法是檢查文件。錯誤訊息的出現是有原因的。 :-)

相關內容