音频数据格式:PCM,WAV,MIDI

1. 前言

限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。

2. 音频数据格式基础

2.1 PCM(Pulse Code Modulation):脉冲编码调制

把声源数据按一定的频率进行脉冲调制进行存储的数据格式,简单来说就是对模拟声音信号的数字转换。

2.2 WAV

WAV是一种无损音频数据格式。WAV符合RIFF规范。符合RIFF规范的文件可用于存储音频视频交错格式数据(.AVI) 、波形格式数据(.WAV) 、位图格式数据(.RDI) 、MIDI格式数据(.RMI) 、调色板格式(.PAL) 、多媒体电影(.RMN) 、动画光标(.ANI) 、其它RIFF文件,RIFF包含的数据文件格式有文件扩展名来标识。
文件扩展名.WAV用来存储波形数据格式。WAV对于数据编码没有硬性规定,PCM是WAV多种编码格式当中的一种。
采样数据可用 采样频率(WAV通常有22050HZ、44100HZ两种)、采样幅度 2个参数来表示。WAV文件除开40个字节的开头,声音数据部分记录的就是采样的幅度单声道的情况下,如果是单字节8-Bit的采样,就是把声音采样幅度分成 2^8=256 个等级,采样数据记录了当前采样幅度等级。双字节16-Bit的采样同理,只是幅度等级更丰富了( 2^16=64K 个等级)。双声道的情况道理一样,只不过每个声道都有一份数据,所以数据加倍。
上面是对WAV格式技术上的描述。而通常我们采用 (采样频率 + 声道数) 或 传输速率 来描述。如:

44100HZ 16bit stereo : 每秒钟有 44100 次采样, 采样数据用 16(2字节)记录, 双声道(立体声)。
22050HZ 8bit  mono : 每秒钟有 22050 次采样, 采样数据用 8(1字节)记录, 单声道。

44100 * 16 * 2 = 1411200 bits/s
22050 * 8 * 1 = 176400 bits/s

通过上面的计算公式知道了传输速率,如果还知道了WAV文件的数据的大小,可以通过下面的公式计算播放的时长

播放时长 = WAV数据大小 / 传输速率

2.3 MIDI(Musical Instrument Digital Interface)

首先要明确的是,MIDI存储的数据和前面两种格式均不同,MIDI文件存储的是如何演奏的一系列指令,而真正的音频数据则来源一些预定义的乐器数据,如钢琴,贝斯等,每种乐器的不同音色都有对应的数据,这些就是平常所说的MIDI音色库。MIDI的通过一系列预定义的消息指令告诉系统怎样演奏,这些预定义的指令指定了使用的乐器,节拍,音调等
MIDI的存储格式除了以字串MThd标记的一个头部外,还有一个或多个以字串MTrk标记的音轨数据块。

3. 参考链接

WAV和PCM的关系和区别
标准MIDI文件格式

4. 后记

文章从个人51CTO博客(原地址)迁移过来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值