wav音频文件格式

news/2024/11/2 2:29:02/

 

在做音频信号采集或音频信号分析时会经常遇到wav格式的文件,本章将介绍wav文件的格式。wav是基于资源交换文件格式(RIFF(Resource Interchange File Format))的应用之一。RIFF是一种带标签的文件结构,其可以定义许多文件格式,比如wav音频文件格式。RIFF文件由块结构组成,块结构由3个部分组成,分别为块ID、块大小、块数据,其中块ID由4字节组成,用于描述块数据;块大小由32位无符号整形数据表示,其只计算块数据的大小,不包含块ID和块大小的长度;块数据由字节数组组成,其采用小端格式,但其是双字节对齐的,当块大小为奇数个时,需要在数据后面补充一个字节。块数据用C代码表示如下所示:

typedef struct

{

         uint8_t ckID[4];

         uint32_t ckSize;

         uint8_t ckData[CKSIZE];

}CK;

 

wave文件格式如下所示:

其中WAVE chunks由一些WAVE的子块数据组成,比如fmt块、data块。

 

fmt块:

         fmt块携带着wav音频文件重要信息,比如采样率,采样点的数据大小等等,其结构如下所示:

可以看出fmt的块大小cksize值有3个,分别为16、18、40,这取决于wFormatTag的值,当wFormatTag = 0x0001(WAVE_FORMAT_PCM),即PCM格式,cksize = 16;当wFormatTag = 0xFFFE(WAVE_FORMAT_EXTENSIBLE),即扩展格式,cksize = 40;wFormatTag为其他值时,即非PCM格式,cksize = 18。

 

data块:

         data块包含了采集的音频数据,其结构如下所示:

注意当cksize为奇数时,需要往sampled data后面补齐一个空字节的值(0x00)。

 

举例:

         由于大多数实验采集和分析的是PCM格式的wav文件,因此下面将介绍PCM格式的wav文件,如下所示:

其中Nc 为通道数;Ns为块的数目,一个块由Nc个采样组成;M为每个采样数据的字节长度;F为采样速率(块/秒)。

 

wav格式代码解析

         由如上举例,我们可以清楚的知道wav文件具体的格式,通常在存储wav数据到U盘或SD卡时,要先预设cksize字段的值,然后根据实际存储到U盘或SD卡的数据来更新cksize字段的值。代码待续。。。

 


http://www.ppmy.cn/news/361259.html

相关文章

wav数据格式详解

1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声); 22050HZ 8bit mono: 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单声道; 当然…

WAV音频文件

WAV音频文件 象棋小子 1048272975 WAV是一种保存音频信息的文件格式,广泛应用于Windows及其应用程序中,如今主流的音频播放器都支持WAV音频文件的播放。 1. WAV音频格式 WAV是录音时用的标准Windows文件格式,文件扩展名为”.wav”&…

WAV格式文件分析

WAV格式文件分析 目录 WAV格式文件分析概述一、WAV格式文件1、波形声音文件格式 WAV2、音频文件参数简介 二、文件结构1、WAV文件的文件头2、WAV文件的数据体 三、WAV格式文件数据体结构1、RIFF Chunk区块2、Format Chunk区块3、DATA区块 总结 参考及引用材料 概述 WAV格式目前…

音频格式wav与mp3和wma的区别与音质

MP3 全称是Moving Picture Experts Group Audio Layer III。简单的说,MP3就是一种音频压缩技术,由于这种压缩方式的全称叫MPEG Audio Layer3,所以人们把它简称为MP3。 wma 是微软在制订的音频压缩文件格式,比mp3标准晚&#xf…

wav文件格式分析详解

wav文件格式分析详解 一、综述 WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。 WAVE文件是由若干个Chunk组成的。按照在文件中的…

wav文件格式详解

WAV(Waveform audio format)是微软与IBM公司所开发的一种声音编码格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持,也…

wav音频文件格式解析

wav是微软开发的一种音频文件格式&#xff0c;注意&#xff0c;wav文件格式是无损音频文件格式&#xff0c;相对于其他音频格式文件数据是没有经过压缩的&#xff0c;通常文件也相对比较大些。 文件格式如图所示&#xff1a; 解析代码如下&#xff1a; #include <stdio.h&…

WAV文件格式分析

一. RIFF概念 在Windows环境下&#xff0c;大部分的多媒体文件都依循着一种结构来存放信息&#xff0c;这种结构称为"资源互换文件格式"(Resources lnterchange File Format)&#xff0c;简称RIFF。例如声音的WAV文件、视频的AV1文件等等均是由此结构衍生出来的。RI…