WAV音频格式分析

wav是windows下无损的声音文件,该文件保存了音频的PCM信息和播放器播放该音乐的时候的大多数信息,他有两个块组成,第一个块是格式块,第二个块是数据块

先说格式块,格式块用一张图可以解释,如下

使用winhex分析一个wav的音频文件,韩磊的送别,信息如下

通过对比就可以看出是能够匹配上的,接下来存放的就是数据了,wav的数据存放格式和采样率还有通道数是有关系的,关系如下

得到format信息之后就可以很方边的使用数据区的数据了,声道分离之类的

时间: 2024-12-30 12:20:32

WAV音频格式分析的相关文章

AAC音频格式分析

关于AAC音频格式基本情况,可参考维基百科http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC音频格式分析 AAC音频格式有ADIF和ADTS: ADIF:Audio Data Interchange Format 音频数据交换格式.这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行.故这种格式常用在磁盘文件中. ADTS:Audio Data Transport St

AAC 格式分析

一直在做一个语音项目,到了测试阶段,近来不是很忙,想把之前做的内容整理一下. 关于AAC音频格式基本情况,可参考维基百科http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC音频格式分析 AAC音频格式有ADIF和ADTS: ADIF:Audio Data Interchange Format 音频数据交换格式.这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行.故这种格

《双星物语》游戏资源格式分析与解包

作为一款 2001 年发行的老游戏,封包算法应该不会很复杂才对,抱着这样想法的博主,尝试着去分析游戏资源包的封包格式,最后成功将资源解包,下面我们来看看双星物语的游戏资源包封包格式: 游戏资源包以 dat 作为扩展名,一共有两个,分别是 wav.dat 和 BIN.dat,其中 wav.dat 体积较小,先从它下手,用十六进制编辑器打开后,可以看到整齐的文件头部,经过观察发现,整个资源包以[包头][文件类型信息][文件信息][文件数据]这样子的结构组织而成: 首先是[包头],大小为 8 字节,前

【wav音频解析】之wavread函数的C++实现

本文由三部分组成,第一部分背景介绍 -- 音频类型及本文动机,第二部分类比matlab下wavread()函数的作用,第三部分则给出该函数的C++实现. 一 背景介绍 1.1 本文动机 1)所有wav音频处理的基础就是将wav格式的文件解析出来,解析成数组才能供我们去做后续的处理(fft等等). 2)在matlab中直接有一个很好用的函数wavread(' test.wav'),输入是wav音频,输出是数组,如第二章所述. 3)一般的C++函数读取出来的数据,格式如1.2节所述,然而不管是什么格

用 Qt 的 QAudioOutput 类播放 WAV 音频文件

用 Qt 的 QAudioOutput 类播放 WAV 音频文件 最近有一个项目,需要同时控制 4 个声卡播放不同的声音,声音文件很简单就是没有任何压缩的 wav 文件. 如果只是播放 wav 文件,那么 Qt 里简单的 QSound 类是最适合的.但是 QSound 有一个很大的缺陷就是无法选择用哪个声卡.一番研究之后,决定用 QAudioOutput 来播放 WAV 音频文件. 网上也能找到几篇相关的文章,比如: http://blog.csdn.net/qyee16/article/det

用 Qt 的 QAudioOutput 类播放 WAV 音频文件(使用了libsndfile外部库)

用 Qt 的 QAudioOutput 类播放 WAV 音频文件 最近有一个项目,需要同时控制 4 个声卡播放不同的声音,声音文件很简单就是没有任何压缩的 wav 文件. 如果只是播放 wav 文件,那么 Qt 里简单的 QSound 类是最适合的.但是 QSound 有一个很大的缺陷就是无法选择用哪个声卡.一番研究之后,决定用 QAudioOutput 来播放 WAV 音频文件. 网上也能找到几篇相关的文章,比如: http://blog.csdn.net/qyee16/article/det

C#将科大讯飞语音合成文件转换为MULAW音频格式

任务描述:通过科大讯飞语音合成组件在线完成文本转语音的合成,然后再转换为电话系统IVR要求的音频格式: wave mu-law 16位 8kHZ 64kbps. 完成步骤: 首先,我们要先通过科大讯飞语音合成组件实现文本合成,由于科大讯飞提供的接口都是C语言的,如果用C#调用需要做二次封装,为了快速完成任务,我们直接在科大讯飞论坛中找到一个现成组件进行修改,感谢wangkang提供的分享. 1.下载C#代码:http://bbs.xfyun.cn/forum.php?mod=viewthread

AMR音频文件格式分析

1 概要 如今非常多智能手机都支持多媒体功能,特别是音频和视频播放功能,而AMR文件格式是手机端普遍支持的音频文件格式.AMR,全称是:Adaptive Multi-Rate,自适应多速率,是一种音频编码文件格式,专用于有效地压缩语音频率. AMR音频主要用于移动设备的音频压缩,压缩比非常高,可是音质比較差,主要用于语音类的音频压缩,不适合对音质要求较高的音乐类音频的压缩. 2 AMR编码方式 AMR 一共同拥有16种编码方式. 0-7相应8种不同的编码方式,每种编码方式的採样频率不同; 8-1

[Audio processing] FFMPEG转音频格式和采样率

利用FFMPEG转音频格式和采样率 import os import string import subprocess as sp #Full path of ffmpeg FFMPEG_BIN = "/Users/karl/Documents/python/audio/tool/ffmpeg" #Full path of sourceDir sourceDir = "/Users/karl/Documents/python/audio/" #Full path o