首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用sox批量将.sph文件转换为.wav

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

Stack Overflow用户
提问于 2013-09-04 18:16:48
回答 4查看 14.5K关注 0票数 6

我有一个包含数百个.SPH文件的文件夹的目录。我需要将所有.SPH文件转换成.wav格式。我采用了下列守则:

cd %~dp0 mkdir转换为%A IN (%*)进行sox -t原始-s -2 -r 22050 -c 2%A“转换/%%nA.wav”暂停

但是,它在Windows 7上什么也不做。当我在一个文件夹中尝试CMD上的代码时,其中一些.SPH是:

sox *.SPH output.wav

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

请帮帮忙。

EN

回答 4

Stack Overflow用户

发布于 2017-07-23 06:29:00

对于Linux,请考虑如下:

代码语言:javascript
复制
for f in *.SPH; do sox -t sph "$f" -b 16  -t wav "${f%.*}.wav"; done
票数 6
EN

Stack Overflow用户

发布于 2013-10-07 18:01:46

在Windows 7中,我需要为目标文件提供整个路径,而且即使我是以管理员身份运行的,mdkir命令也得到了一个权限错误,所以预先创建目标目录并删除mkdir命令,然后您的SOX命令应该与此类似(根据您试图完成的转换或编辑使用自己的标志):

代码语言:javascript
复制
FOR %%A IN (%*) DO sox  -t raw -e mu-law -c 1 -r 8000 %%A c:\converted\%%~nA.wav

cmd文件不应位于文件所在的文件夹中,而应位于安装SOX的文件夹中,然后将要转换的文件拖动到cmd (或bat)文件中。

票数 3
EN

Stack Overflow用户

发布于 2013-09-04 19:35:05

代码语言:javascript
复制
for %%a in (*.sph) do sox "%%~a" "%%~na.wav"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18621041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档