|
发表于 2005-11-19
|
|阅读模式
MIDI格式 (转)
MIDI指令有若干种,以十六进制表示:
元信息:
FF aa ll xx
aa代表信息种类,ll是长度(字节),xx可有多位,为前面指定长度的信息。 此类信息可记录调号,歌词,同步时间,调整节拍,功能很多,不同播放器支持的种类不同。
音乐信息:
8x hh ff 停止发声
9x hh ff 开始发声
x为0~15,hh表示音高0~127,60是中央C,ff表示强度,0~127
Cx xx
第x音轨,音色变为xx,xx 是乐器代号,0~127,在不同系统中,指代不同,通用的是:
General MIDI标准
PIANO 钢琴 CHROMATIC PERCUSSION
1 Acoustic Grand 9 Celesta
2 Bright Acoustic 10 Glockenspiel
3 Electric Grand 11 Music Box
4 Honky-Tonk 12 Vibraphone
5 Electric Piano 1 13 Marimba
6 Electric Piano 2 14 Xylophone
7 Harpsichord 15 Tubular Bells
8 Clavinet 16 Dulcimer
ORGAN 风琴 GUITAR 吉他
17 Drawbar Organ 25 Nylon String Guitar
18 Percussive Organ 26 Steel String Guitar
19 Rock Organ 27 Electric Jazz Guitar
20 Church Organ 28 Electric Clean Guitar
21 Reed Organ 29 Electric Muted Guitar
22 Accoridan 30 Overdriven Guitar
23 Harmonica 31 Distortion Guitar
24 Tango Accordian 32 Guitar Harmonics
BASS SOLO STRINGS
33 Acoustic Bass 41 Violin
34 Electric Bass(finger) 42 Viola
35 Electric Bass(pick) 43 Cello
36 Fretless Bass 44 Contrabass
37 Slap Bass 1 45 Tremolo Strings
38 Slap Bass 2 46 Pizzicato Strings
39 Synth Bass 1 47 Orchestral Strings
40 Synth Bass 2 48 Timpani
ENSEMBLE BRASS 铜管乐器
49 String Ensemble 1 57 Trumpet
50 String Ensemble 2 58 Trombone
51 SynthStrings 1 59 Tuba
52 SynthStrings 2 60 Muted Trumpet
53 Choir Aahs 61 French Horn
54 Voice Oohs 62 Brass Section
55 Synth Voice 63 SynthBrass 1
56 Orchestra Hit 64 SynthBrass 2
REED PIPE 木管乐器
65 Soprano Sax 73 Piccolo
66 Alto Sax 74 Flute
67 Tenor Sax 75 Recorder
68 Baritone Sax 76 Pan Flute
69 Oboe 77 Blown Bottle
70 English Horn 78 Skakuhachi
71 Bassoon 79 Whistle
72 Clarinet 80 Ocarina
SYNTH LEAD SYNTH PAD
81 Lead 1 (square) 89 Pad 1 (new age)
82 Lead 2 (sawtooth) 90 Pad 2 (warm)
83 Lead 3 (calliope) 91 Pad 3 (polysynth)
84 Lead 4 (chiff) 92 Pad 4 (choir)
85 Lead 5 (charang) 93 Pad 5 (bowed)
86 Lead 6 (voice) 94 Pad 6 (metallic)
87 Lead 7 (fifths) 95 Pad 7 (halo)
88 Lead 8 (bass) 96 Pad 8 (sweep)
SYNTH EFFECTS ETHNIC
97 FX 1 (rain) 105 Sitar
98 FX 2 (soundtrack) 106 Banjo
99 FX 3 (crystal) 107 Shamisen
100 FX 4 (atmosphere) 108 Koto
101 FX 5 (brightness) 109 Kalimba
102 FX 6 (goblins) 110 Bagpipe
103 FX 7 (echoes) 111 Fiddle
104 FX 8 (sci-fi) 112 Shanai
PERCUSSIVE SOUND EFFECTS
113 Tinkle Bell 121 Guitar Fret Noise
114 Agogo 122 Breath Noise
115 Steel Drums 123 Seashore
116 Woodblock 124 Bird Tweet
117 Taiko Drum 125 Telephone Ring
118 Melodic Tom 126 Helicopter
119 Synth Drum 127 Applause
120 Reverse Cymbal 128 Gunshot
实际代号应为列表中的代号减1。
MIDI指令在每条前,必须有间隔的时间,也就是从上一个指令发出,到这一条指令,应该等多长时间。首条指令间隔时间为0。实际时间受到系统计时和节拍速度的共同影响。时间使用“可变长数据”表示。
可变长数据是,把数据的除末字节外最高位设为1,末字节最高位设成0,在其余二进制位中,顺次排列数据。
可变长数据长度为1~4字节。 虽然长度不是无限大,但最大值表示的时间,在中等速度下是大约三天!所以,已经远远超出实际所需范围。
MIDI格式由于其特殊的记录方式,受硬件影响较大。 |
|