wav文件系列_1_wav格式解读
本文介绍 wav 文件格式,主要关注该类格式的结构。
参考:
[1] 以一个wav文件为实例分析wav文件格式 ( 2017.04.11 CSDN )
[3] Ubuntu Linux 查看、编辑、比较二进制文件 ( 2014.4.24 ChinaUnix )
[4] wav文件格式分析与详解 ( 2017.10.12 cnblog )
[5] WAV文件格式解析 ( 2017.04.16 CSDN )
[6] wav音频文件格式解析 ( 2016.09.11 CSDN )
1、背景
波形( Waveform )文件格式,由于其拓展名为 .wav ,常被叫作 wave 文件。是微软和 IBM 的音频文件格式标准,主要用于 PC ( Personal Computer ) 存储音频文件。该标准利用了数据传输格式 ( Resource Interchange File Format ab. RIFF ) 中的比特流技术,在"数据块"中存储数据。传统的比特流技术使用的是线性脉冲码调制 ( linear pulse-code modulation ab.LPCM )格式。
2、结构
为了查看十六进制的数据,还是花了一点功夫。事实上我先生成了目标音频文件,然后利用 VIM 的十六进制模式浏览该文件[3]。
vim -b file.wav
:%!xxd -g 1
示例如下:
1 00000000: 52 49 46 46 24 40 00 00 57 41 56 45 66 6d 74 20 RIFF$@..WAVEfmt
2 00000010: 10 00 00 00 01 00 01 00 40 1f 00 00 80 3e 00 00 ........@....>..
3 00000020: 02 00 10 00 64 61 74 61 00 40 00 00 4a 83 48 b4 ....data.@..J.H.
4 00000030: 5b 23 ff dd 85 d9 e0 af fe ff da 88 a1 2c 66 61 [#...........,fa
5 00000040: 58 d0 20 a5 7a ad de ce 17 ba 94 56 9f 69 5f cd X. .z......V.i_.
6 00000050: 73 e9 0b 5f 5b 08 cf b9 73 66 c1 32 f3 40 68 61 s.._[...sf.2.@ha
7 00000060: b0 8d 60 ac e5 b9 ff 0c 97 b3 63 8a c4 bd aa a9 ..`.......c.....
8 00000070: dc 5a 0b da b3 70 57 d8 97 78 2b 28 09 10 41 e9 .Z...pW..x+(..A.
9 00000080: b4 c1 43 05 8b 1b 5b dd 0c 58 de 00 fc ff ba f9 ..C...[..X......
10 00000090: 06 8b 6e eb 75 04 4c 37 e8 75 d8 16 15 72 98 cd ..n.u.L7.u...r..
依据引用的示例可得 .wav 文件结构如下:
采样位数越大,电平描述越精细;采样频率越大,帧数多,高频细节越清晰。后面 [4-6] 三篇引用中有关于每一块数据的具体说明。
END
wav文件系列_1_wav格式解读的更多相关文章
- wav文件系列_2_Python实现读写
本文介绍了 Python 实现音频读写的方法.Python wave 模块提供便捷的 wav 文件操作.该模块并不支持压缩与解压,但支持单声道/立体声的转换. 参考: [1] wave — Read ...
- Python解析Wav文件并绘制波形的方法
资源下载 #本文PDF版下载 Python解析Wav文件并绘制波形的方法 #本文代码下载 Wav波形绘图代码 #本文实例音频文件night.wav下载 音频文件下载 (石进-夜的钢琴曲) 前言 在现在 ...
- 音视频学习系列第(三)篇---wav文件的存储和解析
音视频系列 什么是wav wav是一种无损的音频文件格式,wav文件有两部分,第一部分是文件头,记录一些重要的参数信息,如音频的采样率,通道数,数据位宽,第二部分是数据部分,数据部分可以是PCM,也可 ...
- 如何利用 iTunes 把 m4a/wav 文件转成 MP3 格式
MAC技巧 | 如何利用 iTunes 把 m4a/wav 文件转成 MP3 格式 - 简书
- 将任意音频格式文件转换成16K采样率16bit的wav文件
此转换需要使用ffmpeg 假设有目录 d:\录音 目录有 张三.m4a, 李四.m4a xxx.m4a(其他任意格式音频触类旁通可以把 *.m4a改成*.*).批量转换成采样率16K,有符号,16b ...
- C++标准库实现WAV文件读写
在上一篇文章RIFF和WAVE音频文件格式中对WAV的文件格式做了介绍,本文将使用标准C++库实现对数据为PCM格式的WAV文件的读写操作,只使用标准C++库函数,不依赖于其他的库. WAV文件结构 ...
- zlib压缩一个文件为gzip格式
网上有很多针对zlib的总结,但是很零散,自己经过总结,实现了用zlib压缩一个文件为gzip格式,似的可以直接使用winr工具解压. 具体方法是使用zlib的deflate系列函数,将buffer压 ...
- PC-1500的代码存入WAV文件
目录 第1章保存 1 1.1 操作 1 1.2 波形说明 4 1.3 波形整形 5 1.4 压缩 8 第2章载入 9 2.1 操作 9 2.2 音量 9 ...
- Ubuntu下用cue文件对ape和wav文件自动分轨
很多音乐CD的镜像文件都带cue格式的分轨文件,在Ubuntu Linux下可以通过一些工具来实现自动分轨. 一.Ubuntu下需要安装的工具有flac,shntool,libav-tools $ s ...
随机推荐
- OSPFv3与OSPF的配置
IPv6 路由-OSPFv3 实验目的 1. 掌握 OSPFv3 的配置方法 2. 掌握在帧中继环境下 OSPFv3 的配置方法 3. 掌握 OSPFv3 NSSA 的配置方法 4. ...
- LAMP环境配置安装注意安装步骤及说明事项
一.安装gcc shell># yum -y install gcc 二.安装zlib压缩库 shell>## cd /home/hsk/tar shell># tar –zxvf ...
- Django_URL
视图函数介绍 视图一般都写在app的views中,并且视图的第一个参数永远都是request(HttpRequest)对象.这个对象存储了请求过来的所有信息,包括携带的参数以及一些头部信息等.再视图中 ...
- (JavaScript)实现上传图片实时预览和(文件)大小判断
唉,为什么我一个做大数据和后端的要为前端耗尽心力啊??!! 昨天在做一个网页时遇到了一个问题,有一处需要插入图片,我原本的想法是获取到上传文件的URL,然后动态插入img标签,设置src为图片的URL ...
- Mysql生产指定时间段随机日期函数
UPDATE basicsale_b2b2c.basic_customer SET registerDate = ( from_unixtime( unix_timestamp('2017-01-01 ...
- 关于分布式代码管理工具git
一.安装 Step1 进入官网https://www.git-scm.com/download/下载,然后安装,一直“下一步”即可 Step2 验证是否安装成功,在任意地方右键,菜单中含有Git ...
- mysql排序之ORDER BY IF、ORDER BY配合IN、TIMESTAMPDIFF、TIMESTAMPADD、FIELD
1.order by if 排序 SELECT * FROM pet ORDER BY if (species='snake',0,1),species;--species为snake的行数放置到了查 ...
- thinkpaidE480office安装文件夹
C:\Program Files (x86)\Microsoft Office\root\Office16 需要嵌入office的小伙伴自行百度吧教程吧,网上有很多的
- unity中多个门的开关动画保持独立性
List<Animation> storeAnimation; public void Awake() { storeAnimation = new List<Animation&g ...
- python全栈考题 3.30
1.执行Python 脚本的两种方式 1.>>python ../pyhton.py 2. >>python.py #必须在首行有 #!/usr/bin/env ...