opensmile读取wav出错:bogus wave/riff header or file in wrong format解决办法

错误描述

读取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包含的实际数据

  • 格式介绍
    格式介绍

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值