VocalEasel/mma/docs/html/ref/node8.html
Matthias Neeracher 35300f3344 merging mma-1.1
2007-04-29 06:47:40 +00:00

483 lines
11 KiB
HTML

<!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>