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

我有 728 个文件需要将 .raw 文件转换为 16 位 16khz 单声道 wav 文件。我必须进行哪些修改才能消除错误并转换文件?

答案1

错误消息显示“无法打开输入文件xxx:没有这样的文件”,因此第一步是查看文件xxx并查看它是否确实存在,它具有什么权限等等。

如果我不得不猜测:文件名包含空格,而您只得到了文件名的第一部分。解决方案:在脚本中使用引号。

但是它无法工作的原因可能还有其他,而找出原因的方法是检查文件。错误消息的存在是有原因的。:-)

相关内容