mid是什么音乐文件?为什么这么小?
2010-05-06 17:37
796 查看
midi不是流媒体,是一种波表音乐文件,简单的说,就是将一些乐器的声音元素内置在声卡内存或播放软件的记录中,来实现对mid文件的播放。你可以发现mid都很小,而且他是不能包含人声的,声音是纯音乐,或类似伴奏。 一、MIDI是什么? MIDI是英语Music Instrument Digital Interface 的缩写,翻译过来就是“数字化乐器接口”,也就是说它的真正涵义是一个供不同设备进行信号传输的接口的名称。我们如今的MIDI音乐制作全都要靠这个接口,在这个接口之间传送的信息也就叫MIDI信息。 MIDI最早是应用在电子合成器——一种用键盘演奏的电子乐器上, 由于早期的电子合成器的技术规范不统一,不同的合成器的链接很困难,在1983年8月,YAMAHA、ROLAND、KAWAI等著名的电子乐器制造厂商联合指定了统一的数字化乐器接口规范,这就是MIDI1.0技术规范。此后,各种电子合成器已经电子琴等电子乐器都采用了这个统一的规范,这样,各种电子乐器就可以互相链接起来,传达MIDI信息,形成一个真正的合成音乐演奏系统。 由于多媒体计算机技术的迅速发展,计算机对数字信号的强大的处理能力,使得计算机处理MIDI信息成为顺理成章的事情了,所以,现在不少人把MIDI音乐称之为电脑音乐。事实上,利用多媒体计算机不但可以播放、创作和实时地演奏MIDI音乐。甚至可以把MIDI音乐转变成看的见的乐谱(五线谱或简谱)打印出来,反之,也可以把乐谱变成美妙的音乐。利用MIDI的这个性质,可以用于音乐教学(尤其是识谱),让学生利用计算机学习音乐知识和创作音乐。 二、MIDI文件的性质 所谓MIDI文件实质上是指计算机中记录的MIDI信息的数据,MID文件的扩展名是*.mid。它和另外一种计算机中常用的声音波形文件(*.wav文件)有什么不同呢?表面上,两种文件都可以产生声响效果或音乐,但它们的本质是完全不同的。普通的声音文件(*.wav文件)是计算机直接把声音信号的模拟信号经过取样——量化处理,变成与声音波形对应的数字信号,记录在计算机的储存介质(硬盘或光盘)中。通常,声音文件都比较大,如记录一分钟的声音(立体声、CD音质),大概需要10.5M的储存空间。一首几分钟的歌曲需要几十兆的硬盘,一张CD光盘只能容纳十来首歌曲。为了减少声音文件储存的空间,近年来在计算机技术上采用了压缩技术,把声音文件经过处理,在不太影像播放质量的前提下,把文件的大小压缩到原来的10~12分之一,这就是近年流行的MP3文件格式。而MIDI文件则不是直接记录乐器的发音,而是记录了演奏乐器的各种信息或指令,如用哪一种乐器,什么时候按某个键,力度怎么样等等,至于播放时发出的声音,那是通过播放软件或者音源的转换而成的。因此MIDI文件通常比声音文件小得多,一首乐曲,只有十几K或几十K,只有声音文件的千分之一左右,便于储存和携带。 三、关于MIDI软件 MIDI软件有多种类型,有MIDI播放软件、演奏软件和创作软件几类。通常,大多数的媒体播放器都可以播放MIDI音乐,如WINDOWS95/98的媒体播放器(Windows Media Player)就可以播放MIDI,而且通常是系统的默认播放器,这类播放器在使用中不能对MIDI音乐的参数进行调节。除了媒体播放器以外,MIDI演奏软件和创作软件都可以作为MIDI的播放器使用,这些软件在播放MIDI音乐时,还可以选择不同的音源(波表)播放方式,以获得最佳的播放效果,而且还可以改变MIDI的参数产生出新的播放效果,如改变播放速度、改变乐器音色(如把钢琴演奏曲变成小提琴演奏)、升降调等,大部分软件还可以显示MIDI音乐所对应的乐谱(五线谱或简谱)甚至歌词内容等信息,还可以把乐谱打印出来。
相关文章推荐
- C++:析构函数写成虚函数是干什么用的,为什么要这么写?
- [译] Web Components 是什么?它为什么对我们这么重要?
- 什么是 Unix 以及它为什么这么重要
- Linux下,添加了#include 的文件编译时为什么要加 -ml ,gcc 加参数 -ml 是起什么作用呢
- 为什么Netty这么火?与Mina相比有什么优势?
- C++中inline函数的定义为什么要放在头文件中?头文件中“只定义一份”是什么意思?const object 和inline函数是“一次定义规则”
- 友善之臂6410开发环境搭建之——NFS文件系统挂载。(为什么这么做,自行查,方便开发)补充
- 前端项目的总结——为什么要这么分层?好处是什么?
- Win8系统中TMP文件是什么用什么打开为什么要创建
- 为什么Windows 7备份文件这么大?
- 什么是Unix以及它为什么这么重要?
- 为什么不管打开什么文件搜狗拼音输入法都会自动跳出来
- Linux 里有/lib和/usr/lib,这两个目录下的库文件有什么区别吗?如果没区别为什么又要分开放呢
- CHM文件为什么打开什么都没有?
- 什么是dtd文件,为什么需要
- 第一个makefile文件,这么简单,为什么也搞了那么长时间!!
- 昨天刚看了Handler和HandlerThread这个东西,不明白为什么要用这么复杂的东西,而且Handler直接post的话好像还不是子线程运行。那我再开发的时候直接用Thread行不行?两个有什么区别?
- stdafx.h、stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编
- 既然什么都不想失去,那为什么还要这么软弱!!!
- Linux 里有/lib和/usr/lib,这两个目录下的库文件有什么区别吗?如果没区别为什么又要分开放呢