Title: MIDI?????????
1MIDI?????????
2???????
- ???????,???????????????????,????????
- ??????????????????????,??????????
- ??????,?MIDI?????????,??????????,???????,?????????
? - ?1983?????????????(MIDI, Musical Instrument
Digital Interface)
3???????
- MIDI?????????????????????
- ???????????MIDI?????????????????????,?????????????
4MIDI????
- ???MIDI??????????Sequential Circuits???1983??????
- MIDI???????
- 1983?3? MIDI Time Code (MTC) ?
- 1987?5? SCSI Musical Data Interchange (SMDI) ?
- 1991?7? ???MIDI???
- 1991?7? MIDI Show Control (MSC) ?
5MIDI????
- ??MIDI????MIDI Manufactures Association,
MMA,international MIDI Association,
IMA????Japanese MIDI Standard Committee,
JMSC??????????MIDI??? - MIDI??1.0????????
- ??MIDI????????
- MIDI????????
- ?????MIDI Message?????????
- 16?MIDI???
6MIDI????
Pin2??
Pin4???,??????
Pin5???,??????
Pin1???
Pin3???
7MIDI?????
- MIDI????????,??????????????,?????????????MIDI?????
?tick,????????????? - ???????100?,??120?tick,???tick????0.005?
8MIDI??????
- MIDI??????,??????????,???????,?????????????????
- MIDI?????????????????????,???bytes???????
9?????(Status Bytes)
- ??Status Bytes?8?bit????????
- Byte IDBit7????????????????MSB (Most Significant
bit),????1?,?????Byte???Status Byte? - Command/Message IDBit6?5?4,??3?bit???,????MIDI
Message?????? - Channel IDBit3?2?1?0?4?bits??????MIDI??????16????
???System Message?,???????MIDI Channel,????????
10?????(Status Bytes)
11?????(Data Bytes)
- Data Byte??????
- Byte IDBit7???????Status Byte??,Data
Byte??????0? - Bit60,?7?bits??????7?bits????0127???,??????MIDI?
???,???????0127?
12Status Byte?Data Bytes???
Status Byte?Data Bytes??? Status Byte?Data Bytes??? Status Byte?Data Bytes??? Status Byte?Data Bytes???
Status Byte MIDI Command 1st Data Byte 2nd Data Byte
808F Note Off Note Number Velocity (Release)
909F Note On Note Number Velocity (Attack)
A0AF PKP Aftertouch Note Number Pressure Position
B0BF Control Change Ctrl Number Ctrl Position
C0CF Program Change Program Number --
D0DF Ch. Aftertouch Pressure Position --
E0EF Pitch Bend Position LSB Position MSB
F0FF System Depends on Message Depends on Message
13MIDI??
14????
- ??????
- Note Off??????????????,?????
- Note No??????????????,?????
- PKP Aftertouch???Polyphonic Key
Pressure????????????????,???????????????????? - Control Change??????,?????????
- Program Change????,??????????
- Channel Aftertouch???????????????
- Pitch Bend????????????????,????????
15????
- ??????
- All Sound Off???????
- Reset All Controller?????????????
- Local Control????????????
- All Note Off???????????
- Omni On/Off/Poly/Mono
- Omni On??????MIDI In Port????
- Omni Off??????,???????Channel????
- Poly????????????,??????
- Mono???????
16????
- ??????
- ????MIDI????????,??MIDI???????????????????MIDI
Time Code???MIDI??? - ??????
- ????????MIDI???
- ??????
- ????????????MIDI?????????????????????????,???????
????????
17MIDI????
- MIDI???Chunk???,????????ChunkHeader Chunk?Track
Chunk???MIDI?????Header Chunk,??????????,?????????
?Track Chunk?????????MIDI?????
18Header Chunk(????)
- ??????4?bytes?????
- ?????4?bytes???Header Chunk?????
- ????2?bytes??3???
- ??0????,???Header Chunk??????Track Chunk
- ??1??????,???Header Chunk????????Track
Chunk???????????? - ??2???????,?????Track Chunk,???????????????
- ?????MIDI??????Track Chunk
- ?????????,?????????????,??MIDI??,?????????,?SMPT
E Time Code???
19Track Chunk(????)
- ??????4?bytes??????
- ?????4?bytes???Track Chunk??????
- ???????????,??Delta Time?Event?
- Delta Time???Event????Event?????,???????,????tick
? - Event???Meta Event?MIDI Event?SysEx Event?
- Meta Event?MIDI????????
- MIDI Event?????MIDI????
- SysEx Event??MIDI System Exclusive???
20MIDI??(??)
0 1 2 3 4 5 6 7 8 9 A B C D E F
00H 4D 54 68 64 00 00 00 06 00 01 00 02 00 F0 4D 54
10H 72 6B 00 00 00 13 00 FF 58 04 04 02 18 08 00 FF
20H 51 03 09 27 C0 00 FF 2F 00 4D 54 72 6B 00 00 00
30H 0D 00 90 3C 50 81 40 80 3C 40 00 FF 2F 00
- 4D 54 68 64??????
- 00 00 00 00??????
- 00 01???????1,??????
- 00 02???2?Track Chunk?
21MIDI??
0 1 2 3 4 5 6 7 8 9 A B C D E F
00H 4D 54 68 64 00 00 00 06 00 01 00 02 00 F0 4D 54
10H 72 6B 00 00 00 13 00 FF 58 04 04 02 18 08 00 FF
20H 51 03 09 27 C0 00 FF 2F 00 4D 54 72 6B 00 00 00
30H 0D 00 90 3C 50 81 40 80 3C 40 00 FF 2F 00
- 00 F0?????F01624010???
- 4D 54 72 6B??????
- 00 00 00 13??????
- 00?Delta Time??0?
22MIDI??
0 1 2 3 4 5 6 7 8 9 A B C D E F
00H 4D 54 68 64 00 00 00 06 00 01 00 02 00 F0 4D 54
10H 72 6B 00 00 00 13 00 FF 58 04 04 02 18 08 00 FF
20H 51 03 09 27 C0 00 FF 2F 00 4D 54 72 6B 00 00 00
30H 0D 00 90 3C 50 81 40 80 3C 40 00 FF 2F 00
- FF 58 04?Meta Event (FF)??,58??????,??4?bytes????
- 04 02??????(04)?,????(22)????
- 18 0818162410?MIDI Clock??8?32????
- 00?Delta Time??0?
23MIDI??
0 1 2 3 4 5 6 7 8 9 A B C D E F
00H 4D 54 68 64 00 00 00 06 00 01 00 02 00 F0 4D 54
10H 72 6B 00 00 00 13 00 FF 58 04 04 02 18 08 00 FF
20H 51 03 09 27 C0 00 FF 2F 00 4D 54 72 6B 00 00 00
30H 0D 00 90 3C 50 81 40 80 3C 40 00 FF 2F 00
- FF 51 03?Meta Event (FF)??,51????,??3?bytes????
- 09 27 C00927C0??????600000,????????(10-6),??????0
.6?,?????100?? - 00?Delta Time??0 ?
- FF 2F 00?????
24MIDI??
0 1 2 3 4 5 6 7 8 9 A B C D E F
00H 4D 54 68 64 00 00 00 06 00 01 00 02 00 F0 4D 54
10H 72 6B 00 00 00 13 00 FF 58 04 04 02 18 08 00 FF
20H 51 03 09 27 C0 00 FF 2F 00 4D 54 72 6B 00 00 00
30H 0D 00 90 3C 50 81 40 80 3C 40 00 FF 2F 00
- 4D 54 72 6B??????
- 00 00 00 0D??????
- 00?Delta Time??0 ?
- 90 3C 50??Note ON?Channel 0,????C (Do),???5016?
25MIDI??
0 1 2 3 4 5 6 7 8 9 A B C D E F
00H 4D 54 68 64 00 00 00 06 00 01 00 02 00 F0 4D 54
10H 72 6B 00 00 00 13 00 FF 58 04 04 02 18 08 00 FF
20H 51 03 09 27 C0 00 FF 2F 00 4D 54 72 6B 00 00 00
30H 0D 00 90 3C 50 81 40 80 3C 40 00 FF 2F 00
- 81 40?Delta Time,???192tick,?????
- 192tick x(1beat/240tick)x(1min/100beats)x(60sec/1
min)0.48?? - 80 3C 40Note Off ???C?
- 00?Delta Time??0 ?
- FF 2F 00?????
26MIDI??(??)
0 1 2 3 4 5 6 7 8 9 A B C D E F
00H 4D 54 68 64 00 00 00 06 00 01 00 02 00 F0 4D 54
10H 72 6B 00 00 00 13 00 FF 58 04 04 02 18 08 00 FF
20H 51 03 09 27 C0 00 FF 2F 00 4D 54 72 6B 00 00 00
30H 0D 00 90 3C 50 00 30 50 81 40 80 3C 40 00 30 50
40H 00 FF 2F 00
- ???????,???90 3C 50????0?Delta Time????????,??????
???????
27References
- 1Tim Kientzle, A programmers Guide To Sound,
1998. - 2Eleanor Selfridge, Beyond MIDI The handbook
of Musical Codes, 1997. - 3Robert L. Wick, Electronic and Computer music
An Annotated Bibliography, 1997. - 4Joseph Rothstein, MIDIA Comprehensive
introduction 2nd Edition, 1995. - 5Christian Braut, The Musicians Guide to
MIDI, SYBEX Inc., 1994. - 6Scott Jarol, Anthony Potts, Visual Basic 5
Multimedia Adventure Set, 1998.
28Thanks for your attention!!