MIDI信息规范与软件实现技术简述.doc_第1页
MIDI信息规范与软件实现技术简述.doc_第2页
MIDI信息规范与软件实现技术简述.doc_第3页
MIDI信息规范与软件实现技术简述.doc_第4页
MIDI信息规范与软件实现技术简述.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MIDI信息规范前言MIDI软硬件之所以能够互相沟通,就正如人们签定一类协议一样,有了标准才可以对话。在计算机与MIDI接口卡之间,在MIDI设备之间传递的MIDI信息实际上是一组由MIDI规范规定的二进制代码,它们以多个自己二进制代码组成一个基本的MIDI信息单元(Event),即将多个字节的二进制代码按MIDI规范组合在一起,才能起到沟通的可能。MIDI信息按照其在整个系统中的作用可分为两大类,一类是系统信息(System Message),另一类是通道信息(Channel Message)。一、 MIDI系统信息系统信息是维护整个MIDI系统正常操作的根本。系统信息是针对系统中的所有MIDI设备,而非只针对某一个或某一些设备发出的信息。这样,才有可能保证同步工作。系统信息的分类:系统公共信息(System Common Message);系统实时信息(System Real Time Message);系统独有信息(System Exclusive Message)。系统信息的组成:系统信息一般由若干条状态字节(Status Byte)和若干条数据字节(Data Byte)组成。状态字节用来表示某一种操作,或某一种信息类型等等,数据字节表示数据或量的大小。状态字节必须具备,而数据字节则根据实际情况而定,有些系统信息可以没有数据字节。1、 状态字节的组成(请看下图)D7D0字节标识 命令/信息标识 信息种类字节标识是一个识别位,状态字节的最高位必须是1,而数据字节的最高位必须是0,这样就可以使计算机快速识别出哪一个是状态字节。命令/信息标识识别位由三个位来表示MIDI信息或命令的种类,而最后四位代表信息种类。2、 数据字节的组成(请看下图)D7D0字节标识 数据位数据字节的第一个也是识别位,必须为0,后面七位则用来表示数据位,那么00000000B01111111B则可表示十进制为0127的数值。在MIDI系统中一般数量表示皆为十进制0127之间,就是因为受到位数的限制。3、 系统公用信息系统公用信息的状态字节取值从F1F7H,共有7项:1)MIDI Time Code Quarter Frame MIDI四分之一帧时间吗由一个状态字节和一个数据字节组成,格式为状态字节:11110001B F1H数据字节:0nnndddd nnn为信息类型,dddd为数据作用:把SMPTE时间吗同步信息转换为MIDI时间码的格式,SMPTE时间码是广泛应用于电影或电视摄制中的时间码。在用MIDI系统来进行配乐时,SMPTE时间码只有转换为MIDI时间吗的格式,才能够被MIDI系统采用和接受。一个SMPTE时间码需要4个MIDI Time Code Quarter Frame来表示,其中在数据字节中可以指明是小时、分、秒还是帧,dddd则是相应的数值大小。2)歌曲位置指针(Song Position Poiter):该项系统功用信息由一个状态字节和两个数据字节组成,格式为:状态字节: 11110010B F2H第一数据字节 0LLLLLLL L为LSB第二数据字节 0hhhhhhh h为MSB功能为指示歌曲中当前位置的指针。第洋个数据字节为低位数据字节,第二个字节为高位数据字节。MIDI在计算时间上的单位不是分秒,而是Tick。当每分钟的节拍数发生了变化时,Tick所代表的时间也发生相应变化。所以歌曲位置指针与Tick没有直接联系,而与MIDI时钟有直接联系。SPP系统信息在系统同步中起重要作用,有了它就可以在歌曲中找到任何一点了。3)歌曲选择(Song Select):由一个状态字节和一个数据字节组成:状态字节: 11110011 F3H数据字节: 0SSSSSSS S为歌曲选择此系统信息为选择指定播放的歌曲,可以通过SSSSSSSS的值(0127)来指定播放哪一首歌曲。4)音调调整(Tune Request)由一个状态字节组成状态字节: 11110110 F6主要用于老式合成器的音调调整。5)结束系统独有信息(End of system Exclusive Message)由一个状态字节组成状态字节: 11110111 F7H表示系统独有信息到此结束。4、 系统实时信息( System Real Time Message)系统实时信息共有8个,均只有状态字节而没有数据字节。实时信息即为即时传送和执行的系统信息。1) 定时时钟(Timing Clock)只有一个状态字节状态字节 11111000B F8H主要作用为使MIDI设备的内部时钟与MIDI Clock同步。MIDI设备接收到该系统信息会使自己内部的时钟与系统的MIDI Clock 同步锁定。2) 开始(Start)只有一个状态字节状态字节 11111010B FAH启动MIDI设备播放MIDI信息,一旦第一MIDI Clock到达,就立即开始演奏。3) 继续(Continue)只有一个状态字节状态字节 11111011B FBH当MIDI设备播放被暂时停止时,歌曲位置指示仍然记录暂停点位置,当你发出继续信息时,MIDI设备会以SPP位置开继续演奏下去。4) 停止(Stop)只有一个状态字节状态字节 11111100B FCH作用为停止MIDI信息的播放工作。5) 活动检测(Actve Sensing)只有一个状态字节状态字节 11111110B FEH改系统信息的作用是检测系统中的MIDI信息传递是否仍在活动的命令,如果系统在300ms之内无MIDI信息活动,则MIDI设备将停止播放MIDI信息,回到正常状态。6) 系统启动(System Reset)只有一个状态字节状态字节 11111111B FFH该系统信息的作用是完成真个系统的启动,这条命令与计算机中的RESET作用类似,接受该信息后的MIDI设备将完成下列操作:A、 设置Omni on/play状态B、 设置Local OnC、 关闭所有发音D、 复位所有的控制器E、 设置歌曲位置到0F、 停止Play的动作G、 回到重开机的状态以上系统实时信息主要是为MIDI系统实时操作中同步服务的,MIDI系统以MIDI Clock为主要同步步骤,为了使参与MIDI系统的设备能够对系统实时信息做出反应,应该把这些MIDI设备中的模式选择为“External”或“MIDI Clock”,这样整个MIDI设备就以外来的系统MIDI Clock为同步内部的时钟,实时信息才能够正常完成。5系统独有信息系统独有信息是一种特殊的系统信息,这种系统信息留给各个生产厂家定义自己的系统信息,在MIDI规范中没有同意的规定,各生产厂家可以利用这些系统独占信息来定义只有本厂设备才能够识别的信息。系统独有信息的结构如下图:状态字节 数据字节 数据字节 数据字节 状态字节F0H 00H-7FH 00H-7FH F7H系统独占状态 厂家标识 产品代码 若干数据字节 系统独占信息结束第一个状态字节和最后一个状态字节是确定的。第二个为厂家标识,根据厂家标识的不同,可以将系统独有信息分为四大类:制造厂家系统独有信息 ID 00H7CH非商业用途系统独有信息 ID 7DH非实时系统系统独有信息 ID 7EH实时系统系统独有信息 ID 7FH制造厂家系统独有信息属于不同的厂家以下列出常用的MIDI设备厂家的ID:厂家名称 IDKawai 40HRoland 41HKorg 42HYamaha 43HCasio 44HAkai 47H等等非商业用途系统独有信息主要是保留给研究单位与学校使用非实时系统独有信息唯一用途是用于采样机上的取样数据传送,为了使不同厂家生产的取样机取得的数据可以相互通用,国际MIDI协会公布了数字取样数据传递标准(Sample Pump Stander)。实时系统独有信息,主要用于完成SMPTE到MIDI时间码的转换,以达到使用MIDI技术为影视作品配音的目的。二、 MIDI通道信息通道信息是指MIDI系统中发给某一个通道上MIDI设备的信息,它与系统信息不同,只有在指定通道上的MIDI设备才会对该信息作出响应,其它的MIDI设备则不会响应。通道信息又可分为通道声音信息,控制改变信息和通道模式信息。通道信息的结构也是由状态字节加上若干数据字节构成,它的状态字节与系统信息的略有不同,其高四位与系统信息相同,低四位在通道信息中是通道号,用0FH表示16个通道的指定。D7D0字节标识 命令信息 通道号1、 通道声音信息1) 琴键释放Note off:由一个状态字节和两个数据字节组成状态字节 1000nnnnB nnnn为通道号第一数据字节 0kkkkkkkB k为键号(0127)第二数据字节 0vvvvvvvB v为速率(0127)主要作用为指示某一通道上的MIDI设备中指定键的释放与其释放速率。2) 琴键按下Note on:本项通道信息有一个状态字节和两个数据字节状态字节 1001nnnnB nnnn为通道号第一数据字节 0kkkkkkkB k为键号(0127)第二数据字节 0vvvvvvvB v为速率(0127)主要作用为指示某一通道上的MIDI设备中指定键已按下及其按下的速度。3) 多音琴键压力(Polyphonic Key Pressure)本项通道信息有一个状态字节和两个数据字节状态字节 1010nnnnB nnnn为通道号第一数据字节 0kkkkkkkB k为通道号(0127)第二数据字节 0vvvvvvvB v为压力值(0127)主要作用为用于指示某一通道上的MIDI设备中,指定按下的压力值。PKP信息在MIDI音源中可以用来改变响度或改变声音的明亮度。4) 通道压力(Channel Pressure)本项通道信息有一个状态字节和数据字节状态字节 1101nnnnB nnnn为通道数据字节 0vvvvvvvB v为压力值(0127)通道压力信息主要用于指示某一通道MIDI设备按键的压力。与PKP信息不同的是,通道压力不是逐个按键返回压力信息,而是只返回一个键的压力信息作为整个通道的压力信息。同样传递按键的压力,通道压力信息比多音琴键压力信息的信息量要少得多。5) 弯音转轮(Pitch Bend)本通道信息有一个状态字节和两个数据字节状态字节 1111nnnnB nnnn为通道号第一数据字节 0vvvvvvv vvvvvvvv低位字节第二数据字节 0vvvvvvv vvvvvvvv高位字节主要作用为传送弯音轮转动时发出的信息。在电子合成器中设置弯音转轮,可以使得电子合成器更好地去模拟各种带有滑动音特性的乐器。6) 程序改变(Program Change)本通道信息有一个状态字节和一个数据字节状态字节 1100nnnnB nnnn为通道号数据字节 0pppppppB p为音色号(0127)本通道信息的作用是指定某一通道上播放的MIDI信息为一组特定的音色,给音色由数据字节的音色号指明。但是在音色号的编排上,各个厂家并不统一。2、 控制改变信息控制改变信息是指控制器中送出的信息,在MIDI设备中除了琴键、触键压力传感器和滑音转轮之外,还有一些其它控制器。分两种,一是送出连续控制量的控制器,另一种是送出开关量的控制器。本通道信息一般由一个状态字节和两个数据字节组成:状态字节 1011nnnnB nnnn为通道号第一数据字节 0cccccccB c为控制号(0120)第二数据字节 0vvvvvvvB v为控制值(0127)控制改变信息主要是送出各种控制器以及其控制量的大小。该信息中的第一数据字节为控制器编号,它指明了该信息代表哪一个控制器,随后的第二个数据字节代表控制值。连续控制量信息和开关控制量信息以第二数据字节中控制号的不同来区分,连续控制信息的控制号为031(00H1FH),3263(20H3FH),7074(46H4AH),9195(5BH5FH),其余数值的控制信息都是开关控制信息。3、 通道模式信息通道模式信息主要是MIDI系统中调整MIDI设备对MIDI信息的接收模式,通道模式信息一共有八个:1)关闭所有声音(All Sound off)由一个状态字节和两个数据字节状态字节 1011nnnnB nnnn为通道号第一数据字节 01111000B 78H第二数据字节 00000000B 00H作用是使指定通道内MIDI设备停止发声。2)复位所有控制器(Reset All Controllers)该通道信息由一个状态字节和两个数据字节状态字节 1011nnnnB nnnn为通道号第一数据字节 01111001B 79H第二数据字节 00000000B 作用是使指定通道内MIDI设备中的所有控制器复位到开机时的初始状态。3)本地控制(Local Controls)该通道信息有一个状态字节和两个数据字节状态字节 1011nnnnB nnnn为通道号第一数据字节 01111010B 7AH第二数据字节 0vvvvvvvB vvvvvvv为0000000时off vvvvvvv为1111111时onLocal Control信息主要用来控制当前的合成器是否使用自身所带的音源。4)关闭所有音符(All note off)该通道信息有一个状态字节和两个数据字节状态字节 1011nnnnB nnnn为通道号第一数据字节 01111011B 78H第二数据字节 00000000B关闭所有音符信息主要用来控制指定通道的MIDI设备上的所有音符停止发音。它与All sound off的区别很难分清,后者主要控制MIDI信息的执行,而前者则是对音源的控制。5)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论