Abstract
This article is intended to be a reliable MIDI file format and implementation reference. It takes QMidiPlayer as an example to illustrate how a basic software-based MIDI implementation works. For the Chinese version, please visit <Chinese version link here>.
Contents [hide]
- 1 Data Representations
- 1.1 Binary values
- 1.2 Variable length values
- 2 Chunks
- 2.1 Header chunk
- 2.2 Track chunks
- 3 Events
- 3.1 MIDI events
- 3.1.1 Running status
- 3.2 Meta events
- 3.3 SysEx events
- 3.1 MIDI events
- 4 Common MIDI Implementations
- 4.1 Pre-GM
- 4.2 GM
- 4.3 GS
- 4.4 XG
- 4.5 GM2
- 5 Implementation details in QMidiPlayer
- 6 Appendix
- 6.1 List of known SysEx's
- 6.2 Instrument list
- 6.3 MIDI Effects
- 7 References