音频数据文件格式(PCM,WAV,MIDI)简记

发布时间:2020-06-23 10:24:28 作者:lengxujun
来源:网络 阅读:2166
  1. PCM(Pulse Code Modulation):脉冲编码调制


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

    转换。




  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数据大小 / 传输速率


  3. MIDI(Musical Instrument Digital Interface)


    首先要明确的是,MIDI存储的数据和前面两种格式均不同,MIDI文件存储的是如何演奏的一系列指

    令。而真正的音频数据则来源一些预定义的乐器数据,如钢琴,贝斯等,每种乐器的不同音色都有

    对应的数据,这些就是平常所说的MIDI音色库。MIDI的通过一系列预定义的消息指令告诉系统怎样

    演奏,这些预定义的指令指定了使用的乐器,节拍,音调等。


    MIDI的存储格式除了以字串MThd标记的一个头部外,还有一个或多个以字串MTrk标记的音轨数据块。



  4. 更多细节以及参考资料

    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

推荐阅读:
  1. yum安装mysql 5.6/7等各个版本
  2. 什么是java源文件的扩展名

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

扩展名 多媒体 调色板

上一篇:angularjs实现天气预报功能的源代码

下一篇:java实现捕获异常的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》