MIDI基础知识
=========大部分资源来自网上,有些翻译解释仅供参考==========
-------------------------------www.borg/~jglatt/tech/midispec.htm-----------------------------------
---------------------------------------------------------------------------------------------------
● 什么是MIDI?
MIDI是乐器数字化接口(Musical Instrument Digital Interface)的缩写。是一个国际通用的标准接口。通过它,各种MIDI设备都可以准确传送MIDI信息。
MIDI是乐器数字化接口(Musical Instrument Digital Interface)的缩写。是一个国际通用的标准接口。通过它,各种MIDI设备都可以准确传送MIDI信息。
它的传输方式为异步串行通讯,波特率为31.25K
● MIDI文件的实质是什么?
MIDI 文件本身只是一堆数字信号而已,不包含任何声音信息。它记录的是在音乐的什么时间
MIDI 文件本身只是一堆数字信号而已,不包含任何声音信息。它记录的是在音乐的什么时间
用什么音发多长的音 等等,而真正用来发出声音的是音源,但是不同声卡,不同软波表,不同硬件音源的音是不同的,所以相同的MIDI文件在不同的设备上播放结果会完全不 一样。这是MIDI的基本特点。
● MIDI设备有哪些?
MIDI音乐的基本设备是:音源,音序器,输入设备。
MIDI音乐的基本设备是:音源,音序器,输入设备。
音 源——最终发音的处理单元。不同的音源有不同的音数据,支持格式也不尽相同,有GM,GS,XG等,所以即使相同的midi发音也会不同。
音序器——俗称编曲机。把一首曲子所需的音,节奏,音符等等按照一定的序列组织以数字的形式编辑记录下它们。分软的和硬的。软件音序器也是一个程序,必须在电脑上安装以后通过电脑才能使用。我们应用的很多MIDI制作软件实际上就是音序器软件,如Cakewalk,Encore,Cubase VST等。硬件音序器和硬件音源一样,也是一个实际存在的东西,体积一般都很小,和音源连接以后就可以控制音源发声了。比较有名的硬件音序器有Ya
maha QY10,QY700等。
输入设备——最常见的是MIDI键盘,其他还有MIDI吹管,MIDI吉它,MIDI小提琴等等。它负责把音乐制作者弹奏的动作转变为MIDI信号,通过MIDI连线发送到音序器。
● 关于硬件设备与电脑的连接?
最常用的方法是使用一根MIDI CABLE线与电脑声卡上的JOYSTICK(MPU401)口连接,该线的一头是15针的插口,接在声卡上,另一头有MIDI OUT和MIDI IN的5芯MIDI接口,把MIDI OUT接你设备的MIDI IN,MIDI IN接你设备的MIDI OUT。
最常用的方法是使用一根MIDI CABLE线与电脑声卡上的JOYSTICK(MPU401)口连接,该线的一头是15针的插口,接在声卡上,另一头有MIDI OUT和MIDI IN的5芯MIDI接口,把MIDI OUT接你设备的MIDI IN,MIDI IN接你设备的MIDI OUT。
此外,还有USB连接方式,1394-midi等。
● GM,XG,GS
GM――General MIDI 通用MIDI
Roland和Yamaha分别开发了自己的GM规定称为GS和XG,互相不兼容。 GS和XG需要专
Roland和Yamaha分别开发了自己的GM规定称为GS和XG,互相不兼容。 GS和XG需要专
利授权,不是免费的。
另外,还有一些音源厂家自定义的一些格式,如Dream公司
● MIDI信息
NOTE ON 按键
9nH kk vv MIDI 通道n(0-15) NOTE ON 键值kk(1-127) 力度vv(1-127)
vv=0 表示 NOTE OFF
VELOCITY 力度――表示弹奏时的用力程度。对一个键盘而言,一个按键产生的力度大小是这样来的:简单说,一个按键按下时,会经过两个触点,通过测量两个点之间的经过时间,然后查表而得。这个工作由专门的力度程序完成,且实际的处理过程要更加复杂。现在部分dream产品自带了键盘扫描功能。
NOTE OFF 放键
8nH kk vv MIDI 通道n(0-15) NOTE OFF 键值kk(1-127) 力度vv(0-127)一般无意义
AFTERTOUCH复音触后――表示弹奏以后及松开以前施加的力度。
有的资料也称Key Aftertouch 或Polyphonic key Pressure
每个按键有单独的触后力度。
AnH kk vv 键值kk 压力值vv
CHANNEL PRESSURE 通道触后――表示弹奏以后及松开以前施加的力度。
有的资料也称Channel Aftertouch
一个通道只有一个触后效果,即不是每个按键有单独的触后力度。
DnH vv 压力值vv
对于触后的效果,不同的音源有所不同。
如DREAM芯片:
F0 41 00 42 12 40 2n 20 vv xx F7 Pitch control (-24,+24 semitone) vv缺省40H
F0 41 00 42 12 40 2n 21 vv xx F7 Tvf cutoff control vv缺省40H
F0 41 00 42 12 40 2n 22 vv xx F7 Amplitude (-100% - +100%) vv缺省40H
F0 41 00 42 12 40 2n 24 vv xx F7 Ifo1 pitch depth (0 – 600 cents) vv缺省0H
F0 41 00 42 12 40 2n 25 vv xx F7 Ifo1 tvf depth vv缺省0H
F0 41 00 42 12 40 2n 25 vv xx F7 Ifo1 tva depth (0 – 100%) vv缺省0H
N | midi channel |
0 | 9 |
1-9 | 0-8 |
10-15 | 10-15 |
n对应通道号,对应方法
(一般)为:
注:channel和part的对应可以设置。
xx : don’t care
PITCH BEND 滑音论
以渐变方式增加或减少音符的频率。
EnH bl bh 数据共14位,bh|bl, 缺省bl bh是00H 40H
PROGRAM CHANGE 改变音
CnH pp 音编号(0-127)
对于打击乐通道,可以选择不同的打击乐组。
对于普通通道,可以选择0-127编号的音。
另外,还可以和音库选择控制信息结合起来,选择更多的音。
( BnH 00H cc ――Bank select )
MIDI控制器 ――BnH 编号 参数
MIDI控制器一览表 | ||
编号 | 参数意义 | |
0 | Bank select | 音库选择MSB |
1 | Modulation wheel(coarse) | 颤音深度(粗调) |
2 | Breath controller (coarse) | 呼吸(吹管)控制器(粗调) |
3 | -- | N/A |
4 | Foot Pedal (coarse) | 踏板控制器(粗调) |
5 | Portamento Time (coarse) | 连滑音速度(粗调) |
6 | Data Entry (coarse) | 高位元组数据输入(Data Entry MSB) |
7 | Volume (coarse) | 主音量(粗调) ----绝对的音量 |
8 | Balance (coarse) | 平衡控制(粗调) |
9 | -- | N/A |
10 | Pan position (coarse) | 相位调整(粗调) |
11 | Expression (coarse) | 情绪控制器(粗调) ----相对的音量 |
12-15 | -- | N/A |
16-19 | General Purpose Slider | 一般控制器 |
20-31 | -- | N/A |
32 | Bank Select (fine) | 音库选择LSB |
33 | Modulation Wheel (fine) | 颤音速度(微调) |
34 | Breath controller (fine) | 呼吸(吹管)控制器(微调) |
35 | -- | N/A |
36 | Foot Pedal (fine) | 踏板控制器(微调) |
37 | Portamento Time (fine) | 连滑音速度(微调) |
38 | Data Entry (fine) | 低位元组数据输入(Data Entry LSB) |
39 | Volume (fine) | 主音量(微调) |
40 | Balance (fine) | 平衡控制(微调) |
41 | -- | N/A |
42 | Pan position (fine) | 相位调整(微调) |
43 | Expression (fine) | 情绪控制器(微调) |
44 | Effect Control 1 (fine) | 效果FX控制1(微调) |
45 | Effect Control 2 (fine) | 效果FX控制2(微调) |
46-63 | -- | N/A |
64 | Hold Pedal (on/off) | 保持音踏板1(延音踏板) |
65 | Portamento (on/off) | 滑音(在音头前加入上或下滑音做装饰音) |
66 | Sustenuto Pedal (on/off) | 持续音 |
67 | Soft Pedal (on/off) | 弱音踏板 |
68 | Legato Pedal (on/off) | 连滑音踏板控制器 |
69 | Hold 2 Pedal (on/off) | 保持音踏板2 |
70 | Sound Variation | 变调 |
71 | Sound Timbre | 音 |
72 | Sound Release Time | 放音时值 |
73 | Sound Attack Time | 起音时值 |
74 | Sound Brightness | 亮音 |
75-79 | Sound Control | 声音控制 |
80-83 | General Purpose Button (on/off) | 一般控制器(#5-#8) |
84 | Portmento control――GS | 连滑音控制 |
85-90 | -- | N/A |
91 | Effects Level | 混响效果深度 |
92 | Tremulo Level | (未定义的效果深度) |
93 | Chorus Level | 合唱效果深度 |
94 | Celeste Level | (未定义的效果深度) |
95 | Phaser Level | 移调器深度 |
96 | Data Button increment | 数据累增 |
97 | Data Button decrement | 数据递减 |
98 | Non-registered Parameter (fine) | 未登记的低元组数值(NRPN LSB) |
99 | Non-registered Parameter (coarse) | 未登记的高元组数值(NRPN MSB) |
100 | Registered Parameter (fine) | 已登记的低元组数值(RPN LSB) |
101 | Registered Parameter (coarse) | 已登记的高元组数值(RPN MSB) |
102-119 | -- | N/A |
120 | All Sound Off | 关闭所有声音 |
121 | All Controllers Off | 关闭所有控制器 |
122 | Local Keyboard (on/off) | 本地键盘开关 |
123 | All Notes Off | 关闭所有音符 |
124 | Omni Mode Off | Omni模式关闭 |
125 | Omni Mode On | Omni模式开启 |
126 | Mono Operation | 单音模式 |
127 | Poly Operation | 复音模式 |
、
MIDI系统信息
系统信息是维护整个MIDI系统正常操作的根本。系统信息是针对系统中的所有MIDI设备,而非只针对某一个或某一些设备发出的信息。这样,才有可能保证同步工作。
系统信息的分类:
● 系统公共信息(System Common Message);
● 系统实时信息(System Real Time Message);
● 系统独有信息(System Exclusive Message)。
系统信息的组成:
系统信息一般由若干条状态字节(Status Byte)和若干条数据字节(Data Byte)组成。状态字节用来表示某一种操作,或某一种信息类型等等,数据字节表示数据或量的大小。状态字节必须具备,而数据字节则根据实际情况而定,有些系统信息可以没有数据字节。
1、 状态字节的组成(请看下图)
D7 | D033xxkk | ||||||
字节标识 命令/信息标识 信息种类
字节标识是一个识别位,状态字节的最高位必须是1,而数据字节的最高位必须是0,这样就可以使计算机快速识别出哪一个是状态字节。命令/信息标识识别位由三个位来表示MIDI信息或命令的种类,而最后四位代表信息种类。
2、 数据字节的组成(请看下图)
D7 | D0 | ||||||
字节标识 数据位
数据字节的第一个也是识别位,必须为0,后面七位则用来表示数据位,那么00000000B—01111111B则可表示十进制为0~127的数值。
系统公用信息
系统公用信息的状态字节取值从F1~F7H,共有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则是相应的数值大小。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论