【数据压缩】wav格式初学习
来源:互联网 发布:捕鱼达人 h5源码 编辑:程序博客网 时间:2024/05/18 18:47
WAVE文件格式分析
Q:8bit和16bit样值的二进制编码方式表示一样吗?
A:8bit样值储存为unsighed bytes格式 ,取值范围为0-255。16bit样值则被储存为2字节signed integers,取值范围为-32768-32767。
值得一提的是,如果WAV文件通道数为2,左右声道交替储存。如下图棕色区域所示
Q:现有的WAV支持哪几种音频压缩方法?
A:
Code Description
0 (0x0000) Unknown
1 (0x0001) PCM/uncompressed
2 (0x0002) Microsoft ADPCM
6 (0x0006) ITU G.711 a-law
7 (0x0007) ITU G.711 µ-law
17 (0x0011) IMA ADPCM
20 (0x0016) ITU G.723 ADPCM (Yamaha)
49 (0x0031) GSM 6.10
64 (0x0040) ITU G.721 ADPCM
80 (0x0050) MPEG
65,536 (0xFFFF) Experimental
code对应着上文数据结构中的AudioFormat字段。
参考:http://blog.csdn.net/stelalala/article/details/17058755
将采样率48khz的wav文件转换成44.1khz
利用matlab读取wav(“Human Legacy人类遗产.wav”)数据,重采样后输出新的wav(“Human Legacy人类遗产_output.wav”)。
matlab代码:
[x,fs] = audioread('E:\yasuo\wav\Human Legacy人类遗产.wav'); x1 = resample(x,44100,fs); audiowrite('E:\yasuo\wav\Human Legacy人类遗产_output.wav',x1,44100,'BitsPerSample',24);
48k->44.1k不能直接进行整数倍关系抽样,用resample进行插值再抽样变换。
由于原文件的BitsPerSample在ultraedit中观察为24,在调用audiowrite()函数时指定输出文件的BitPerSample也为24,默认为16。
(代码如有错误请指正)
如下图,文件储存格式字节序为小端字节序。光标处24-27字节对应着SampleRate,hx’BB 80=d’48000。
输出文件16进制查看如下图,对应着重采样后的SampleRate,
hx’AC 44 = 44100。
下采样后的音频文件时常没有发生变化,仍未4分58秒
- 【数据压缩】wav格式初学习
- 【数据压缩】WAV文件格式
- 【数据压缩】WAV PCM FORMAT
- wav格式
- wav格式
- wav格式研究
- wav 格式 wformattag 2
- WAV格式及源码
- Wav格式剖析 (转)
- WAV头格式分析
- WAV格式封装PCM
- WAV 格式详解
- wav 格式 wformattag 2
- WAV格式详解
- WAV格式总结
- WAV音频文件格式
- wav格式分析
- wave文件 wav格式
- C 语言 数据操作
- 【OJ二分06】月度开销
- IO中同步、异步与阻塞、非阻塞的区别
- logstash 服务启动脚本
- 刷题总结#11
- 【数据压缩】wav格式初学习
- 数组
- 索引
- Openstack :1、centos7-minamal虚拟机安装devstack
- React Native 实战系列一
- C++第三次实验项目2
- woj Divide by Six 数位dp
- 网络编程_发送端的数据来自于键盘录入案例
- -----hdu2504 又见GCD