首页 > 代码库 > 音频数据文件格式(PCM,WAV,MIDI)简记
音频数据文件格式(PCM,WAV,MIDI)简记
PCM(Pulse Code Modulation):脉冲编码调制
把声源数据按一定的频率进行脉冲调制进行存储的数据格式,简单来说就是对模拟声音信号的数字
转换。
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数据大小 / 传输速率
MIDI(Musical Instrument Digital Interface)
首先要明确的是,MIDI存储的数据和前面两种格式均不同,MIDI文件存储的是如何演奏的一系列指
令。而真正的音频数据则来源一些预定义的乐器数据,如钢琴,贝斯等,每种乐器的不同音色都有
对应的数据,这些就是平常所说的MIDI音色库。MIDI的通过一系列预定义的消息指令告诉系统怎样
演奏,这些预定义的指令指定了使用的乐器,节拍,音调等。
MIDI的存储格式除了以字串MThd标记的一个头部外,还有一个或多个以字串MTrk标记的音轨数据块。
更多细节以及参考资料
http://www.jianshu.com/p/1d1f893e53e9
http://blog.sina.com.cn/s/blog_622bd1660101aggj.html
http://dev.gameres.com/Program/Listen/MidiFormat.htm
http://wenku.baidu.com/link?url=rij6cVodqiPey0kz96y0p2r42TqoDixsjXdfRwVGoALHBkZtGWrVKJvP38_hEaoypfqwH1OcCwCipT3XpvTu4Azfua9nwBMkBvqzhQtdqVu
本文出自 “JiMoKuangXiangQu” 博客,请务必保留此出处http://4594296.blog.51cto.com/4584296/1842921
音频数据文件格式(PCM,WAV,MIDI)简记