数据压缩原理与应用 WAV文件的分析

一、WAV格式的概念

  • 定义
    WAV为微软公司开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持。

  • RIFF格式
    RIFF即“资源互换文件格式”,基本构成单位为chunk,每个chunk由辨别码(4字节)、数据大小(4字节)及数据所组成。

  • WAV格式
    WAVE文件由若干个Chunk组成的。按照在文件中的出现位置包括:RIFF WAVE Chunk, Format Chunk, Fact Chunk(可选), Data Chunk。
    每个Chunk的开头就是它的ID,占4个字节。随后是Chunk的Size,同样占4个字节,且Size的大小是文件本身大小减去ID和Size所占8字节之后的大小。

RIFF WAVE ChunkFormat ChunkFact ChunkData Chunk
IDRIFFfmtfactdata
RiffTypeWAVE
  • RIFF WAVE Chunk
    1.结构体
struct RIFF_HEADER
 {
  char szRiffID[4];  // 'R','I','F','F'
  DWORD dwRiffSize;
  char szRiffFormat[4]; // 'W','A','V','E'
 };

2.具体组成

地址内容字节数具体内容
00H-03HID4字节‘RIFF’标识符
04H-07HSize4字节WAVE文件大小-8字节
08H-0BHType4字节格式辨别码’WAVE’
  • Format Chunk
    1.结构体
struct WAVE_FORMAT
 {
  WORD wFormatTag;
  WORD wChannels;
  DWORD dwSamplesPerSec;
  DWORD dwAvgBytesPerSec;
  WORD wBlockAlign;
  WORD wBitsPerSample;
 };
 struct FMT_BLOCK
 {
  char  szFmtID[4]; // 'f','m','t',' '
  DWORD  dwFmtSize;
  WAVE_FORMAT wavFormat;
 };

2.具体组成

地址内容字节数具体内容
0CH-0FHID4字节‘fmt’标识符
10H-13HSize4字节数值为16或18,18则最后又附加信息
14H-15HFormatTag2字节编码方式,一般为0x0001
16H-17HChannels2字节声道数目,1-单声道;2-双声道
18H-1BHSamplesPerSec4字节采样频率
1CH-1FHAvgBytesPerSec4字节每秒所需字节数
10H-21HBlockAlign2字节数据块对齐单位
22H-23HBitsPerSample2字节每个采样需要的bit数
24H-25H2字节附加信息,可选
  • Format Chunk
    结构体
struct FACT_BLOCK
 {
  char  szFactID[4]; // 'f','a','c','t'
  DWORD  dwFactSize;
 };
  • Data Chunk
    结构体
struct DATA_BLOCK
 {
  char szDataID[4]; // 'd','a','t','a'
  DWORD dwDataSize;
 };

二、课后问题

  • 8比特和16比特样值的二进制编码表示一样吗?

    • 8比特量化单声道
      这里写图片描述
    • 8比特量化双声道
      这里写图片描述
    • 16比特量化单声道
      这里写图片描述
    • 16比特量化双声道
      这里写图片描述
  • 现有的WAV支持哪几种音频压缩方法?

    FormatTag可取十个值分别对应十种编码算法

    FormatTag编码方式
    0001HPCM/uncompressed
    0002HMicrosoft ADPCM
    0006HITU G.711 a-law
    0007HITU G.711 µ-law
    0011HIMA ADPCM
    0016HITU G.723 ADPCM (Yamaha)
    0031HGSM 6.10
    0040HITU G.721 ADPCM
    0050HMPEG
    FFFFHExperimental
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字音频原理是将音频信号通过采样、量化和编码等数字处理方式转换成数字信号。数字音频可用于音乐制作、音频存储与传输、语音识别等领域。 数字音频原理中的采样是指对连续的音频信号进行间隔性的取样。采样频率决定了连续音频信号在时间上的离散化程度,常用的采样频率有44.1kHz和48kHz。采样深度决定了每个取样点能表示的量化级别,常用的采样深度有16位和24位。 量化是指将连续的采样点映射为离散的数字数值。量化级别决定了数字音频的动态范围,常用的量化级别有8位、16位和24位。 编码是指将量化后的数字数值通过编码算法进行压缩处理,从而减少数字音频文件的存储空间。常见的数字音频编码格式有MP3、AAC、WAV等。 数字音频应用广泛。在音乐制作领域,数字音频可以实现音乐的录制、混音和后期制作等功能,为音乐制作者提供了更多的创作和表达可能性。在音频存储与传输领域,数字音频可以以较小的文件大小存储和传输音频数据,方便实现音频内容的分发和共享。在语音识别领域,数字音频可以作为输入信号,通过语音识别算法将语音转换为文字,实现语音助手、语音翻译等应用。 总之,数字音频原理以及应用的不断发展和创新,为音频领域带来了许多新的技术和应用,丰富了人们的音乐生活和通信体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值