windows下利用sox批量将PCM转为WAV

1 说明

在做语音处理时,需要批量将pcm的裸数据转为wav格式,我们班的女孩子一开始是一个一个手动转换,大约有8万条吧,再一次证明了女人狠起来是真的狠。求助了我,我弄了一个批处理文件给她。
在这里插入图片描述

2 实现

新建txt文件,命名为twk_PcmToWav.txt,将以下内容复制进去后,修改后缀为bat。

echo off & color 0A
::指定起始文件夹
set DIR="C:\Users\fylal\OneDrive\FangYan\FangYanDate\changsha\changsha\train"
echo DIR=%DIR%
:: 参数 /R 表示需要遍历子文件夹,去掉表示不遍历子文件夹
:: %%f 是一个变量,类似于迭代器,但是这个变量只能由一个字母组成,前面带上%%
:: 括号中是通配符,可以指定后缀名,*.*表示所有文件
for /R %DIR% %%f in (*.pcm) do ( 
echo %%f
wtcsox.exe -t raw -c 1 -e signed-integer -b 16 -r 16000 %%f %%f.wav
::ffmpeg -i %%f -f s16le -y -ar 16000 -ac 1 %%f.wav
del %%f
)
pause

其中路径可以随意修改。

还需要用到的工具是wtcsox.exe,由于原始的sox工具在Windows下的一些链接库问题,我们团队自己加入了链接库,最终生成wtcsox.exe,将其添加在windows的环境变量中。
wtcsox.exe在这里:

链接:https://pan.baidu.com/s/1KgguI7qJE-Jz1Hkow-Ybcw 
提取码:3qyz 
复制这段内容后打开百度网盘手机App,操作更方便哦

以上工作做好以后直接点击twk_PcmToWav.bat,但生成的文件是含fileName.pcm.wav,这时需要用到下面这条命令

ren *.wav *.& ren *.pcm *. &ren *. *.wav

切换到音频所在目录下的cmd,将命令复制回车就可以。注意这条命令不能识别子目录,只能在语音文件所在目录下运行。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐维康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值