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


Type-1 (multitrack) MIDI files

"MThd"
4'6
2'1
2'3
2'6


"MTrk"
4'11
v0 ff 51 03 t40
v0 ff 2f 00


"MTrk"
4'28
v0	99 '76 '64
v2	99 '76 '64
v2	99 '76 '64
v2	99 '76 '64
v2	99 '76 '64
v2	99 '76 '64
v0	ff  2f  00


"MTrk"
4'24
v0	99 '77 '64
v3	99 '77 '64
v3	99 '77 '64
v3	99 '77 '64
v3	99 '77 '64
v0	ff  2f  00

Idea: try other poly rhythm patterns, such as 5 against 7.

Pitch bend

"MThd"
4'6
2'0
2'1
2'100

"MTrk"
4'72

v0	90 '60 '100
v90	80 '60 '100

v10	e0 p0.5
v0	90 '59 '100
v90	80 '59 '100

v10	e0 p-0.5
v0	90 '61 '100
v90	80 '61 '100

v10	e0 p1
v0	90 '58 '100
v90	80 '58 '100

v10	e0 p-1
v0	90 '62 '100
v90	80 '62 '100

v10	e0 p0
v0	90 '60 '100
v90	80 '60 '100

v0	ff 2f 00


Continuous Controllers

Panning an instrument from left to right:

"MThd"
4'6
2'1
2'3
2'100

"MTrk"
4'76

v0	b9 '10 '0
v0	99 '60 '90
v100	b9 '10 '16
v0 	99 '60 '90
v100	b9 '10 '32
v0 	99 '60 '90
v100	b9 '10 '48
v0 	99 '60 '90
v100	b9 '10 '64
v0 	99 '60 '90
v100	b9 '10 '80
v0 	99 '60 '90
v100	b9 '10 '96
v0 	99 '60 '90
v100	b9 '10 '112
v0 	99 '60 '90
v100	b9 '10 '127
v0 	99 '60 '90

v0 ff 2f 00