• WAVE文件格式说明


    wave文件格式由以下三部分组成的

      1.RIFF模块,该模块由下面三部分组成:

        ChunkID:固定值为RIFF。表示wave格式文件  大端存储

        ChunkSize:整个wave文件的大小  小端存储

        Format:固定值为WAVE,表示wave格式文件需要ftm子块和data子块  大端存储

      2. fmt子模块(子模块1),该模块由下面几部分组成:

        Subchunk1ID:固定值为fmt,表示fmt模块  大端存储

        Subchunk1Size:fmt模块大小  小端存储

        AudioFormat:音频格式,比如 PCM = 1  小端存储

        NumChannels:音频通道数,比如 Mono = 1, Stereo = 2  小端存储

        SampleRate:音频采样率,比如8000,44100等等  小端存储

        ByteRate:字节率,就是单位时间里,所有通道数采样到的数据量,值为SampleRate * NumChannels * BitsPerSample/8  小端存储

        BlockAlign:块对齐,值为NumChannels * BitsPerSample/8,表示The number of bytes for one sample including all channels  小端存储

        BitsPerSample:位宽,即每个采样的使用多少个存储或者说表示。比如8 bits = 8, 16 bits = 16, etc  小端存储

      3. data子模块(子模块2)

        Subchunk2ID:固定值为data,表示data数据块  大端存储

        Subchunk2Size:数据块的大小,表示the number of bytes in the data,值为NumSamples * NumChannels * BitsPerSample/8

        Data:真正的音频数据

    附:大端小端的理解:大端就是计算机存储顺序和我们表达的顺序一致(高位存储高位,低位存储低位,所以顺序读就可以);小端就是计算机存储顺序和我们表达的顺序相反(高位存储低位,低位存储高位,所以要逆序读才正确);

    下面是WAVE文件格式说明截图:

      

      

      

    WAVE格式说明的参考链接:http://soundfile.sapp.org/doc/WaveFormat/

  • 相关阅读:
    CentOS安装thrift
    6个用于大数据分析的最好工具
    我的助理辞职了!——给不听话的下属看看
    用Redis bitmap统计活跃用户、留存
    Java从入门到精通——数据库篇Oracle 11g服务详解
    Java从入门到精通——数据库篇之OJDBC版本区别
    非常有用!eclipse与myeclipse恢复已删除的文件和代码
    Redis 代理服务Twemproxy
    Redis集群明细文档
    正则表达式
  • 原文地址:https://www.cnblogs.com/yongfengnice/p/7359010.html
Copyright © 2020-2023  润新知