锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / C语言开源技术 / sox、sox开源社区、sox配置和sox错误
联系方式
固话:0371-63888850

手机:138-0381-0136

Q Q:396806883
微信:ryysoft

sox


sox擅长处理音频数据,比喻为音频界的瑞士军刀。锐英源在语音识别项目里使用了它,在Linux和Windows下都使用了sox,觉得很方便,不过因为是开源的,有细节上也不好用。

在语音识别项目里,Wav文件的采集频率一般是16000,有时候有些录制软件录制成其它频率,就用sox转非常方便。另外sox能提到音频特征信息。

sox常用是集成到脚本文件里,对大批量文件一起处理,脚本开发难度相对比写界面和调用命令语句要简单的多,sox这种工作模式大家要掌握。

在win下安装sox后,目录文件如下图:

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代码理解文档,欢迎同行交流。

 
  
sox配置

sox的配置一般是指2方面,一个是环境配置,二是命令行里参数配置。

环境配置是指把sox.exe所在目录配置到系统环境下Path目录下,比如win下:

win下sox的path设置

linux下也有类似的要求,用export把sox所在路径加到PATH里。这样使用sox更方便。一般的安装包安装时会自动实现这个效果,有时候出错了,就要手工自己指定下。

 

二类配置是指sox使用时的一些命令行参数,比如上段话里讲到的rate,sox常用的参数有:

-b 位深度,每个采样数据占多少位。

-c 通道数

-e 音频编码类型

-r 采样频率

-t 文件类型

sox错误

 前文说过,sox是开源的,虽然成熟了,但是有时候还是会有错误,这里会发一些常见错误,以及如何解决的文章。

sox FAIL formats: bad input format for file `.wav': data encoding was not specified
友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内