(转)WAVE PCM 声音文件格式
标准WAVE文件格式

|
偏移 |
长度(字节) |
变量名 |
描述 |
备注 |
|
0 |
4 |
ChunkID |
ASCII字符“RIFF”,大端形式 |
RIFF头 |
|
4 |
4 |
ChunkSize |
36+SubChunk2Size,即:4 + (8 + SubChunk1Size) + (8 + SubChunk2Size),指除文件前8字节后的字节数 |
RIFF头 |
|
8 |
4 |
Format |
ASCII字符“WAVE”,大端形式 |
RIFF头 |
|
12 |
4 |
Subchunk1ID |
ASCII字符“fmt ”,大端形式 |
Fmt子块 |
|
16 |
4 |
Subchunk1Size |
对于PCM文件为16。指除前8字节的Fmt块大小 |
Fmt子块 |
|
20 |
2 |
AudioFormat |
PCM=1,其他值指以某种形式压缩(见表2) |
Fmt子块 |
|
22 |
2 |
NumChannels |
单声道=1,立体声=2 |
Fmt子块 |
|
24 |
4 |
SampleRate |
取样率,取16000 |
Fmt子块 |
|
28 |
4 |
ByteRate |
SampleRate * NumChannels * BitsPerSample/8 |
Fmt子块 |
|
32 |
2 |
BlockAlign |
NumChannels * BitsPerSample/8,所有声道中一个样本数据的字节总数 |
Fmt子块 |
|
34 |
2 |
BitsPerSample |
8或16 |
Fmt子块 |
|
36 |
4 |
Subchunk2ID |
ASCII字符串“data” |
Data子块 |
|
40 |
4 |
Subchunk2Size |
NumSamples * NumChannels * BitsPerSample/8,指数据中的字节数 |
Data子块 |
|
44 |
* |
Data |
实际的声音数据 |
表2 Format Code 格式编码
|
格式编码 |
预处理符号 |
数据 |
|
0x0001 |
WAVE_FORMAT_PCM |
PCM |
|
0x0003 |
WAVE_FORMAT_IEEE_FLOAT |
Ieee float |
|
0x0006 |
WAVE_FORMAT_ALAW |
8bits ITU-T G.711 A-law |
|
0x0007 |
WAVE_FORMAT_MULAW |
8-bit ITU-T G.711 u-law |
|
0xFFFE |
WAVE_FORMAT_EXTENSIBLE |
注意:
1)WAVE文件默认的字节顺序是小端顺序,若是大端顺序用RIFX代替RIFF标识
2)取样数据必须是偶数字节
3)8位取样数据被存储为无符号数,从0到255.16位的取样数据被存储为补码,从-32768到32767
4)在wave数据流中可能有添加的子块。每一个子块有char SubChunkID[4],unsigned long SubChunkSize和SubChunkSize字节的数据
5)RIFF代表Resource Interchange File Format
转自:http://blog.csdn.net/foxwit/article/details/5802389
(转)WAVE PCM 声音文件格式的更多相关文章
- 通过WinAPI播放PCM声音
在Windows平台上,播放PCM声音使用的API通常有如下两种. waveOut and waveIn:传统的音频MMEAPI,也是使用的最多的 xAudio2:C++/COM API,主要针对游戏 ...
- 分享python分析wave, pcm音频文件
最近研究的,我用的是python3.3, 用matplotlib画图, 下面代码演示分析pcm文件,如果是wave文件,把wave的文件头去掉就是pcm文件了. 代码如下 # -*- coding:u ...
- wave文件(*.wav)格式、PCM数据格式
1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采 ...
- wave文件(*.wav)格式、PCM数据格式, goldwave 可以播放pcm raw audio
1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采 ...
- PCM文件格式简单介绍
PCM文件格式简单介绍 PCM文件:模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志.Windows的Convert工具能够把PCM音频格式的文件转换成M ...
- wav文件格式分析(一)
(一)概述 WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范: (二)音频知识 1.常见的声音文 ...
- 【转】Python处理wave文件
#本文PDF版下载 Python解析Wav文件并绘制波形的方法 #本文代码下载 Wav波形绘图代码 #本文实例音频文件night.wav下载 音频文件下载 (石进-夜的钢琴曲) 前言 在现在繁忙的生活 ...
- 痞子衡嵌入式:PCM编码与Waveform音频文件(.wav)格式详解
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PCM编码及Waveform音频文件格式. 嵌入式里有时候也会和音频打交道,比如最近特别火的智能音箱产品,离不开前端的音频信号采集.降噪 ...
- 转wave 文件解析
转 1 WAVE 文件格式分析 WAVE 文件作为多媒体中使用的声音波形文件格式之一,它是以RIFF(Resource Interchange File Format)格式为标准的.每个WAVE文件的 ...
随机推荐
- 如何评测一个P2P平台是否可靠
1.标准 1)平台是否实现银行存管 2)平台是否有ICP许可证 ICP许可证:也称互联网信息服务业务经营许可证,或者增值电信业务许可证中的互联网信息服务业务. 3)平台背景 经营主体背景(央企,国企, ...
- linux下配置某程序的sudo不用输密码
$ su密码: # cd /etc/# cp sudoers sudoers_bak# vi sudoers 最下面加入一行:ALL ALL = NOPASSWD:/usr/sbin/openconn ...
- Android开发(六)——组件颜色Selector(Selector与Shape的基本用法 )
andorid控件改变状态时改变颜色,使用selector. <?xml version="1.0" encoding="utf-8" ?> < ...
- BI-LSTM-CRF在序列标注中的应用
1. 前言 在NLP中有几个经典的序列标注问题,词性标注(POS),chunking和命名实体识别(NER).序列标注器的输出可用于另外的应用程序.例如,可以利用在用户搜索查询上训练的命名实体识别器来 ...
- iOS手机号,身份证,车牌号正则表达式
1.手机号判断,根据维基百科2016年6月修订的段号判断 是否是手机号 /** 手机号码 13[0-9],14[5|7|9],15[0-3],15[5-9],17[0|1|3|5|6|8],18[0- ...
- 【Android】按钮点击事件的常用写法
学习总结: 最近学习了Android点击事件的常用写法.点击事件会触发监听对象身上的回调,常用写法有以下四种: 方法一:使用匿名内部类. public class MainActivity exten ...
- 手写体识别中用到的Tensorflow函数复习
tf.truncated_normal(shape, stddev=0.1) 从截断的正态分布中输出随机值. 生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢 ...
- android 技术点记录
Android Service完全解析,关于服务你所需知道的一切(上) http://blog.csdn.net/guolin_blog/article/details/11952435 androi ...
- Android keytool 生成keystore与给APK签名
http://www.tttabc.com/android/keytool-keystore-jarsigner-apk.htm
- CAS (5) —— Nginx代理模式下浏览器访问CAS服务器配置详解
CAS (5) -- Nginx代理模式下浏览器访问CAS服务器配置详解 tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 nginx版本: nginx-1.9.8 ...