Music Macro Language

From Video Game Music Preservation Foundation Wiki
Revision as of 03:06, 27 October 2012 by Doommaster1994 (talk | contribs) (NES)
Jump to: navigation, search
Music Macro Language
NoScreenshot.png
Creator N/A
Released N/A
Platform N/A

Music Macro Language/Music Markup Language commonly referred to as MML or MCK (Music Computer Kit) is a way most composers used to write their music. The composers would use a text editor like Notepad to compose. Writing in MML is a lot like writing on a staff; you write the tempo, write what note is to be played on what channel, and enter in the length of the note and octave. Most composers tended to use this method of writing music because it was easier for them. MCK has been used on all kinds of platforms like the Turbo Grafix 16, NES, GameBoy, Sega Genesis, Sega Master System, and Commodore 64. MML is also known as Music-V Language.

NES

Many composers used MML on the NES as a method of creating music and sound effects, companies such as Beam Software and Color Dreams. There is a NES version of MML currently available and was created by Izumi. One thing that this has over Famitracker is its support for all of the expansion sound chips, such as the Sunsoft 5B, which Famitracker does not support currently. Another thing MML has over Famitracker is its support for fast notes without having to write at a fast tempo. Still, Famitracker is used more often than MML due to it being easier to use. Users compose the music in a text editor such as Notepad. They can compose as fast as 128th notes. They then save the music as a MML file and use a utility to export the music to NSF. One drawback that MML has is that unlike Famitracker, an NSF can only contain one song.

Example:

#TITLE Song Title
#COMPOSER Composer
#PROGRAMER Copyright
@v0 = { 10 9 8 7 6 5 4 3 2 }
@v1 = { 15 15 14 14 13 13 12 12 11 11 10 10 9 9 8 8 7 7 6 6 }
@v2 = { 15 12 10 8 6 3 2 1 0 }
@v3 = { 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 }
@DPCM0 = { "samples\kick.dmc",15 }
@DPCM2 = { "samples\snare.dmc",15 }
ABCDE t150
A l8 o4 @01 @v0
A [c d e f @v1 g4 @v0 a16 b16 >c c d e f @v1 g4 @v0 a16 b16 >c<<]2
C l4 o3 q6
C [c e g8 g8 a16 b16 >c8 c e g8 g8 a16 b16 >c8<<]4
D o0
D [@v2 b @v3 e @v2 b @v3 e @v2 b @v3 e @v2 b @v3 e8 @v2 b8]4