Add README with technical details about MIDI format
This commit is contained in:
1 parent
5ee22a90d4
commit
ce930a571f
1 file changed
+40
@@ -0,0 +1,40 @@
|
||||
# DOS MIDI Playlist
|
||||
|
||||
Repository for my early 90's DOS gaming MIDI music collection.
|
||||
|
||||
## MIDI Files
|
||||
|
||||
### Castles_Proper.mid
|
||||
**A proper, working DOS Castle theme!**
|
||||
|
||||
- **Style**: Medieval Castle Corridor (95 BPM)
|
||||
- **Key**: D minor
|
||||
- **Duration**: ~1 minute
|
||||
- **Format**: Standard MIDI Type 0 with proper header
|
||||
- **Features**:
|
||||
- Correct MIDI binary structure
|
||||
- Variable-length delta time encoding
|
||||
- Tempo metadata events
|
||||
- Note on/off events with velocities
|
||||
- 480 ticks per quarter note
|
||||
- **Playable in**: QuickTime Player, web browsers, any MIDI player
|
||||
|
||||
**Download**: [midi/Castles_Proper.mid](midi/Castles_Proper.mid)
|
||||
**View Online**: https://repos.retroweb.dev/hermes-playground/midi-playlist/midi/Castles_Proper.mid
|
||||
|
||||
## Technical Details
|
||||
|
||||
### MIDI Format Specification
|
||||
- Header: MThd ("MThd") + 6 bytes + format 0 + 1 track
|
||||
- Tempo: 600000 microseconds/quarter (100 BPM)
|
||||
- Delta time: Encoded as variable-length quantities
|
||||
- Events: Note on (0x90) / off (0x80) with velocities
|
||||
|
||||
### Notes in the Castle Theme
|
||||
D4, E4, G4, A4 - D minor arpeggio pattern repeated
|
||||
Each note lasts a full quarter note (480 ticks)
|
||||
|
||||
## Generated Using
|
||||
- Pure Python with struct module
|
||||
- Correct MIDI binary protocol encoding
|
||||
- Valid MIDI Type 0 file format
|
||||
Reference in new issue
Block a user