<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 2002-2-1 (1.71) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Musical Data Format</TITLE> <META NAME="description" CONTENT="Musical Data Format"> <META NAME="keywords" CONTENT="mma"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="mma.css"> <LINK REL="next" HREF="node9.html"> <LINK REL="previous" HREF="node7.html"> <LINK REL="up" HREF="mma.html"> <LINK REL="next" HREF="node9.html"> </HEAD> <BODY bgcolor="#ffffff"> <!--Navigation Panel--> <A NAME="tex2html432" HREF="node9.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html430" HREF="mma.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html424" HREF="node7.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <BR> <B> Next:</B> <A NAME="tex2html433" HREF="node9.html">Lyrics</A> <B> Up:</B> <A NAME="tex2html431" HREF="mma.html">Reference Manual</A> <B> Previous:</B> <A NAME="tex2html425" HREF="node7.html">Riffs</A> <BR> <BR> <!--End of Navigation Panel--> <!--Table of Child-Links--> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <UL> <LI><A NAME="tex2html434" HREF="node8.html#SECTION00810000000000000000">Bar Numbers</A> <LI><A NAME="tex2html435" HREF="node8.html#SECTION00820000000000000000">Bar Repeat</A> <LI><A NAME="tex2html436" HREF="node8.html#SECTION00830000000000000000">Chords</A> <LI><A NAME="tex2html437" HREF="node8.html#SECTION00840000000000000000">Rests</A> <LI><A NAME="tex2html438" HREF="node8.html#SECTION00850000000000000000">Case Sensitivity</A> </UL> <!--End of Table of Child-Links--> <HR> <H1><A NAME="SECTION00800000000000000000"></A> <A NAME="sec-music"></A> <BR> Musical Data Format </H1> <P> Compared to patterns, sequences, grooves and the various directives used in <FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> , the actual bar by bar chord notations are surprisingly simple. <P> Any line in your input file which is not a directive or comment is assumed to be a bar of chord data. <P> A line for chord data consists of the following parts: <P> <UL> <LI>Optional line number, <P> </LI> <LI>Chord or Rest data, <P> </LI> <LI>Optional lyric data, <P> </LI> <LI>Optional solo or melody data, <P> </LI> <LI>Optional multiplier. <P> </LI> </UL> <P> Formally, this becomes: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>[num] Chord [Chord ...] [lyric] [solo] [* Factor] </B> </td></tr> </Table> <P> As you can see, all that is really needed is a single chord. So, the line: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Cm </B> </td></tr> </Table> <P> is completely valid. As is: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>10 Cm Dm Em Fm * 4 </B> </td></tr> </Table> <P> The optional solo or melody data is enclosed in ``{ }''s. The complete format and use is detailed in the <A HREF="node10.html#chap-solo">Solo and Melody Tracks</A>. <P> Lyrics are enclosed in ''[ ]'' brackets. See the <A HREF="node9.html#sec-lyrics">Lyrics section</A>. <P> <H1><A NAME="SECTION00810000000000000000"> Bar Numbers</A> </H1> <P> The optional leading bar number is silently discarded by <FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> . It is really just a specialized comment which helps you debug your music. Note that only a numeric item is permitted here. <P> Get in the habit of using bar numbers. You'll thank yourself when a song seems to be missing a bar, or appears to have an extra one. Without the leading bar numbers it can be quite frustrating to match your input file to a piece of sheet music. <P> You should note that it is perfectly acceptable to have only a bar number on a line. This is common when you are using bar repeat, for example: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>1 Cm * 4 <BR> 2 <BR> 3 <BR> 4 <BR> 5 A </B> </td></tr> </Table> <P> In the above example bars 2, 3 and 4 are comment bars. <P> <H1><A NAME="SECTION00820000000000000000"> Bar Repeat</A> </H1> <P> Quite often music has several sequential identical bars. Instead of typing these bars over and over again, <FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> has an optional <I>multiplier</I> which can be placed at the end of a line of music data. The multiplier or factor can is specified as ``* NN'' This will cause the current bar to repeated the specified number of times. For example: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Cm / Dm / * 4 </B> </td></tr> </Table> <P> produces 4 bars of output with each the first 2 beats of each bar a Cm chord and the last 2 a Dm. (The ``/'' is explained below.) <P> <H1><A NAME="SECTION00830000000000000000"> Chords</A> </H1> <P> The most important part of a musical data line is, of course, the chords. You can specify a different chord for each beat in your music. For example: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Cm Dm Em Fm </B> </td></tr> </Table> <P> specifies four different chords in a bar. It should be obvious by now that in a piece in <B>4/4</B> you'll end up with a ``Cm'' chord on beat 1, ``Dm'' on 2, etc. <P> If you have fewer chord names than beats, the bar will be filled automatically with the last chord name on the line. In other words: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Cm </B> </td></tr> </Table> <P> and <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Cm Cm Cm Cm </B> </td></tr> </Table> <P> are equivalent (assuming 4 beats per bar). There must be one (or more) spaces between each chord. <P> One further shorthand is the ``/''. This simply means to repeat the last chord. So: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Cm / Dm / </B> </td></tr> </Table> <P> is the same as <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Cm Cm Dm Dm </B> </td></tr> </Table> <P> It is perfectly okay to start a line with a ``/''. In this case the last chord from the previous line is used. If the first line of music data begins with a ``/'' you'll get an error-- <FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> tries to be smart, but it doesn't read minds. <P> <FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> recognizes a wide variety of chords in standard notation. In addition, you can specify slash chords and shift the octave up or down. Refer to the complete table in the appendix for <A HREF="node27.html#sec-chordname">details</A>. <P> <H1><A NAME="SECTION00840000000000000000"> Rests</A> </H1> <P> To disable a voice for a beat you can use a ``z'' for a chord name. If used by itself a ``z'' will disable all but the drum tracks for the given beat. However, you can disable ``Chord'', ``Arpeggio'', ``Scale'', ``Walk'', ``Aria'', or ``Bass'' tracks as well by appending a track specifier to the ``z''. Track specifiers are the single letters ``C'', ``A'', ``S'', ``W'', ``B'', ``R'' or `D'' and ``!''. Track specifiers are only valid if you also specify a chord. The track specifiers are: <P> <DL COMPACT> <DT>D <DD>All drum tracks, <P> <DT>W <DD>All walking bass tracks, <P> <DT>B <DD>All bass tracks, <P> <DT>C <DD>All chord tracks, <P> <DT>A <DD>All arpeggio tracks, <P> <DT>S <DD>All scale tracks, <P> <DT>R <DD>All aria tracks, <P> <DT>! <DD>All tracks (almost the same as DWBCA, see below). <P> </DD> </DL> <P> Assuming the ``C'' is the chord and ``AB'' are the track specifiers: <P> <DL COMPACT> <DT>CzAB <DD>mutes the A<SMALL>PREGGIO</SMALL> and B<SMALL>ASS</SMALL> tracks, <P> <DT>z <DD>mutes all the tracks except for the drums, <P> <DT>Cz <DD>is not permitted, <P> <DT>zAB <DD>is not permitted. <P> </DD> </DL> <P> Assuming that you have a drum, chord and bass pattern defined: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Fm z G7zC CmzD </B> </td></tr> </Table> <P> would generate the following beats: <P> <DL COMPACT> <DT>1 <DD>Drum pattern, Fm chord and bass, <P> <DT>2 <DD>Drum pattern only, <P> <DT>3 <DD>Drum pattern and G7 bass, no chord, <P> <DT>4 <DD>Cm chord and bass, no drum. <P> </DD> </DL> <P> In addition, there is a super-z notation. ``z!'' forces all instruments to be silent for the given beats. ``z!'' is the same as ``zABCDWR'', except that the latter is not valid since it needs a prefixed chord. <P> The ``z'' notation is used when you have a ``tacet'' beat or beats. The alternate notations can be used to silence specific tracks for a beat or two, but this is used less frequently. <P> <H1><A NAME="SECTION00850000000000000000"> Case Sensitivity</A> </H1> <P> In direct conflict with the rest of the rules for input files, all chord names <I>are</I> case sensitive. This means that you <I>can not</I> use notations like ``cm''--use ``Cm'' instead. <P> The ``z'' and the associated track specifiers are also case sensitive. For example, the form ``Zc'' will <I>not</I> work! <P> <P> <HR> <!--Navigation Panel--> <A NAME="tex2html432" HREF="node9.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html430" HREF="mma.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html424" HREF="node7.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <BR> <B> Next:</B> <A NAME="tex2html433" HREF="node9.html">Lyrics</A> <B> Up:</B> <A NAME="tex2html431" HREF="mma.html">Reference Manual</A> <B> Previous:</B> <A NAME="tex2html425" HREF="node7.html">Riffs</A> <!--End of Navigation Panel--> <ADDRESS> bob 2007-03-07 </ADDRESS> </BODY> </HTML>