如何使用sox将.sph文件批量转换为.wav

Lau*_*ura 5 batch-file sox batch-processing

我有一个包含许多文件夹的目录,其中包含数百个.SPH文件.我需要将所有.SPH文件转换为.wav格式.我采用了以下代码:

cd %~dp0
mkdir converted
FOR %%A IN (%*) DO sox -t raw -s -2 -r 22050 -c 2 %%A "converted/%%~nA.wav"
pause
Run Code Online (Sandbox Code Playgroud)

但是,它在Windows 7上没有任何作用.当我在一些文件夹中尝试CMD上的代码时,某些.SPH是:

sox*.SPH output.wav

它将所有*.SPH嵌入到output.wav文件中,这不是我想要的.我需要name1.SPH到name1.wav,name2.SPH到name2.wav

请帮忙.

Kaz*_*zan 6

对于Linux,请考虑以下事项:

for f in *.SPH; do sox -t sph "$f" -b 16  -t wav "${f%.*}.wav"; done
Run Code Online (Sandbox Code Playgroud)


End*_*oro 0

for %%a in (*.sph) do sox "%%~a" "%%~na.wav"
Run Code Online (Sandbox Code Playgroud)

  • 和?您为什么不发布完整的工作答案和详细信息? (7认同)