错误描述
读取demo中的wav示例的时候没有问题,但是在执行SMILExtract提取自己准备的wav文件时却出现bogus wave/riff header or file in wrong format的错误提示,(maybe you are trying to read a 32-bit wave file which is not yet supported (new header type…)?) 等提示错误信息出现,如下图
解决办法
准备工具:
- matlab
- wav文件
步骤:
- 打开matlab,执行y=wavread(‘xxx.wav’);
- 然后执行 wavwrite(y,’xxx.wav’);
- opensmile重新运行SMILExtract命令
WAV格式简介
- Wav文件以RIFF(Resource Interchange File Format)格式为标准,每个Wav文件的头四个字节就是“RIFF”
- Wav文件由若干个Chunk块组成
按照在文件中出现的位置,包括
- RIFF WAVE Chunk
- Format Chunk
- Fact Chunk (可选)
- Data Chunk
Chunk块
每个Chunk有各自的ID,位于Chunk最开始位置,且均为4字节
紧跟ID后面是本Chunk的Size,以4个字节表示,为除去ID和Size所占字节数后本Chunk剩下的其他实际数据所占的字节数
然后是本Chunk包含的实际数据格式介绍