微信订阅号二维码
本栏目热门内容
  • 全格式自动改名器 Ver 4.0...
  • mp3的无损版本:mp3HD已经...
  • Ogg Theora 1.0 发布
  • 继Opera之后,Firefox(Ge...
  • Linux 音频 API 指南
  • Module音乐大全
  • 常见疑问(FAQ)
  • WaveCN 教程
  • 发现一个德国人做的音频网...
  • Rockbox Utility介绍及Roc...
  • 基于WaveX低级音频函数的...
  • 最流行的无损压缩格式FLAC...
  • 安装使用WaveCN
  • 音频制作与编辑初级教程节...
  • 如何用WaveCN录制自己的音...
  • Rockbox系列三:关于 Rock...
  • MPEG-4 音频无损编码:MPE...
  • Rockbox 3.0 释出。
  • Rockbox系列一:开源的Roc...
  • 音频文件格式全介绍
  • 音频术语中常见的“采样频...
  • WaveCN 运行截图
  • Windows 播放音频文件音量...
  • 最流行的无损压缩格式FLAC...
  • 来自俄罗斯的无损音频压缩...
  • Graph Editor 教程
  • LA - LosslessAudio 无损...
  • 最流行的无损压缩格式FLAC...
  • Rockbox系列二:Rockbox具...
  • 更多...

    如日中天的MIDI
    作者:Sender  来源:WaveCN.com  发布日期:1999-06-01  最后修改日期:2008-02-13
    写在前面的话:
      本文花了我不少的时间,与MP3和MOD那两篇相比不可同日而语。希望对大家有所帮助。还有就是那句老话,如要转载于任何媒体请先征得作者本人(苏信东)同意。


     
    1 什么是MIDI? What is MIDI?
    2 通用MIDI系统标准 Level 1 General MIDI System Level 1
      2.1 GM 设备特性
      2.2 GM声音集
    3 可下载声音 - Level 1规范 Downloadable Sounds - Level 1 Specification
      3.1 介绍
      3.2 DLS Level 1概要
    4 计算机音频的成长
    5 探索“MIDI-2”及MIDI的未来
    6 XMIDI: 是否一种标准?

     

    1 什么是MIDI?
     What is MIDI?

      MIDI的全称是The Musical Instrument Digital Interface,乐器数字界面。MIDI使得人们可以利用多媒体计算机和电子乐器去创作、欣赏和研究音乐。MIDI由三个部分组成,分别是:通信协议Communication Protocol,连接器Connector(硬件界面)及其传播格式,称为标准MIDI文件Standard MIDI Files

    通信协议 Communication Protocol
      MIDI协议是一个二进制形式的完整的音乐描述语言。每一个描述乐器演播的动作的字都赋给一个特定的二进制代码。MIDI是起初是为了电子键盘(“电子琴”)而设计的,所以很多动作都是定向打击的。在MIDI语言中要奏响一个音符,你要发出一个“音符开”(Note On)消息,然后对该音符赋以一个“速度”,用以判断该音符能奏多响。其他的MIDI消息包括选择哪件乐器演奏、混合和平移声音和控制电子乐器等等。

    连接器 Connector
      根据MIDI 1.0规范,唯一批准使用的MIDI接头是一个5针DIN接头。当然可以通过其他连接器和电缆来传送MIDI消息,但这样做的话就会出现越来越多的变化从而使得越来越难保证不同产品之间的连接能力。MMA当前没有批准MIDI 1.0规范可以使用其他的连接器,但准备在下一代的MIDI规范中采纳新的连接器。

      与此同时,因为许多个人电脑没有为5针DIN接头留下空间,许多制造商决定使用串行口或游戏杆端口来连接MIDI乐器。好一些MIDI乐器实际上已经配备了一个8针的“小型DIN(mini DIN)”串行口,使得可以把该乐器与某些计算机直接相连。但只有一个方法把只有5针DIN插头的MIDI设备和计算机的游戏杆端口相连:一条特殊的转换电缆。而且通常都要单独购买。

      但是,要注意的是有许多声音卡的MIDI接头并没有按照MMA所制订的电气标准来设计,原因大约是因为电气工程师并不是音响工程师,他们不知道对线路的改动会直接影响传输。最严重的后果是可能会产生消息的解释问题。一般地,问题都是出在把MIDI IN和MIDI OUT都接地从而形成接地回路,产生噪音。由于涉及电路设计问题,所以这里不详述。有兴趣的朋友可以到以下网址自行查阅:http://www.midi.org

     

    标准MIDI文件 Standard MIDI Files
      当MIDI消息存储在磁盘上时,通常是以与本地MIDI协议有些微不同的标准MIDI文件格式存放。因为事件通常都是以时间片的形式以适当的顺序进行播放。以MIDI文件的形式发布音乐是现在MIDI最常见的用法。MIDI是许多流行PC游戏和CD-ROM娱乐作品的主要音源,并且在Internet上有成千上万的MIDI文件供再创作使用。几乎所有的个人电脑都配备有播放MIDI文件的功能。

      MIDI之所以能够流行的一个原因是它与数字音频文件(.WAV,.AIFF等)、CD或录音带都不同。一个MIDI文件不需要捕捉和存储实际的声音,取而代之的是,MIDI文件可以仅仅是一个事件的列表,描述了一个声音卡或其他播放设备要产生某种声音的特定的步骤。基于这一原因,MIDI文件比数字音频文件小得多,并且事件是可以编辑的,音乐可以重排,编辑,甚至交互式作曲,随心所欲。

      通过近来可下载声音Downloadable Sound格式的产生,MIDI文件也可以携带非标准的乐器样本、音效甚至人的对话,用于创建作曲家想要的某种确切的声音的拷贝。带有DLS的MIDI文件是所有那些想使用普通的数字音频播放,但又需要标准MIDI文件的紧凑性和交互性去发表他们的音乐的作曲家的理想的解决方案。

    返回目录

     

    2 通用MIDI系统标准 Level 1
     General MIDI System Level 1

      在1991年9月,MIDI制造商协会(MMA)与日本MIDI标准委员会(JMSC)采纳了“通用MIDI系统标准 Level 1”规范(General MIDI Level 1),从而开创了MIDI技术的新纪元,该规范设计为MIDI乐器之间的互相兼容提供了一个最小的功能层次,也为MIDI通向增长中的消费者和多媒体市场铺平了道路。


     

    2.1 GM 设备特性

      一个GM声音产生设备(键盘,声音模块,声音卡,IC,软件程序和其他产品)要成为GM兼容,必须符合通用MIDI系统标准1的要求,并且不能有任何修改或者调整。

    • 声音Voices:最少24个可同时使用的全动态分配声音,并都能用于旋律演奏和打击乐器;或者16个用于旋律演奏的动态分配的声音再加上8个用于打击乐器。所有声音都要对速度有反应。
    • 通道Channels:所有16个MIDI通道都要获得支持,每一个通道可以演奏数量可变的声音(多声音道)。每一个通道可以演奏不同的乐器,基于键的打击乐器总是安排在MIDI通道10。
    • 乐器Instruments:最少16个同时存在的和以不同音色演奏的不同的乐器。最少128个预设的乐器(MIDI程序编号),并符合GM Instrument Patch Map,和47个打击乐器,符合GM Percussion Key Map。
    • 通道消息Channel Messages:支持连续控制器1,7,10,11,64,121和123;RPN #s 0,1,2;通道压力Channel Pressure,音调扭曲Pitch Bend。
    • 其他消息Other Messages:为微调和调音路径还有音调扭曲范围对数据入口控制器和RPN响应,就如通用MIDI系统消息那样。
    返回目录

     

    2.2 GM声音集

      通用MIDI的最大特点就是预定义的乐器表。但是,通用MIDI没有定义产生这些声音的方法,而只是为声音命名而已。虽然这样做可能使得同样的歌曲数据在不同的GM音源上演奏起来不一样,但通用MIDI规范的作者们觉得能够让制造商发挥自己的能力去正确地演奏每一个声音的音色是更为重要。因为这是一个竞争的社会。

      每一个制造商必须确定对于使用通用MIDI所写出来的歌曲数据,他们的乐器产生的声音都能提供一个可接受的表达能力。

    返回目录

     

    3 可下载声音 - Level 1规范
    Downloadable Sounds - Level 1 Specification

       

    3.1 介绍

      可下载声音(DLS)Level 1 规范定义了对基于样本(波表)的合成器声音集传播方法的工业标准。DLS Level 1 允许作曲家和多媒体声音设计人员能够开发自定义的声音集并在现存与未来的大量设备上正确播放。一个DLS兼容的合成器成为一个具有表现力和交互性的音频再生引擎,并且就象作曲家所预期那样演播。

      由于MIDI消息的组合控制的是小的声音样本,正与流式数字音频相反。这使得DLS特别受交互式多媒体应用的欢迎。

      DLS Level 1 规范定义了设备能够播放DLS格式声音样本的最小合成结构和特性。DLS Level 1 于1997-1998年间开始作为PC音频设备出现,许多这样的设备都在对驱动程序做了些许修正的情况下支持DLS Level 1。后来的级别(比如DLS-2)将会定位于提供更强大的表现和特性。

    返回目录

     

    3.2 DLS Level 1概要

      在1997年冬天的NAMM展示会上有一件事被认为是在MIDI的历史上最有意义的事情之一:MMA全体一致批准了DLS Level 1规范。下面,我们来看看这一具有创新性的MIDI扩展的特性。

      对于各种的交互娱乐应用,DLS为游戏开发者和作曲家提供了把自己定制的声音加入到声音卡的ROM中的GM声音集的功能。DLS兼容的设备可以自动从ROM,磁盘或CD-ROM里下载这些声音到系统内存,允许MIDI音乐自由增加新的乐器声音、对话或特殊效果;也就是提供了具有普遍性的交互播放性能,而且可以有无限种可调配的声音。同时,DLS使得电脑声音卡上的波表合成器无须额外的代价就可以产生更好的音乐。

    DLS 软件

      DLS文件格式通常是遵循标准的Microsoft RIFF编排的(使用“DLS”格式)。利用了块(Chunk)和子块(Sub-Chunk)并合并了标准的WAV文件。在DLS规范中有如下的描述:

      “DLS文件格式是用来存储数字音频数据和用来创建一个或多个‘乐器’的接合参数。一个‘乐器’包含的‘区’用于指向同样封装在DLS文件中的波形‘文件’(样本)。每一个区说明了一个MIDI音符和触发相应的声音的速度范围,还包含了诸如封套(envelopes)和循环点这样的接合信息。接合信息可以说明为每一独特的区或整个乐器。”

      DLS所使用的灵活的文件结构意味着一单个样本可以作为不同乐器中的不同区来使用。如下图,一个给出的样本可以作为乐器“1”的“1b”区,同时也是乐器“2”的“2a”区。

    IMAGE2.GIF

    (图 1)

      这里是两种基本的DLS Level 1乐器,如图2。旋律乐器可以用除了通道10以外的任何MIDI通道来存取,并且可以包含最多16个区,所有的区都使用了单独的接合数据集。

    IMAGE3.GIF

    (图 2)

      形成对比的是,有一个单一的DLS Level 1打击乐器(drum kit),只能通过MIDI通道10来使用。如图3,它包含最多可达128个区,每个区对应每一个鼓点音符(可以映射为单一个键或邻近范围的键)。每一个区有自己的接合数据集并指向一个单一的样本。

    IMAGE4.GIF

    (图 3)

      对于旋律乐器和打击乐器两者都相同的是,如果需要的话多个区可以指向相同的样本。

      如图4,音频引擎驱动DLS Level 1乐器是简单相关的,由一个把信号引入到数字控制放大器(DCA)的独立的数字振动器构成。最后送到数模转换器输出。

    IMAGE5.GIF

    (图 4)

      提供一个16或8位的样本给数字振动器,它根据随后送来的定基音控制接合信息一边调制其基音一边播放。样本本身包含的数据定义了其采样率(最低22.05kHz),基MIDI音符数(base MIDI note number),和如果循环的话,循环开始和结束点。DCA根据随着的音量控制接合数据调制结果信号的音量。DLS Level 1不允许对于在单一的乐器内对振动器进行压条法(layering),但是,同,时支持DLS和GM的设备可以任选使用一个声音优先机制从而“偷”到第二个层给一个GM乐器,并以之取代一个DLS旋律乐器(毕竟在标准16个MIDI通道内。只有一个打击乐器可以被使用,并且,如果先前下载并选择了的话,一个DLS打击乐器是优先于GM打击乐器的)。

      DLS Level 1 接合数据包括了一个LFO,两个离散的ADSR封套发生器,和若干个MIDI控制输入。其中一个封套引导信号到数字振动器并用于基于时间改变基音;同时另外一个引导信号到DCA并用于基于时间改变音量。除了标准的按下(attack)时间、衰减(decay)时间、维持(sustain)时间和放松(release)时间等控制参数之外,还存在着一些附加的控制,使能从EG速度(EG Velocity)到按下(attack)比例缩放(即MIDI音符数值影响按下时间)和到衰减比例缩放(即MIDI音符数值影响衰减时间)。EG极性(polarity)可以设为正或反(为零左右)

      LFO可以用作基音或音量控制。它利用了正弦波(可以用三角波代替)并包含了允许设置自身频率(在0.1 Hz与10 Hz之间)和要延迟的开始时间(在10毫秒与10秒之间)的控制。

      MIDI控制器输入包括:键值、键速度、基音弯曲、连续控制器消息卷(continuous controller messages Volume cc #7)、表达(cc #11)、平移(cc #10)等等。并支持“复位所有控制器(Reset All Controler)”和“关所有音符(All Notes Off)”通道模式消息。DLS Level 1设备控制器加电默认值如下:

    • Volume = 100
    • Expression = 127
    • Pan = 64
    • Modulation Wheel = 0
    • Pitch Bend = 0
    • Sustain Pedal = 0

      DLS兼容设备可以进入一个特殊的“DLS”模式来接收如下的“DLS系统开(DLS System On)”系统特权消息:

    F0h 7Eh <device ID> 0Ah 01h F7h

      一旦进入了DLS模式,设备就可以把一个下载声音放到任何段(bank)或乐器的位置,因此避免了与其他需要某种声音装载到特定位置的操作模式(诸如GM,GS或XG)相冲突。DLS Level 1 设备必须支持“MIDI 程序改变(MIDI Program Change)”消息(并且可选支持“段选(Bank Select)”消息)作为选择乐器让每个通道播放的意思。当然,设备只需提供最少的单一旋律乐器段来存放可下载声音。在这种情况下,设备驱动程序的设计者可以选择“虚拟”进来的“段选”消息,从而使能指向设备的实际可用的地址空间。

      如下的“DLS系统关(DLS System Off)”系统特权消息用作使DLS兼容设备返回原来默认的工作模式:

    F0h 7Eh <device ID> 0Ah 02h F7h

      如同“GM系统开(GM System On)”和“GM系统关(GM System Off)”消息,<device ID> = 7Fh 在DLS系统开和DLS系统关消息中作为到所有兼容设备的“广播”。

    DLS硬件 DLS Hardware

      如下是DLS兼容设备的最小硬件需求:

    • 就如GM,必须支持至少24个同时发出的声音;
    • 设备必须有足够的内存存放至少256K字的样本数据(也就是512KB字节)
    • 设备必须能够同时支持最少128个DLS乐器、128套接合数据集和128个区或样本。
    • 最少的输入采样率为22.05 kHz。
    • 既支持DLS又支持GM的设备必须能够同时支持这两种模式,在这两种模式之间共享MIDI通道。

      MMA(和他们的分部IASIG,交互音频工作组)并不满足于现有的成功,并已经继续向前发展。DLS Level 2 辩论已经开始。Level 2 正在考虑的特性包括:多接合信息;增加滤波器和诸如reverb这样的效果;支持更高的采样率;交替调音;不同的循环形式(并可能使用数据压缩);改善(并动态选择)声音优先级;增强封套控制和LFO波形;扩展对内存和多声音乐的最小需求。同样,Level 2 可能去掉旋律乐器和打击乐器之间的区别,使所有乐器都支持128个区。

    返回目录

     

    4 计算机音频的成长

      即使在无声电影的年代,那些现代娱乐的先驱就已认识到提供高质量配音去增强视觉体验的重要性。在电影中出现对话之前,剧院的钢琴手就提供了音乐氛围给观众。后来,出现了对话和音效。今天,电影的原声大碟已经成为娱乐商业领域的一种艺术,需要最好的作曲家和使用了诸如“环绕声”和多通道数码播放这样的科技。

      基于计算机的娱乐刚刚走出就如当年电影伴音那样的黑暗年代。今天的主流多媒体计算机并不能带来艺术性的音响效果,主要是因为产生声音所使用的是一些通用但落后的技术。结果是开发者无法为自己的作品提供贴切和真实的声音。

      部分的问题是基于一种称为“FM 合成(FM synthesis)”的技术。在播放音乐时,合成器允许创造许多即使是不可能的不同的声音。比如,使用合成器即使没有钢琴在手也可以产生钢琴的声音。但FM合成只是产生声音的方法之一,并不是最效果最真实的方法。实际上,随着专业乐器的发展,FM合成在今天的市场上已显得过时了。

      最好质量而又最普通的方法也很简单:记录下实际的乐器声音并存起来以便播放。这种技术典型地被称为“波表合成”,并需要一个波表合成器和一个声音样本库来创建需要的声音。数据压缩机制和硅技术的发展极大地减低了波表合成器的成本,使其在PC市场上开始流行。

      虽然真实性的质量每个制造商都不相同,一个好的波表合成器可以产生与真实乐器记录下来的声音几乎一样的效果。波表合成器同样提供了“样本”,不象FM只能产生确定类型的基于物理声学的FM声音模式的声音。

      奇怪地,当PC市场快速地消耗掉在CPU和图形方面的提高,FM合成器不管已经出现了更好的性能价格比更高的产品而能够继续售卖。长期以来FM是PC音频具有适当价格的唯一的合成器技术。使得FM成为开发者的实际标准。

      然后,在1991年,MMA创建了“通用MIDI”,一个提供了音乐合成器设计标准的规范并打开了PC通向更好的合成器技术的大门。通过使用通用MIDI技术就可以不再依靠FM合成器,并且开发者可以创造与真实声一样的音乐。

      随着多媒体计算机市场的发展,顾客开始寻找回报更高的应用和使用他们的投资的最好的方向。感谢波表合成器,他们可以在手头拥有完整的管弦乐队,并可以着手于研究或创造音乐的冒险。更好的声音,更多的变化使得波表成为多媒体PC的必须,结束了FM的年代。

     

    返回目录

     

    5 探索“MIDI-2”及MIDI的未来

      在这么多年以来,MIDI的技术发展与其他技术相比显得较慢。原因主要是因为市场对MIDI并没有更高的要求。MIDI并不是一种复杂的东西。也不就是说因为缺乏推动力,所以MIDI将会停滞不前。MMA将会致力于发掘顾客的需求并把新的特性增加到MIDI中去。象现在的DLS技术便是一例。

      同时,MMA仍然继续基于作曲家和媒体开发者而改善通用MIDI的性能,自1985年诞生了MIDI 1.0规范以来,在这个规范的基础上其实已经做了很多的改良,可以说已经面目全非。但关键的是以前生产的乐器在今天仍然可以使用,MMA认为这一点在以后的日子中仍会继续坚持下去。MIDI正在脱离合成器的范畴而逐渐成为一种音乐和音频播放的控制协议。

      可望以后会出现把波表合成器的性能和多音轨数字音频工作站的功能相互混合的产品。这种产品可以改变音乐的制作形式并在不同的市场上发表。如果可能的话,MIDI是会随之作出改变的。

    返回目录

     

    6、 XMIDI: 是否一种标准?

      在过去几年中有不少的杂志或媒体刊登文章报道说“XMIDI”已经成为合成器的一种新标准。MMA否认这一说法,并声明说并不会致力于使XMIDI成为一种新的工业标准。在MMA的声明中,列举了四点主要原因:

    1) MIDI 是一种并不昂贵和无须交纳版税的技术。这些特性在MMA内被认为是重要而且是被接受和增殖的主要理由。但单一来源的定制硬件使这些特性来了个180度大转弯。
    2) XMIDI 的非正影射性界面使其非常难于写出可管理的软件去分析,并且,更重要的是会在用户中造成混乱。推界任何不成熟的技术都会给以后的改良带来困难,并给无论是MMA的成员或普通用户都带来损失。
    3) MIDI 规范是开放给任何人使用的。但XMIDI每个执照所需的保密同意就难以让人接受。MIDI 是基于集体意见和协作精神的,保密协议完全违背了这种精神。
    4) MMA 成员已经多次指出对MIDI的增强不应该增加在31.25K波特率串口线上的数据传输量。但XMIDI将会大量增加需要传输的信息,从而减低了MIDI控制器的反应时间。

      MMA称,并不是MMA在限制或控制技术发展,而且现在也已经有公司在生产XMIDI产品。但在没有MMA的认可之下,XMIDI无法广泛地流传开来,也就不会采用为标准。

    返回目录

    - THE END-

    欢迎关注微信公众号后私信讨论文章内容!
    本栏目相关
  •  2003-07-06 音频文件格式全介绍
  •  2007-02-12 音频术语中常见的“采样频率”对录音效果有什么影响
  •  1999-12-15 MP3 基础知识
  •  2000-05-02 电脑与声音
  •  1999-06-01 如日中天的MIDI
  •  2001-07-23 QuickTime 5, 新的里程碑
  •  2005-12-04 Digital Radio Mondiale 世界数字广播
  •  2006-02-14 Ensonido,普通耳机上的环绕声
  •  1999-07-05 音频处理初步