锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / sox / sox FAIL formats: bad input format for file `.wav': data encoding was not specified

联系方式

固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

服务方向

人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发

锐英源精品开源,禁止转载和任何形式的非法内容使用,违者必究

sox FAIL formats: bad input format for file `.wav': data encoding was not specified


背景

近期语音识别训练wav文件,要进行调整,用到了sox,但是用脚本时遇到错误。

D:\语音识别\工具\wav>(sox  -r 16000 -c 1 -b 16 a.wav __a.wav    && del a.wav   &&  move __a.wav a.wav )
sox WARN wav: User options overriding size read in .wav header
sox FAIL formats: bad input format for file `a.wav': data encoding was not specified

加了-e signed-integer ,把数据表示方式修改了,FAIL行没了,但是转过后wav杂音大,听不出来原音。

对wav内文件格式了解下:

    unsigned short  compressionCode;//2byte,格式种类(1-线性pcm-WAVE_FORMAT_PCM,WAVEFORMAT_ADPCM)   

正常的是1,错误的是3

再学习下wav头结构体

wav头结构体

1.	typedef struct WAV_HEADER_S  
2.	{  
3.	    char            riffType[4];    //4byte,资源交换文件标志:RIFF     
4.	    unsigned int    riffSize;       //4byte,从下个地址到文件结尾的总字节数   
5.	    char            waveType[4];    //4byte,wav文件标志:WAVE      
6.	    char            formatType[4];  //4byte,波形文件标志:FMT(最后一位空格符)   
7.	    unsigned int    formatSize;     //4byte,音频属性(compressionCode,numChannels,sampleRate,bytesPerSecond,blockAlign,bitsPerSample)所占字节数  
8.	    unsigned short  compressionCode;//2byte,格式种类(1-线性pcm-WAVE_FORMAT_PCM,WAVEFORMAT_ADPCM)  
9.	    unsigned short  numChannels;    //2byte,通道数  
10.	    unsigned int    sampleRate;     //4byte,采样率  
11.	    unsigned int    bytesPerSecond; //4byte,传输速率  
12.	    unsigned short  blockAlign;     //2byte,数据块的对齐,即DATA数据块长度  
13.	    unsigned short  bitsPerSample;  //2byte,采样精度-PCM位宽  
14.	    char            dataType[4];    //4byte,数据标志:data  
15.	    unsigned int    dataSize;       //4byte,从下个地址到文件结尾的总字节数,即除了wav header以外的pcm data length  
16.	}WAV_HEADER;  

没有用处。

最后对比其它脚本文件,把批处理的文件名放前面好了,类似:

sox a.wav __a.wav   -r 16000 -c 1 -b 16

开源项目用的时候出的莫名其妙的错误很正常,但有时候不能按错误的思路来解决,要用正确的方式来对比,找到正确的方式就好办。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内