Difference between revisions of "Music Macro Language"
Line 8: | Line 8: | ||
}} | }} | ||
− | '''''Music Macro Language''''' or '''''Music Markup Language''''' is an abstract digital notation format for music. | + | '''''Music Macro Language''''' or '''''Music Markup Language''''' is an abstract digital notation format for music. Because digital music can be made on numerous audio chips, each with unique capabilities, there is no standard format to MML. The format has always been dictated by the interpreting program and attempts to create a standard format have met with limited success. MML can be seen in many different early computer programming languages and variations of it have been created by various game developers. Various versions of it have been made for pretty much every early audio chip found in arcade games, home computers, and gaming consoles. |
− | + | Specific companies like [[Beam Software]] and [[Color Dreams]] used custom forms for their Nintendo games, and even some modern day trackers use it to send audio data to the various audio chips. | |
+ | |||
+ | ==Examples== | ||
+ | ===Microsoft BASIC=== | ||
+ | This will play [[Ode to Joy]] on the [[PC Speaker]]. | ||
+ | 10 PLAY "O2 T120 E8 E8 F8 G8 G8 F8 E8 D8 C8 C8 E8 E8 E8 D12 D4" | ||
+ | 20 PLAY "E8 E8 F8 C8 G8 F8 E8 D8 C8 C8 D8 E8 D8 C12 C4" | ||
+ | 30 PLAY "D8 D8 E8 C8 D8 E12 F12 E8 C8 D8 E12 F12 E8 D8 C8 D8 P8" | ||
+ | 40 PLAY "E8 E8 F8 G8 G8 F8 E8 D8 C8 C8 D8 E8 D8 C12 C4" | ||
+ | |||
+ | |||
+ | ===Sharp BASIC=== | ||
+ | This plays the Japanese song "Toryanse" in MZ-731 Sharp S-BASIC 1Z-007B. | ||
+ | |||
+ | 10 TEMPO 4 | ||
+ | 20 A$="E5R1E3R0D3R0E3R0E1R0D1R0-G4R1" | ||
+ | 30 B$="F3R0F1R0F1R0A3R0F1R0E1R0D1R0D1R0E5R0" | ||
+ | 40 C$="C3R0C1R0C1R0E3R0C1R0-B1R0C1R0-B1R0-A1R0-A1-B5R0" | ||
+ | 50 D$="E1R0E1R0E1R0E1R0E1R0E1R0D1R0E1R0E1R0E1R0D1R0-A1R0-A1R0B3R1" | ||
+ | 60 E$="-A1R0-B1R0C1R0D1R0E1R0F1R0E1R0F3R1A3R1B1R0A1R0F3R0E3R0E1R0E4R0" | ||
+ | 70 MUSIC A$+B$+B$ | ||
+ | 80 MUSIC C$+C$+B$ | ||
+ | 90 MUSIC C$+D$+E$ | ||
− | |||
− | |||
− | |||
− | |||
====NES==== | ====NES==== | ||
− | Here is an example of a song written | + | Here is an example of a song written for the NES. |
+ | |||
#TITLE Song Title | #TITLE Song Title | ||
#COMPOSER Composer | #COMPOSER Composer | ||
Line 35: | Line 54: | ||
D o0 | D o0 | ||
D [@v2 b @v3 e @v2 b @v3 e @v2 b @v3 e @v2 b @v3 e8 @v2 b8]4 | D [@v2 b @v3 e @v2 b @v3 e @v2 b @v3 e @v2 b @v3 e8 @v2 b8]4 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Players== | ==Players== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Revision as of 18:04, 14 August 2013
Music Macro Language or Music Markup Language is an abstract digital notation format for music. Because digital music can be made on numerous audio chips, each with unique capabilities, there is no standard format to MML. The format has always been dictated by the interpreting program and attempts to create a standard format have met with limited success. MML can be seen in many different early computer programming languages and variations of it have been created by various game developers. Various versions of it have been made for pretty much every early audio chip found in arcade games, home computers, and gaming consoles.
Specific companies like Beam Software and Color Dreams used custom forms for their Nintendo games, and even some modern day trackers use it to send audio data to the various audio chips.
Examples
Microsoft BASIC
This will play Ode to Joy on the PC Speaker.
10 PLAY "O2 T120 E8 E8 F8 G8 G8 F8 E8 D8 C8 C8 E8 E8 E8 D12 D4" 20 PLAY "E8 E8 F8 C8 G8 F8 E8 D8 C8 C8 D8 E8 D8 C12 C4" 30 PLAY "D8 D8 E8 C8 D8 E12 F12 E8 C8 D8 E12 F12 E8 D8 C8 D8 P8" 40 PLAY "E8 E8 F8 G8 G8 F8 E8 D8 C8 C8 D8 E8 D8 C12 C4"
Sharp BASIC
This plays the Japanese song "Toryanse" in MZ-731 Sharp S-BASIC 1Z-007B.
10 TEMPO 4 20 A$="E5R1E3R0D3R0E3R0E1R0D1R0-G4R1" 30 B$="F3R0F1R0F1R0A3R0F1R0E1R0D1R0D1R0E5R0" 40 C$="C3R0C1R0C1R0E3R0C1R0-B1R0C1R0-B1R0-A1R0-A1-B5R0" 50 D$="E1R0E1R0E1R0E1R0E1R0E1R0D1R0E1R0E1R0E1R0D1R0-A1R0-A1R0B3R1" 60 E$="-A1R0-B1R0C1R0D1R0E1R0F1R0E1R0F3R1A3R1B1R0A1R0F3R0E3R0E1R0E4R0" 70 MUSIC A$+B$+B$ 80 MUSIC C$+C$+B$ 90 MUSIC C$+D$+E$
NES
Here is an example of a song written for the NES.
#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
Players
Games
Links
- en.wikipedia.org/wiki/Music_Macro_Language - Wikipedia.