找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 17045|回复: 1

[电脑与MIDI音乐] MIDI基本知识

[复制链接]

2万

积分

19

听众

1万

金贝

中国原创歌词基地高级

积分
26504
anxin 发表于 2017-8-2 15:19:25 | 显示全部楼层 |阅读模式
  MIDI基本知识
* D; q& f5 y" d8 B9 i) C* N9 Q4 V: [
  MIDI技术的基本概念在国内从来没有被反复强调过,然而也就是这些最基本的概念,贯穿了MIDI应用的前前后后。一旦记住和领会了这些基本概念,MIDI的软件、硬件使用就变得简单了。无论那一家公司的MIDI产品,其最核心的设计原理总是一样的。我们在很多朋友的提问中发现,多数问题其实是由于他们没有把握住那些始终不变基本概念,反而把简单的问题复杂化了。有些常识,相信许多朋友也明白,但问题临头就忘了。我们将用一些最直接的文字来向您解释。如果在我们的文章里有不尽人意之处,或有疑问,请联系我们。( Q/ b8 f) t  s' i

, r: l/ {  O! t3 x. h# N4 F3 ~; g: G4 R  一.MIDI基本原理
' y. _- e) w9 |0 E/ X* O% ~" L2 h8 f5 N2 a7 a( ~! ]
  就MIDI信号(或数据)本身而言,不过只是一堆数据而已,没有任何的声音。是MusicInstrumentDigitalInterface的缩写,意思是:音乐设备的数字化界面(或连接)。我们可以把一大堆乐器的音色先录下来,然后每个音色给它一个编号。比如AcousticPiano编号为00。接着再给所有的音高也用一串编号表示(因为我们通常用的是12平均律),比如C3音我们编号为00。剩下就是音符的时值问题,我们可以把8分音符编号为60。好,现在如果要一个原声钢琴8分音符的C3音,就可以用一串数字“000060”来表示。(这就好比一种语言,只不过全是数字。但话说回来,如果当初先辈们不把钢琴这样乐器称为“钢琴”,而叫它“零零”呢?我们今天岂不也会说:“孔祥东的‘零零’弹的是好!”:)) ]7 O) Z# u& _' r$ I0 u0 ^
2 V. g% K2 G) [: S  R" Z! ]
  问题是,如果我是按我的办法把乐器编号的,你是按你自己的办法,那么我设计出来的MIDI乐器就没法和你的MIDI乐器共同工作。(我就不喜欢把AcousticPiano编号为00,编成99不行吗?)最后,一些大的MIDI设备厂商共同制定了一套MIDI标准,无论各家如何开发自己的产品,其基本设计必须参照这套MIDI标准协议,这就是我们常说的“GM标准”(GerneralMIDI)。
  k6 Q2 i, H( i5 D5 I6 k7 o5 b3 V0 L# D7 v
  实际上,还有更多的数字代表不同的含义,用以表现音乐的各种色彩。可以想象,那数据量极大的。如果我们把很多乐器排列、基本发声规律等全部列出,并用相应的数字来编号,就可以得到几张表格。如果MIDI乐器和电脑都采用这套表格,那么电脑和MIDI乐器就可以“沟通”了。但GM标准是一项工业标准,它规定的是一些最基本的规则,而且各大厂商各有一套对乐器、音色、音色表达的研究办法,造成成本不一,所以GM标准留了很大的余地允许厂商把自己的开发成果放入MIDI设备。最早的就是Roland的GS(GeneralStandard)标准,后来又有YAMAHA的XG(ExtendedMIDI)标准。这些表格通常称为“MIDIMapper”(MIDI映射表),它们不仅是用户需要的,每一台MIDI设备内部也会需要相应的映射表来做解码,如此才能让该设备正确工作。
( ~3 ?! T- y! s, H# P; p
. T% o. G- a! C4 F# y8 i6 e6 d  然后,MIDI信号通过设备内部的解码程序,再经过振荡器、滤波器、ADDA转换器、信号放大器等元件,将纯粹的数据变成可以听到的声音。并且,这些元件的工作方式都允许被用户来控制。可想而知,MIDI信号在变成声音的过程中,如果有一个地方不同,那么同一MIDI信号在不同的设备上出来的声音就不同!
& X- u6 o7 B! h* |' {  v. r( O$ O7 b1 o7 U8 Q7 s5 f
  二.MIDIMapper(MIDI映射表)需要设置?
; @2 M' `% Y5 J9 x3 q) j5 D  x) J+ o3 n) S( ~# t8 `1 s( B& q$ ]
  Windows95以后,我们一般无须关心MIDI映射表的问题。而在这前,必须要作些设置才行,否则你无法用电脑玩MIDI。
) }- a  F! H' J) I% Q
$ B# d2 \& O( ]. a; x! a+ B( l) }  看过问题“一”,您会明白,所有的MIDI设备都会有相应的MIDI映射表,并且在你的电脑里也要有相应的MIDI映射表。其中的一张表,里面包含的是MIDI设备的音色排列。无论这些音色是如何排列的,电脑和MIDI设备也只认这些乐器音色的排列编号。您这就会想到:一台音源器里的音色有那么多,我们怎么能很方便的拿出某个音色用?其实这个问题您没必要太关心。$ r) @% |- ?* C* j1 n- a3 n0 @
( _0 L' t/ n* }3 }" k9 D
  其实,目前通行的MIDI设备标准并不多,而且都建立在GM基础上的,所以在电脑里有一张最基本的GM标准的乐器排列表。其它的XG、GS,都只是GM的所谓“扩展”,而且它们作为工业标准,其基本标号格式已被固定了。如此一来就完全可以固定在windows的驱动程序中,由电脑自己去完成。
! |0 Y' n# G* m, j& l
1 p- d/ `6 `% {6 m/ K* d8 u  有时候您会发现这些音色表在电脑里可以改动,难道你的MIDI设备已经那么智能化了?...非也!一般在电脑里的音色映射表是一张标准化的,你“改”过以后生成的是另一个表,内部记录了一些你改动的内容,使用时最后还是会回到那张原始映射表(它是不会变的!)。
8 p/ E  U5 q, L' y8 W9 T" g/ J: _- ~# Q9 Q% J
  三.为什么MIDI设备总是与数字“8”有关?* X! y5 t, L: D: l
& \: g: M# K& i+ u; }3 y8 g2 @8 m" Y1 O
  您可能早已注意到这一现象,不过它并无如何“特殊”意义,只是程序编码上方便而已,因为MIDI程序内通常采用16进制编码,再自动转换为2进制进行工作。(你可以看看“MIDI技术”栏目中的有关文章)* X" I7 n2 w  y1 o* u
# {  k- b- `' _
  每128个乐器音色为一个Bank(音色库);哪怕一个Bank里只有一个音色,也是排满128个号码。(自己做音色库的可得仔细这点)要注意的是,编号从0-127或1-128,总数都是128,目前没有统一使用其中的一种,您可要留心设备说明书了,否则在选音色时会相差一个数。3 T3 t' V, h2 F. e0 ^6 l
5 P- V* l5 r' Q- R8 b5 v
  目前的MIDI设备一般不会只有一个音色库,但最多不会超过128个音色库。如果音色库多,选音色是很繁的。随着MIDI软件的完善,这问题也就很简单了。多数MIDI软件会为你做好最常见的一些MIDI设备的音色菜单,你只要看着音色名称选就可以了。(以前,选音色库实在是很讨厌,要通过该设备的系统码来调用才行。)如Cakewalk里,只要不是非常冷门的牌子、型号,几乎都有了。7 T4 m9 U% B$ ~" J" G. s' q$ F

7 n& J4 z* D1 T* m8 m+ _; ~, d$ j. S  标准控制码(Controller)也是128个,并且大部分目前都空着,留给厂商自己去定义。音量、音符力度等等,最大范围是到128,(至于128以内是如何分档的、达到128时声音有多大、效果提到128时有多大...都由厂商各自制定!)。相位(Pan)一般在64时代表0位置(即中间),0代表声道的最左边,128代表最右边。依此类推。4 C+ w, C# F1 @! b, v2 o

0 H  ^+ J+ S1 G( `* K9 i3 F* o  四.什么是“MIDI文件”?4 \; u- B# l9 q6 E( @) h( `

' m# t" N2 k2 h5 |! }6 g5 [% B  在PC机上,凡是文件后缀为“.mid”的文件,都是“MIDI文件”,而且是“标准MIDI文件”。只要不是什么专用的MIDI软件,这种“.mid”可以在任何MIDI软件里打开、编辑、存盘。
- f& d4 l4 G* k4 u% q2 b) G) i  z- @' s/ L
  “文件后缀”是计算机术语,代表文件的类型、格式。(文件的名称好比一个人的名字,而“后缀”就表示他是黄种人还是白种人。)不同后缀的文件需要在支持、兼容该格式的软件上才能打开。如果你的电脑里看不到文件的后缀,可按以下步骤来做:6 Z- C6 _' j; O, z- U; B
2 Y: d( Z7 m& a7 r* D6 j, j
  1、打开Windows95的“资源管理器”(WindowsExplorer)5 s; a% Z2 }1 B
) c& p* g$ D2 N; e
  2、在工具栏的“查看”(View)栏下有个叫做“功能项”(Option)的,打开它,会出现一个对话框。7 S' B# E7 W6 \$ b
9 P  h! e- @) P% u! w- u( `
  3、该对话框内从上到下有5个选项,只选择第一个和最后一个就行了。
: Y& y. @9 A1 h: U; ~: R% y' O5 H7 j6 F% B9 e7 J8 N6 @6 B8 S
  4、按OK退出后,文件后缀就可以看到了。6 n  G7 f# w  C1 Y1 B
7 y" x6 K) }% q/ l+ i7 o! [; c+ V
  在Windows98中稍微有些不同,按照上面说的仔细找一下就能搞定。除“.mid”标准MIDI文件外,还有一些非标准MIDI文件。如Cakewalk的“.wrk”文件、Band-In-a-box的“.sgu”文件。这些MIDI文件都是由软件开发商自己制定的文件格式,在这些文件里可以记录一些“.mid”文件无法记录的内容。如:“.mid”文件里可以在编辑时插入音频轨道一起处理,但无法把音频内容存盘保留,在Cakewalk里必须将文件存为后缀是“.bun”的文件才行,但“.bun”文件只能在Cakewalk4.0以上版本才能打开,非Cakewalk软件更不允许。注:“.mid”文件又分两种:Fromat0和Format1。
7 }0 q- r- L3 I8 x6 G1 |# P; ^. y* r- @7 `+ n& O) N6 D
  五.MIDI信号是如何传送的?
  y1 {, a0 Q' x2 a" j! C! P- x" [+ v- |3 W/ \3 g0 z
  MIDI信号无论从哪儿传到哪儿都是有时间先后的,就象音乐一样,随时间的推移,音符一一“流”出才能听到完整的曲子,我们称为“MIDI数据流”。每一组MIDI数据都包含自己的时间码,并且所有的时间码都是相对的,只表示谁先走、谁后走,MIDI设备接受、处理时也会绝对遵守“先来后到”的原则。+ R) Y' `# S' ~- L  F1 b

9 \4 b& s9 F6 n; ]" ?/ @  MIDI设备在接收到MIDI数据时,首先会判断:哪些数据是给“自己”的,然后收下,交给内部其它程序处理;如果不是的,就通过MIDIThru或MIDI输出口送出,交给下一台设备;...。(这些要求都可以在软件里由用户设定的,每一轨道的MIDI数据都会包含这种“要求”。)1 j/ M" \, Y. {% @/ n
% {; Z: p4 L/ t; ?- y
  MIDI设备通过MIDI线、MIDI盒连接起来,一般总是会连成一个封闭的环路(Echo),也就是说:从电脑的MIDI接口输出,无论接过什么MIDI设备,最后总有一路线该回到电脑的MIDI接口。当然,在一些小型的现场,也可以连成不封闭式的。
* o+ S- A+ @. J9 |7 G$ v* X0 X+ S$ g0 w+ o) p; @& B) X8 t
  MIDI设备的连接上,总是MIDI输出对应MIDI输入、输入对应输出。MIDIThru,作为MIDI信号经过口(其实就是转接口):送入该设备输入口的、未处理的MIDI信号,一般可以通过MIDIThru口送出至下一设备。如果电脑软件里没有做相应的设置,那么MIDI信号会被全部送入下一设备。/ m7 |" V- }7 Z( o1 M; B' o9 o+ a
4 M+ p' z4 z5 E) H' T
  
音频应用店铺 音乐发布 中国原创歌词网
回复

使用道具 举报

2204

积分

3

听众

998

金贝

中国原创歌词基地初级

积分
2204
3566195497 发表于 2017-8-6 20:05:12 | 显示全部楼层
分享,谢谢楼主发布啊
音频应用店铺 音乐发布 中国原创歌词网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

小黑屋|手机版|音频应用|歌词网|投稿|中国原创歌词基地 ( 鄂ICP备13005321号-1 )

GMT+8, 2026-3-14 13:37 , Processed in 0.038954 second(s), 7 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

快速回复 返回顶部 返回列表