VocalEasel/mma/docs/html/ref/node8.html

485 lines
11 KiB
HTML
Raw Normal View History

2009-05-17 22:34:44 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2006-11-10 08:07:56 +00:00
<!--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">
2009-05-17 22:34:44 +00:00
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html458"
2006-11-10 08:07:56 +00:00
HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
2009-05-17 22:34:44 +00:00
<A NAME="tex2html456"
2006-11-10 08:07:56 +00:00
HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
2009-05-17 22:34:44 +00:00
<A NAME="tex2html450"
2006-11-10 08:07:56 +00:00
HREF="node7.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<BR>
2009-05-17 22:34:44 +00:00
<B> Next:</B> <A NAME="tex2html459"
2006-11-10 08:07:56 +00:00
HREF="node9.html">Lyrics</A>
2009-05-17 22:34:44 +00:00
<B> Up:</B> <A NAME="tex2html457"
2006-11-10 08:07:56 +00:00
HREF="mma.html">Reference Manual</A>
2009-05-17 22:34:44 +00:00
<B> Previous:</B> <A NAME="tex2html451"
2006-11-10 08:07:56 +00:00
HREF="node7.html">Riffs</A>
<BR>
2009-05-17 22:34:44 +00:00
<BR></DIV>
2006-11-10 08:07:56 +00:00
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
2009-05-17 22:34:44 +00:00
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html460"
2006-11-10 08:07:56 +00:00
HREF="node8.html#SECTION00810000000000000000">Bar Numbers</A>
2009-05-17 22:34:44 +00:00
<LI><A NAME="tex2html461"
2006-11-10 08:07:56 +00:00
HREF="node8.html#SECTION00820000000000000000">Bar Repeat</A>
2009-05-17 22:34:44 +00:00
<LI><A NAME="tex2html462"
2006-11-10 08:07:56 +00:00
HREF="node8.html#SECTION00830000000000000000">Chords</A>
2009-05-17 22:34:44 +00:00
<LI><A NAME="tex2html463"
2006-11-10 08:07:56 +00:00
HREF="node8.html#SECTION00840000000000000000">Rests</A>
2009-05-17 22:34:44 +00:00
<LI><A NAME="tex2html464"
2006-11-10 08:07:56 +00:00
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
2007-04-29 06:47:40 +00:00
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> ,
2006-11-10 08:07:56 +00:00
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>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>[num] Chord [Chord ...] [lyric] [solo] [* Factor] </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<P>
As you can see, all that is really needed is a single chord. So, the line:
<P>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>Cm </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<P>
is completely valid. As is:
<P>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>10 Cm Dm Em Fm * 4 </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<P>
2007-04-29 06:47:40 +00:00
The optional solo or melody data is enclosed in ``{ }''s. The
2006-11-10 08:07:56 +00:00
complete format and use is detailed in the <A HREF="node10.html#chap-solo">Solo and
Melody Tracks</A>.
2007-04-29 06:47:40 +00:00
<P>
Lyrics are enclosed in ''[ ]'' brackets. See the <A HREF="node9.html#sec-lyrics">Lyrics section</A>.
2006-11-10 08:07:56 +00:00
<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>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>1 Cm * 4
2006-11-10 08:07:56 +00:00
<BR>
2
<BR>
3
<BR>
4
<BR>
2007-04-29 06:47:40 +00:00
5 A </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<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
2009-05-17 22:34:44 +00:00
<SPAN CLASS="textit">multiplier</SPAN> which can be placed at the end of a line of music
2006-11-10 08:07:56 +00:00
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>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>Cm / Dm / * 4 </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<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>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>Cm Dm Em Fm </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<P>
specifies four different chords in a bar. It should be obvious by now
2009-05-17 22:34:44 +00:00
that in a piece in <SPAN CLASS="textbf">4/4</SPAN> you'll end up with a ``Cm'' chord on
2006-11-10 08:07:56 +00:00
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>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>Cm </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<P>
and
<P>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>Cm Cm Cm Cm </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<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>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>Cm / Dm / </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<P>
is the same as
<P>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>Cm Cm Dm Dm </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<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
2009-05-17 22:34:44 +00:00
<A HREF="node29.html#sec-chordname">details</A>.
2006-11-10 08:07:56 +00:00
<P>
<H1><A NAME="SECTION00840000000000000000">
Rests</A>
2007-04-29 06:47:40 +00:00
</H1>
2006-11-10 08:07:56 +00:00
<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'',
2007-04-29 06:47:40 +00:00
``Scale'', ``Walk'', ``Aria'', or ``Bass'' tracks as well by appending a track
2006-11-10 08:07:56 +00:00
specifier to the ``z''. Track specifiers are the single letters ``C'',
2007-04-29 06:47:40 +00:00
``A'', ``S'', ``W'', ``B'', ``R'' or `D'' and ``!''. Track specifiers are
2006-11-10 08:07:56 +00:00
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,
2007-04-29 06:47:40 +00:00
<P>
<DT>R
<DD>All aria tracks,
2006-11-10 08:07:56 +00:00
<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
2009-05-17 22:34:44 +00:00
<DD>mutes the A<SMALL>RPEGGIO</SMALL> and B<SMALL>ASS</SMALL> tracks,
2006-11-10 08:07:56 +00:00
<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>
2007-04-29 06:47:40 +00:00
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>Fm z G7zC CmzD </B>
2006-11-10 08:07:56 +00:00
2007-04-29 06:47:40 +00:00
</td></tr>
</Table>
2006-11-10 08:07:56 +00:00
<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
2007-04-29 06:47:40 +00:00
``zABCDWR'', except that the latter is not valid since it needs a
2006-11-10 08:07:56 +00:00
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
2009-05-17 22:34:44 +00:00
chord names <SPAN CLASS="textit">are</SPAN> case sensitive. This means that you <SPAN CLASS="textit">can
not</SPAN> use notations like ``cm''--use ``Cm'' instead.
2006-11-10 08:07:56 +00:00
<P>
The ``z'' and the associated track specifiers are also case sensitive.
2009-05-17 22:34:44 +00:00
For example, the form ``Zc'' will <SPAN CLASS="textit">not</SPAN> work!
2006-11-10 08:07:56 +00:00
<P>
<P>
2009-05-17 22:34:44 +00:00
<DIV CLASS="navigation"><HR>
2006-11-10 08:07:56 +00:00
<!--Navigation Panel-->
2009-05-17 22:34:44 +00:00
<A NAME="tex2html458"
2006-11-10 08:07:56 +00:00
HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
2009-05-17 22:34:44 +00:00
<A NAME="tex2html456"
2006-11-10 08:07:56 +00:00
HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
2009-05-17 22:34:44 +00:00
<A NAME="tex2html450"
2006-11-10 08:07:56 +00:00
HREF="node7.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<BR>
2009-05-17 22:34:44 +00:00
<B> Next:</B> <A NAME="tex2html459"
2006-11-10 08:07:56 +00:00
HREF="node9.html">Lyrics</A>
2009-05-17 22:34:44 +00:00
<B> Up:</B> <A NAME="tex2html457"
2006-11-10 08:07:56 +00:00
HREF="mma.html">Reference Manual</A>
2009-05-17 22:34:44 +00:00
<B> Previous:</B> <A NAME="tex2html451"
HREF="node7.html">Riffs</A></DIV>
2006-11-10 08:07:56 +00:00
<!--End of Navigation Panel-->
<ADDRESS>
2007-04-29 06:47:40 +00:00
bob
2009-05-17 22:34:44 +00:00
2008-09-28
2006-11-10 08:07:56 +00:00
</ADDRESS>
</BODY>
</HTML>