Welcome to MML2MID Home Page!
(This page is under construction)

Last Modification: 1999.12.24
Chat page is here.

  'mml2mid' is a free compiler for music composition.
  mml2mid compiles MML(Music Macro Language) file into
  SMF(Standard MIDI File format 0 and 1).

  MML is a text based music description language whose specification
  has been carefully defined by mml2mid project team. We have been
  improving the MML specification over many years.

  MML provides us easy (and also detailed) music data composition.
  Using MML input is much convenient than using present scoring
  software such as putting notes onto GUIs of music sheet, or
  writing notes by step recording.

  One of the advantages in using MML is that we can input score data
  extremely fast. Since MML is a text based language, we use text editor
  to input MML data. While text editors suit for continuous text
  modification, MML input using text editors suit for continuous MML
  data input & modification. We can get plenty of benefits from using
  text editor, e.g., using convenient editor command such as cut & paste
  command makes it easy to input score data. On the other hand, using
  present scoring tools and putting notes onto GUIs by using mouse drag
  and drop requires much more time than using MML input.

  Comprehensibility is an another advantage of MML. During the score
  data input, when we check or modify the score data, we often need to
  compare data of one part (track or channel) with another part.
  This check is not easy if we use present scoring software, because we
  can see only one (or only a few) part one at a time in such software's
  GUI. Even worse, notes on step writing tool is not easy to comprehend,
  while values of scale and length of the note are described as meaningless
  numeral characters. On the contrary, MML data is comprehensible since
  we can look out over many parts in one glance (as we show an exmple
  below):

A C1  @34 o3 v123 k110 c8re8rg8f8ra8r>c8<g8rb8r>d8<c8rc
B C2  @82 o4 v118 k110 rr>cc<ggeeaara^4rrgrarbr>ccrc
C C3  @63 o4 v116 k100 r8.cr8cr r4.cr r8.dr8dr ec<re>
D C3              k100 r8.er8er r4.fr r8.gr8gr >c<grc
E C10 @10 v110         [$kcr8c$sc8$kcr]3 $sccrc
F C10                  $h[cr8ccr:rc r8.ccrcr]2cr $occrc

  In this example, part A, B, C, D, E and F can be seen in one field of view.
  It is easy for us to modify one part while seeing other parts; and, this
  style of modifing is very usuful for us during score data input and
  composition. Futhermore, notation of scale and length of each note in
  MML is much more comprehensible than in present step writing tools.
  In MML, the note 'do, re, mi ...' corresponds to 'c, d, e ...'. The
  length of each note is also easy to comprehend; e.g., 'eigth note of do'
  corresponds to the notation 'c8'.

  The only disadvantage of MML is that MML data input is not suited to
  realtime recording using keyboard (music synthesizer) instruments.
  So far, if we use personal computer keyboard to input or compose
  score data, than the MML is a good choice to input data.

  Our MML also provides 'detailed' score data input. There are many
  effective commands to give a rich expression to each note, such as
  LFO command, envelope command, etc.

  We also provide MML commands that make us easy to modify the data.
  We regard the MML data input procedure not only the data input procedure
  but also the continuous data modification procedure:

    +-----------------+    +-------------------------+
    |data modification| -> |data compilation and play|
    +-----------------+    +-------------------------+
            ^                            |
            |                            |
            +----------------------------+

  We assume the case that we input a partial data and then play the data.
  In such case, we need to play only a partial data in the whole MML file.
  We have prepared the command for partial MML data compilation. We have
  prepared many more usuful MML commands for data input.

We want your cool MML data as sample MMLs for this web page.

We also want a person who can translate documents of MML2MID from Japanese into English.


Here are some examples of MML data:


Click below to get MML2MID. (Sorry, no english documents yet)

mml524bt.lzh  Ver 5.24beta for MS-DOS
mml523c.lzh  Ver 5.23 for Win32 console
mml523.tgz  Ver 5.23 for UNIX
mml521w.lzh  Ver 5.21 for Windows98/NT

MML2MID project team member.
Main Program: Akito Monden
Sub Program: Hideki Fujii
Windows98/NT GUIs: Hisayasu Kuroda
Bugfix and Expansion: Naoyuki Nide