Music Macro Language
|Music Macro Language|
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 is dictated by the interpreting program and attempts to create a standard format have met with only limited success. MML can be seen in many different early computer programming languages and variations of it have been created by various game developers. Versions of it have been made for pretty much every early audio chip found in arcade games, home computers, and gaming consoles.
- 1 List of Music Macro Languages
- 1.1 FMP
- 1.2 Macro Music Kit (MCK)
- 1.3 Microsoft BASIC
- 1.4 MMML
- 1.5 MSXMusic Editor
- 1.6 MuSICA
- 1.7 Music-V Language
- 1.8 NES Sound Driver & Library (NSD.Lib)
- 1.9 NRTDRV
- 1.10 OFGS
- 1.11 Professional Music Driver (PMD)
- 1.12 Sharp S-BASIC
- 1.13 Tandy BASIC
- 1.14 MDRV2
- 1.15 husic
- 1.16 XPMCK
- 1.17 VGMCK
- 1.18 kmckc
- 1.19 KSR
- 1.20 mckc
- 1.21 MCKWatch
- 1.22 mmdp
- 1.23 PMD
- 1.24 SCMD
- 1.25 WTD
- 1.26 MUCOM88
- 2 Players
- 3 Games
- 4 Links
List of Music Macro Languages
This is a list of known music macro languages. Where possible, a brief example is shown.
- vector.co.jp/soft/dos/art/se003498.html - Official?
Macro Music Kit (MCK)
Macro Music Kit is an MML for the NES created by Izumi in 2001. It includes a collection of support programs for generating audio with the MML and a compiler that converts your MML music into NSF to be added to an NES game. It supports the RP2A03, RP2C33, NAMCO163, VRC VI, VRC VII, and 5B chips. MCK is mostly in Japanese, but has some English documentation.
- geocities.co.jp/Playtown-Denei/9628 - Download.
MCK was later updated with an extension called Pseudo Macro Music Kit (PMCK) which added features.
MCK was reworked again as the Pseudo Pseudo Macro Music Kit (PPMCK) which allows for simultaneous external sound chip support for all the NES chips. It was originally developed by h7 with additions written by BouKiCHi and AoiMoe.
- github.com/AoiMoe/ppmck - Source on Git Hub.
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"
MMML is a program and language derived from MML for composing 1-bit music on Atmega Chips
- github.com/protodomemusic/mmml Official github repository
MSXMusic Editor/Player is a program that plays music on the MSX and MSX2 with its own MML. It allows music to be played on the MSX PSG, YM2413, and YM8950. It supports importing from existing MuSICa, MSXBASIC, XM, ROL, SBI, and BNK files.
- nerlaska.com/msx/musica.html - Official.
- woolyss.com/chipmusic-mml.php - Download.
- msx.org/downloads/music/musica/musica-mml-examples - Examples.
Music-V (pronounced Music 5) is a special type of MML used on the audio chip in the Atari 8-bit, as well as Atari's arcade games. It is similar to that of composing on a staff. You write the note, the octave, and the length. For example, C3Q (Note: C, Octave 3, Quarter Note).
NES Sound Driver & Library (NSD.Lib)
The NES Sound Driver & Library (NSD.Lib) is a program used to create music for the NES using a custom MML. It supports the RP2A03, RP2C33, NAMCO163, VRC VI, VRC VII, and 5B chips. All the instructions are in Japanese.
- shaw.la.coocan.jp/nsdl - Official.
NRTDRV is a custom MML and software compiler and driver for the Sharp X1. All the instructions are in Japanese.
- http://nrtdrv.sakura.ne.jp - Official.
OFGS (Famicom Sound Driver) is an program for making audio for the NES. It uses a custom MML and supports some expansion chips and the DPCM channel. It's entirely in Japanese.
- offgao.net/ofgs - Official?
Professional Music Driver (PMD)
This plays the Japanese song "Toryanse" on the PC Speaker in Sharp MZ-731.
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$
- See Tandy BASIC MML
10 DIM A$(3) 20 DIM B$(3) 30 DIM C$(3) 40 SOUND ON 50 PLAY "MLv15T80", "MLv14T80", "MNv15T80" 60 A$(0)="o2l6p6p6go3el12p12dl6ecl3fl12fl24edl12eagal6dl3gl12gl24fel12fco2bo3f" 70 B$(0)="o2l6p6p6p6p6p6cal12p12gl6ago3l3cl12cl24o2bal12bo3edel6o2al3o3d" 80 C$(0)="o1l1ccc" 90 A$(1)="o3l12fel3al12al24gfl12edegl6bl12agl6fl2o4c" 100 B$(1)="o3l12dl6co2l12bo3cdo2l3bl6bo3l12dcl3cl12cdefge" 110 C$(1)="o1l1cc" 120 A$(2)="o4l6cl12p12co3bo4co3l6bl12o4co3bagfl3gl6fp6e" 130 B$(2)="o3l12fcl3fl12fl24edl3el12el24dcbcbcl6dl12dl24cbl6cl12db" 140 C$(2)="o1l1cl2cl3cl6o2c" 150 FOR N = 0 TO 2 160 PLAY A$(N), B$(N), C$(N) 170 NEXT 180 END
PC-Engine / TG16 (HuC6280) Sound Tool by BouKiCHi https://github.com/BouKiCHi/husic_git
XPMCK is a music (expressed in MML) compiler kit targeted towards various video game systems. It currently supports the following systems:
Amstrad CPC Atari 8-bit (400/800/XL/XE) Capcom Play System (VGM output only) ColecoVision Commodore 64 MSX (KSS output only) Nintendo Game Boy / Game Boy Color PC-Engine / TurboGrafx SEGA Master System SEGA Game Gear SEGA Genesis
most VGM formats with unofficial extension for NES expansion chips https://vgmrips.net/forum/viewtopic.php?f=3&t=835
mckc for ksr - A DOS utility working as a part of KSR system. It's a mckc variant optimized to MSX music, and allows you to convert your MML (text-based sequence data) to actual numeric data in KSS format. Developed by BouKiChi.
KSR being developed by BouKiChi from Japan is a sort of MSX version of mck, the text-based NES music editor running on DOS/Windows. Depending on the same MML style, it generates executable or KSS music file for for Z80 + AY-3-8910 systems. KSR is provided with MML converter kmckc.
A DOS utility working as a part of mck system. It allows you to convert your MML (text-based sequence data) to actual numerical music data in NSF format. Developed by Manbow-J.
A Windows utility which efficiently helps music making on DOS-based chiptune editors such as mck (including pmck/ppmck), HuSIC and KSR. It detects updated MML file, It converts your MML file to the actual music data whenever the MML is updated, then automatically plays it. Developed by Rophon from Japan.
A DOS/Windows software which allows you to make Genesis/Mega Drive music. It converts sound information described on MML text to its own MMD music format. MMD files are playable on the real platform and emulators when combined with mmdp.bin. The package includes Windows player mmdplayer.exe so that you can check your song via sound emulation. Developed by Uchuusen.
Allows you to create PC-9801 music.
MML-based music edit system for MSX, being developed by Mega from Japan. SCMD supports internal PSG, MSX-MUSIC, SCC, and even allows you to use two SCC cartridges simultaneously. Although turboR is recommended for use, it's the first Japanese music editor featuring sample playback via SCC's five wave channels, and rich effect command sets are also attractive.
Wonder Swan Total Sound Driver - A set of DOS/Windows softwares to make sound data for WonderSwan. Or the file format of the music data by the driver. Based on MML.
WTD music files are played on the real console via WonderWitch, and also on emulators like OSWAN if you convert a WTD file to ROM file by "WSMAKE.COM" offered with the driver.
The only publicly available sound editor for WonderSwan except WTD is WonderWitch, and WTD is much more powerful. You can also use MIDI device concurrently with the internal wave channels. Developed by S.W.
MUCOM88 is the tool written by Yuzo Koshiro for the NEC PC-88 line of computers. The tool was used in various projects, such as the Streets of Rage/Bare Knuckle series. The disk image was made available to the public by Yuzo Koshiro's Ancient Corp as a part of the OpenMucom Project. A Windows set of tools has also been made available under the same banner and is maintained through Onitama.
https://www.ancient.co.jp/~mucom88/ - PC-88 Disk Image
https://onitama.tv/mucom88/index_en.html - MUCOM88 Windows Homepage
Since this isn't a specific format, there are no specific players.
- en.wikipedia.org/wiki/Music_Macro_Language - Wikipedia.