精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
手机:138-0381-0136
Q Q:396806883
微信:ryysoft
sox擅长处理音频数据,比喻为音频界的瑞士军刀。锐英源在语音识别项目里使用了它,在Linux和Windows下都使用了sox,觉得很方便,不过因为是开源的,有细节上也不好用。
在语音识别项目里,Wav文件的采集频率一般是16000,有时候有些录制软件录制成其它频率,就用sox转非常方便。另外sox能提到音频特征信息。
sox常用是集成到脚本文件里,对大批量文件一起处理,脚本开发难度相对比写界面和调用命令语句要简单的多,sox这种工作模式大家要掌握。
在win下安装sox后,目录文件如下图:
其中sox.exe是主文件,不带界面。pdf是帮助。readme里有基本的说明。重要的是batch-example.bat,这是个典型的批处理文件示例,示例的代码如下:
rem Example of how to do batch processing with SoX on MS-Windows.批处理示例 rem rem Place this file in the same folder as sox.exe (& rename it as appropriate).需要放到sox.exe同目录下用, rem You can then drag and drop a selection of files onto the batch file (or找文件集 rem onto a `short-cut' to it). rem rem In this example, the converted files end up in a folder called `converted',转到converted目录下 rem but this, of course, can be changed, as can the parameters to the sox,参数是可以变化的 rem command. cd %~dp0 mkdir converted FOR %%A IN (%*) DO sox %%A "converted/%%~nxA" rate -v 44100 pause
sox这个批处理比网上搜索的好,好在sox后的参数直接是输入输出文件名,网上有的示例不注意此点,容易出错。
rate是采样频率参数,表示把采样频率修改为44100
这里推出锐英源的sox国外内容翻译文章、sox使用技巧和sox代码理解文档,欢迎同行交流。
sox的配置一般是指2方面,一个是环境配置,二是命令行里参数配置。
环境配置是指把sox.exe所在目录配置到系统环境下Path目录下,比如win下:
linux下也有类似的要求,用export把sox所在路径加到PATH里。这样使用sox更方便。一般的安装包安装时会自动实现这个效果,有时候出错了,就要手工自己指定下。
二类配置是指sox使用时的一些命令行参数,比如上段话里讲到的rate,sox常用的参数有:
-b 位深度,每个采样数据占多少位。
-c 通道数
-e 音频编码类型
-r 采样频率
-t 文件类型
前文说过,sox是开源的,虽然成熟了,但是有时候还是会有错误,这里会发一些常见错误,以及如何解决的文章。