`
Poechant
  • 浏览: 229728 次
博客专栏
Bebe66e7-3a30-3fc9-aeea-cfa3b474b591
Nginx高性能Web服务...
浏览量:24335
5738817b-23a1-3a32-86de-632d7da73b1e
Cumulus实时媒体服务...
浏览量:22105
社区版块
存档分类
最新评论

音频编解码·格式篇(1)Wave PCM audio format(WAV)

 
阅读更多

音频编解码·格式篇(1)Wave PCM audio format(WAV)

  • 作者:柳大·Poechant
  • 博客:Blog.CSDN.net/Poechant
  • 邮箱:zhongchao.ustc@gmail.com
  • 日期:April 6th, 2012

0 音频编解码基础

  • 采样率:声音信号在“模数转换”过程中单位时间内采样的次数。
  • 采样值:每一次采样周期内声音模拟信号的积分值。
  • 单声道:11.025 KHz 采样值,8 Bits 采样值(0x00 - 0xFF)。
  • 双声道:44.1 KHz 采样值,16 Bits 采样值。高八位表示左声道,低八位表示右声道。

1 WAV音频文件格式

见下图:

Resize icon

  • 文件头
    • RIFF/WAV 文件标识段
    • 声音数据格式说明段
  • 数据体:由 PCM(脉冲编码调制)格式表示的样本组成。

单声道 WAV 文件中,声道0代表左声道,声道1代表右声道;多声道 WAV 文件中,左右声道的样本是交替出现的。

1.1 文件头格式:

偏移地址 字节数 数据类型 内容
0x00 4 char “RIFF”标志
0x04 4 long int 文件长度
0x08 4 char “WAVE”标志
0x0C 4 char “fmt ”标志
0x10 4 过度字节(不定)
0x14 2 int 格式类别(0x10是PCM形式的声音格式)
0x16 2 int 通道数(1为单声道,2为双声道)
0x18 2 int 采样率(每秒的样本数,表示每个通道的播放速度)
0x1C 4 long int 波形音频数据传输速率,为(通道数x每秒数据位数x样本的数据位数/8,播放器根据此值估算缓冲区大小)
0x20 2 int 数据块的调整数,为(通道数x没样本的数据位值/8),播放软件一次需要处理多个该值大小的字节数据,以便就爱将其值用于缓冲区的调整
0x22 2 每样本的数据位数,表示每个声道中各样本的数据位数,如果有多个声道,对每个声道而言,样本大小都一样

1.2 数据体格式:

偏移地址 字节数 数据类型 内容
0x24 4 char 数据标记符“data”
0x28 4 long int 语音数据的长度

然后就是语音数据帧了。下表中的0声道代表左声道,1声道代表右声道:

偏移地址 sample1 sample2
8位单声道 0声道 0声道
8位双声道 0声道,1声道 0声道,1声道
16位单声道 0声道低字节,0声道高字节 0声道低字节,0声道高字节
16位双声道 0声道低字节,0声道搞字节 1声道低字节,1声道高字节

1.3 WAV文件格式实例分析(转载)

地址段 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x00000000 52 49 46 46 0A 06 01 00 57 41 56 45 66 6D 74 20
0x00000010 12 00 00 00 01 00 02 00 44 AC 00 00 10 B1 02 00
0x00000020 04 00 10 00 00 00 66 61 63 74 04 00 00 00 76 41
0x00000030 00 00 64 61 74 61 D8 05 01 00 00 00 00 00 FF FF
0x00000040 00 00 FE FF FE FF 00 00 00 00 FE FF FE FF 00 00
0x00000050 64 61 6B 61 D8 05 01 00
地址段 字节数 数据类型 内容
0x00 - 0x03 4 4个char 标志位,"RIFF"
0x04 - 0x07 4 1个int 文件长度,小尾端,实际是0x0001060A
0x08 - 0x0B 4 4个char 标志位,“WAVE”
0x0C - 0x0F 4 4个char 标志位,“fmt ”,fmt表示为,最后一个是空格
0x10 - 0x13 4 1个int 0x00000012,sizeof(PCMWAVEFORMAT)
0x14 - 0x15 2 1个short 格式类别,1(WAVE_FORMAT_PCM)表示PCM形式的声音数据
0x16 - 0x17 2 1个short 通道数,1为单声道,2为双声道
0x18 - 0x1B 4 1个int 采样率
0x1C - 0x1F 4 1个int 0x10B10000,每秒数据量
0x20 - 0x21 2 1个short 数据块的调整值(按字节算)
0x22 - 0x4F
0x50 - 0x53 4 4个char 标志位,“data”
0x54 - 0x57 4 1个int 语音数据大小,0x000105D8

Reference

  1. WAV(PCM)文件格式分析
分享到:
评论

相关推荐

    wav语音格式介绍WAVE File Format

    在音频处理和数字媒体领域,WAV(Waveform Audio Format)是常见的无损音频文件格式之一,由微软和IBM共同开发,广泛应用于音乐制作、声音编辑以及音频数据存储。本篇文章将对WAV格式进行深度剖析,帮助读者全面了解...

    PCM转WAV文件

    WAV(Waveform Audio File Format)是由微软和IBM共同开发的一种音频文件格式,它能无损地保存原始音频数据,因此在音频处理领域中很常见。 在Android平台上,录音功能通常会生成PCM格式的文件,因为PCM格式数据...

    PCM 转 WAV 格式

    WAV(Waveform Audio Format)是微软开发的一种无损音频文件格式,广泛用于存储和交换音频数据。在IT领域,将PCM数据转换为WAV格式是常见的音频处理任务,尤其对于编程人员来说,了解这个过程非常关键。 PCM转换为...

    wav.zip_WAV解码_WAV音频转换播放_wav格式_wav格式解码_wav解码代码

    WAV(Waveform Audio File Format)是由微软和IBM共同开发的一种无损音频格式,广泛应用于各种操作系统。本压缩包“wav.zip”提供了关于WAV音频解码、转换和播放的知识点,非常适合新手学习。 **1. WAV格式介绍** ...

    wav文件封装pcm编码格式

    WAV(Waveform Audio File Format)是微软和IBM共同开发的一种声音文件格式,广泛用于Windows平台上。PCM(Pulse Code Modulation),脉冲编码调制,是数字音频的基本编码方式,也是WAV文件最常用的编码格式之一。 ...

    pcm音频数据流转wav直接播放PCMaudiostream

    本篇文章将深入探讨如何将PCM(脉冲编码调制)音频数据流转为WAV格式,并在JavaScript环境中实现直接播放。首先,我们需要理解PCM和WAV的基本概念。 PCM是模拟音频信号最常见的数字表示方式,它通过采样和量化过程...

    为pcm添加wav头

    标题 "为pcm添加wav头" 指的是在PCM(脉冲编码调制)音频数据文件前添加符合WAV(Waveform Audio Format)文件格式的头部信息。这通常是因为PCM是一种裸露的数字音频格式,不含任何元数据,而WAV是一种包含所有必要...

    wav音频格式

    WAV(Waveform Audio File Format)是一种用于存储数字音频文件的标准格式,广泛应用于多种操作系统和媒体播放器之中。WAV格式以其无损压缩的特点,确保了原始音频的质量得以保留。本文将深入浅出地介绍WAV音频格式...

    音频解码,分贝计算 适用 wav/mp3/aac 16/24/32bit的音频类型

    音频解码是数字音频处理中的关键技术,它涉及将音频数据从其原始的压缩格式转换为原始的、未压缩的PCM(脉冲编码调制)格式,以便进行进一步的处理或播放。在标题和描述中提到的,这项技术适用于wav、mp3和aac这三种...

    wav-format.rar_C++ WAV_wav_wav文件格式

    WAV文件格式是Microsoft开发的一种无损音频文件格式,全称为Waveform Audio Format。它是基于RIFF(Resource Interchange File Format)文件结构的,广泛用于存储各种类型的音频数据,包括音乐、对话和声音效果。WAV...

    ADPCM WAVE文件的压缩与解压缩

    WAVE文件,或称Waveform Audio File Format,是Windows系统中的标准音频文件格式,通常以.wav为扩展名。这种文件可以包含多种压缩或未压缩的音频数据。PCM格式的WAVE文件直接保存原始采样数据,不进行任何压缩,是...

    各种主流音频编码(或格式)介绍

    WAVE是微软开发的一种音频文件格式,遵循PIFF Resource Interchange File Format规范。WAV文件包含一个文件头,用于存储音频流的编码参数。尽管WAV文件通常使用PCM编码,但它实际上可以支持ACM规范下的多种编码方式...

    wav音频文件格式分析

    在数字音频领域,WAV(Waveform Audio File Format)是一种广泛使用的无损音频格式,尤其在Windows操作系统中是标准的音频文件格式。它是由微软和IBM共同开发的,遵循Resource Interchange File Format (RIFF) 文件...

    PCM to WAV

    WAV,全称Waveform Audio Format,是Microsoft和IBM共同开发的一种音频文件格式,广泛用于Windows平台。WAV文件是无损的,包含了完整的原始音频数据,并且支持多种编码方式,包括PCM。WAV文件头包含了许多元数据,如...

    阿拉伯数字的wav音频文件,wav是数字音频文件格式吗源码.zip

    WAV(Waveform Audio Format)是微软和IBM共同开发的一种音频文件格式,它是未压缩的、高质量的数字音频格式,能够保留原始音频的所有细节。这种格式通常用于专业音频编辑和音乐制作,因为它提供了无损的数据存储,...

    wave-convert.rar_Convert p_acm gsm_gsm acm_pcm_wave

    wave”和描述“使用acm做的gsm-pcm格式转换库程序,在VC6下编译,生成waveConvert.dll”涉及到的是音频编码与解码技术,特别是将PACM(脉冲编码调制)、GSM(全球系统for移动通信)格式相互转换,并最终生成WAV...

    Wave_codec Module

    在计算机音频处理领域,WAVE(Waveform Audio Format)是一种常见的数字音频文件格式,由Microsoft公司开发,广泛应用于Windows操作系统中。WAVE_codec模块是针对这种格式进行编码和解码的DLL(动态链接库)项目,它...

    wav格式文件分析

    WAV(Waveform Audio Format)是由微软公司开发的一种音频文件格式,广泛应用于Windows操作系统中。它是无损的音频压缩格式,意味着它保留了原始录音的每一个细节,因此文件体积通常较大。WAV文件可以存储各种类型的...

    wav头文件读取工具

    在数字音频领域,WAV(Waveform Audio Format)是一种常见的无损音频文件格式,由Microsoft开发,广泛应用于Windows操作系统。这种格式存储原始的音频数据,包括采样率、位深度和通道数等重要信息。在处理WAV文件时...

    音频转换,wav转mp3,十倍压缩

    本主题主要关注如何使用C#编程语言将高质量的WAV音频格式转换为更小巧、便于分享和存储的MP3格式。WAV是一种无损音频格式,保真度高但文件体积大;而MP3则是一种有损格式,通过压缩技术减小文件大小,牺牲部分音质但...

Global site tag (gtag.js) - Google Analytics