MIDI file creation

From CCARH Wiki
Jump to navigation Jump to search

Create a MIDI file with at least 25 MIDI messages.

Incorporate at least 4 of the following features into the MIDI file:

  • Type-1 MIDI file (multi-track)
  • Patch change (timbre/instrument change)
  • Pitch bend (glissandos, temperament)
  • Articulations (accents, staccato/legato)
  • Continuous controller (master volume, pan)
  • Meta message (tempo, key signature, time signature, track name)
  • Percussion sounds
  • Chords

Send me a copy of the MIDI file (and the text representation) by next Thursday's class so we can play them.

Examples

Here are examples from class that can be used as a reference.

Twinkle, Twinkle Little Star

"MThd"
4'6
2'0
2'1
2'128
"MTrk"
4'140
v0      ff 58 v4 '4 '2 '48 '8
v0      ff 59 v2 '0 '0
v0      90 '60 '40
v128    90 '60 '0
v0      90 '60 '30
v128    90 '60 '0
v0      90 '67 '45
v128    90 '67 '0
v0      90 '67 '50
v128    90 '67 '0
v0      90 '69 '45
v128    90 '69 '0
v0      90 '69 '50
v128    90 '69 '0
v0      90 '67 '35
v256    90 '67 '0
v0      90 '65 '50
v128    90 '65 '0
v0      90 '65 '45
v128    90 '65 '0
v0      90 '64 '50
v64     90 '64 '0
v64     90 '64 '40
v64     90 '64 '0
v64     90 '62 '45
v64     90 '62 '0
v64     90 '62 '50
v64     90 '62 '0
v64     90 '60 '30
v256    90 '60 '0
v0      ff 2f v0

Idea: Try creating a type-1 MIDI file, and add a bass line to the melody using this score: http://imslp.org/wiki/12_Variations_on_%22Ah,_vous_dirai-je_maman%22,_K.265/300e_(Mozart,_Wolfgang_Amadeus)


Twinkle, twinkle, little star

Adding a patch change

Here is a list of General MIDI instruments: http://www.ccarh.org/courses/253/handout/gminstruments

Note that you need to subtract 1 from the instruments in that list for the patch change. Remember that the page change is the hex byte C0 (for changing the instrument on channel 1).

"MThd"
4'6
2'0
2'1
2'128
"MTrk"
4'143
v0      ff 58 v4 '4 '2 '48 '8
v0      ff 59 v2 '0 '0
v0      c0 60
v0      90 '60 '40
v128    90 '60 '0
v0      90 '60 '30
v128    90 '60 '0
v0      90 '67 '45
v128    90 '67 '0
v0      90 '67 '50
v128    90 '67 '0
v0      90 '69 '45
v128    90 '69 '0
v0      90 '69 '50
v128    90 '69 '0
v0      90 '67 '35
v256    90 '67 '0
v0      90 '65 '50
v128    90 '65 '0
v0      90 '65 '45
v128    90 '65 '0
v0      90 '64 '50
v64     90 '64 '0
v64     90 '64 '40
v64     90 '64 '0
v64     90 '62 '45
v64     90 '62 '0
v64     90 '62 '50
v64     90 '62 '0
v64     90 '60 '30
v256    90 '60 '0
v0      ff 2f v0