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