2006-11-10 08:07:56 +00:00
|
|
|
<!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>
|
2007-04-29 06:47:40 +00:00
|
|
|
<TITLE>Tempo and Timing</TITLE>
|
|
|
|
<META NAME="description" CONTENT="Tempo and Timing">
|
2006-11-10 08:07:56 +00:00
|
|
|
<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="node15.html">
|
|
|
|
<LINK REL="previous" HREF="node13.html">
|
|
|
|
<LINK REL="up" HREF="mma.html">
|
|
|
|
<LINK REL="next" HREF="node15.html">
|
|
|
|
</HEAD>
|
|
|
|
|
|
|
|
<BODY bgcolor="#ffffff">
|
|
|
|
<!--Navigation Panel-->
|
2007-04-29 06:47:40 +00:00
|
|
|
<A NAME="tex2html531"
|
2006-11-10 08:07:56 +00:00
|
|
|
HREF="node15.html">
|
|
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
2007-04-29 06:47:40 +00:00
|
|
|
<A NAME="tex2html529"
|
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>
|
2007-04-29 06:47:40 +00:00
|
|
|
<A NAME="tex2html523"
|
2006-11-10 08:07:56 +00:00
|
|
|
HREF="node13.html">
|
|
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
|
|
<BR>
|
2007-04-29 06:47:40 +00:00
|
|
|
<B> Next:</B> <A NAME="tex2html532"
|
|
|
|
HREF="node15.html">Swing</A>
|
|
|
|
<B> Up:</B> <A NAME="tex2html530"
|
2006-11-10 08:07:56 +00:00
|
|
|
HREF="mma.html">Reference Manual</A>
|
2007-04-29 06:47:40 +00:00
|
|
|
<B> Previous:</B> <A NAME="tex2html524"
|
|
|
|
HREF="node13.html">Harmony</A>
|
2006-11-10 08:07:56 +00:00
|
|
|
<BR>
|
|
|
|
<BR>
|
|
|
|
<!--End of Navigation Panel-->
|
2007-04-29 06:47:40 +00:00
|
|
|
<!--Table of Child-Links-->
|
|
|
|
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<UL>
|
|
|
|
<LI><A NAME="tex2html533"
|
|
|
|
HREF="node14.html#SECTION001410000000000000000">Tempo</A>
|
|
|
|
<LI><A NAME="tex2html534"
|
|
|
|
HREF="node14.html#SECTION001420000000000000000">Time</A>
|
|
|
|
<LI><A NAME="tex2html535"
|
|
|
|
HREF="node14.html#SECTION001430000000000000000">TimeSig</A>
|
|
|
|
<LI><A NAME="tex2html536"
|
|
|
|
HREF="node14.html#SECTION001440000000000000000">BeatAdjust</A>
|
|
|
|
<LI><A NAME="tex2html537"
|
|
|
|
HREF="node14.html#SECTION001450000000000000000">Fermata</A>
|
|
|
|
<LI><A NAME="tex2html538"
|
|
|
|
HREF="node14.html#SECTION001460000000000000000">Cut</A>
|
|
|
|
</UL>
|
|
|
|
<!--End of Table of Child-Links-->
|
|
|
|
<HR>
|
|
|
|
|
|
|
|
<H1><A NAME="SECTION001400000000000000000"></A>
|
|
|
|
<A NAME="sec-time"></A>
|
2006-11-10 08:07:56 +00:00
|
|
|
<BR>
|
2007-04-29 06:47:40 +00:00
|
|
|
Tempo and Timing
|
2006-11-10 08:07:56 +00:00
|
|
|
</H1>
|
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> has a rich set of commands to adjust and vary the timing of your
|
|
|
|
song.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
|
|
|
|
<H1><A NAME="SECTION001410000000000000000">
|
|
|
|
Tempo</A>
|
|
|
|
</H1>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
The tempo of a piece is set in Beats per Minute with the ``Tempo''
|
|
|
|
directive.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Tempo 120 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
sets the tempo to 120 beats/minute. You can also use the tempo command
|
|
|
|
to increase or decrease the current rate by including a leading ``+'',
|
|
|
|
``-'' or ``*'' in the rate. For example (assuming the current rate is
|
|
|
|
120):
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Tempo +10 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
will increase the current rate to 130 beats/minute.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
The tempo can be changed series of beats, much like a rit. or acc. in
|
|
|
|
real music. Assuming that a time signature of <B>4/4</B>, the current tempo
|
|
|
|
is 120, and there are 4 beats in a bar, the command:
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Tempo 100 1 </B>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
will cause 4 tempo entries to be placed in the current bar (in the
|
|
|
|
MIDI meta track). The start of the bar will be 115, the 2nd beat will
|
|
|
|
be at 110, the 3rd at 105 and the last at 100.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
You can also vary an existing rate using a ``+'', ``-'' or ``*'' in
|
|
|
|
the rate.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
You can vary the tempo over more than one bar. For example:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Tempo +20 5.5 </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
|
|
|
tells
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> to increase the tempo by 20 beats per minute and to step
|
|
|
|
the increase over the next five and a half bars. Assuming a start
|
|
|
|
tempo of 100 and 4 beats/bar, the meta track will have a tempo
|
|
|
|
settings of 101, 102, 103 ...120. This will occur over 22 beats
|
|
|
|
(5.5 bars * 4 beats) of music.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
Using the multiplier is handy if you are switching to ``double time'':
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Tempo *2 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
and to return:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Temp *.5 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
Note that the ``+'', ``-'' or ``*'' sign must <I>not</I> be separated
|
|
|
|
from the tempo value by any spaces. The value for T<SMALL>EMPO</SMALL> can be
|
|
|
|
any value, but will be converted to integer for the final setting.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<H1><A NAME="SECTION001420000000000000000"></A> <A NAME="time"></A>
|
|
|
|
<BR>
|
|
|
|
Time
|
|
|
|
</H1>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> doesn't really understand time signatures. It just cares about
|
|
|
|
the number of beats in a bar. So, if you have a piece in
|
|
|
|
<B>4/4</B> time you would use:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Time 4 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
For <B>3/4</B> use:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Time 3 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
For <B>6/8</B> you'd probably want either ``2'' or ``6''.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
Changing the time also cancels all existing sequences. So, after a
|
|
|
|
time directive you'll need to set up your sequences or load a new
|
|
|
|
groove.<A NAME="tex2html51"
|
|
|
|
HREF="#foot5658"><SUP>14.1</SUP></A>
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<H1><A NAME="SECTION001430000000000000000">
|
|
|
|
TimeSig</A>
|
|
|
|
</H1>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
Even though
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> doesn't really use Time Signatures, some MIDI
|
|
|
|
programs do recognize and use them. So, here's a command which will
|
|
|
|
let you insert a Time Signature in your MIDI output:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>TimeSig NN DD </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
The NN parameter is the time signature numerator (the number of beats
|
|
|
|
per bar). In <B>3/4</B> you would set this to ``3''.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
The DD parameter is the time signature denominator (the length of the
|
|
|
|
note getting a single beat). In <B>3/4</B> you would set this to
|
|
|
|
``4''.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
The NN value must be an integer in the range of 1 to 126. The DD value
|
|
|
|
must be one of 1, 2, 4, 8, 16, 32 or 64.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> assumes that all songs are in <B>4/4</B> and places that
|
|
|
|
MIDI event at offset 0 in the Meta track.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
The T<SMALL>IME</SMALL>S<SMALL>IG</SMALL> value is remembered by G<SMALL>ROOVE</SMALL>s and is
|
|
|
|
properly set when grooves are switched. You should probably have a
|
|
|
|
time signature in any groove library files you create (the supplied
|
|
|
|
files all do).
|
|
|
|
|
|
|
|
<P>
|
|
|
|
The common time signatures ``common'' and ``cut'' are supported. They
|
|
|
|
are translated by
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> to <B>4/4</B> and <B>2/2</B>.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<H1><A NAME="SECTION001440000000000000000"></A> <A NAME="beatadjust"></A>
|
|
|
|
<BR>
|
|
|
|
BeatAdjust
|
|
|
|
</H1>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
Internally,
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> tracks its position in a song according to beats.
|
|
|
|
For example, in a <B>4/4</B> piece the beat position is
|
|
|
|
incremented by 4 after each bar is processed. For the most part, this
|
|
|
|
works fine; however, there are some conditions when it would be nice
|
|
|
|
to manually adjust the beat position:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI>Insert some extra (silent) beats at the end of bar to simulate a pause,
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
2007-04-29 06:47:40 +00:00
|
|
|
<LI>Delete some beats to handle a ``short'' bar.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
2007-04-29 06:47:40 +00:00
|
|
|
<LI>Change a pattern in the middle of a bar.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
Each problem will be dealt with in turn. In <A HREF="#eg-pause">this
|
|
|
|
example</A> a pause is simulated at the end of bar
|
|
|
|
10. One problem with this logic is that the inserted beat will be
|
|
|
|
silent, but certain notes (percussive things like piano) often will
|
|
|
|
continue to sound (this is related to the decay of the note, not that
|
|
|
|
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> has not turned off the note). Frankly, this really doesn't
|
|
|
|
work too well ...which is why the F<SMALL>ERMATA</SMALL>
|
|
|
|
(<A HREF="#fermata">details here</A>) was added.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="#efefef" Border=3>
|
|
|
|
<tr><td Align="CENTER" BGColor="White">
|
|
|
|
<B><FONT SIZE="+2">Adding Extra Beats</FONT></B> <A NAME="eg-pause"></A>
|
|
|
|
</tr> </td>
|
|
|
|
<tr> <td >
|
|
|
|
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Time 4
|
|
|
|
<BR>
|
|
|
|
1 Cm / / /
|
|
|
|
<BR> ...
|
|
|
|
<BR>
|
|
|
|
10 Am / C /
|
|
|
|
<BR>
|
|
|
|
BeatAdjust 1
|
|
|
|
<BR> ...</B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
|
|
|
|
</td> </tr>
|
|
|
|
</Table>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
In <A HREF="#eg-mixed">this example</A> the problem of
|
|
|
|
the ``short bar'' is handled. In this example, the sheet music has the
|
|
|
|
majority of the song in <B>4/4</B> time, but bar 4 is in
|
|
|
|
<B>2/4</B>. This could be handled by setting the T<SMALL>IME</SMALL>
|
|
|
|
setting to 2 and creating some different patterns. Forcing silence on
|
|
|
|
the last 2 beats and backing up the counter is a bit easier.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="#efefef" Border=3>
|
|
|
|
<tr><td Align="CENTER" BGColor="White">
|
|
|
|
<B><FONT SIZE="+2">Short Bar Adjustment</FONT></B> <A NAME="eg-mixed"></A>
|
|
|
|
</tr> </td>
|
|
|
|
<tr> <td >
|
|
|
|
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>1 Cm / / /
|
|
|
|
<BR> ...
|
|
|
|
<BR>
|
|
|
|
4 Am / z! /
|
|
|
|
<BR>
|
|
|
|
BeatAdjust -2
|
|
|
|
<BR> ...</B>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
|
|
|
|
</td> </tr>
|
|
|
|
</Table>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
Note that the adjustment factor can be a partial beat. For example:
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>BeatAdjust .5 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
will insert half of a beat between the current bars.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<P>
|
|
|
|
Finally in <A HREF="#eg-overlap">this example</A>, the problem of
|
|
|
|
overlapping bars is handled. We want to change the G<SMALL>ROOVE</SMALL>
|
|
|
|
in the middle of a bar. So, we create the third bar two times. The first one
|
|
|
|
has a ``z!'' (silence) for beats 3 and 4; the second has ``z!'' for beats 1 and 2. This
|
|
|
|
permits the two halves to overlap without conflict. The B<SMALL>EAT</SMALL>A<SMALL>DJUST</SMALL>
|
|
|
|
forces the two bars to overlap completely.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="#efefef" Border=3>
|
|
|
|
<tr><td Align="CENTER" BGColor="White">
|
|
|
|
<B><FONT SIZE="+2">Mid-Bar Groove Change</FONT></B> <A NAME="eg-overlap"></A>
|
|
|
|
</tr> </td>
|
|
|
|
<tr> <td >
|
|
|
|
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Groove BigBand
|
|
|
|
<BR>
|
|
|
|
1 C
|
|
|
|
<BR>
|
|
|
|
Groove BigBandFill
|
2006-11-10 08:07:56 +00:00
|
|
|
<BR>
|
2007-04-29 06:47:40 +00:00
|
|
|
2 Am
|
2006-11-10 08:07:56 +00:00
|
|
|
<BR>
|
2007-04-29 06:47:40 +00:00
|
|
|
3 / / z!
|
|
|
|
<BR>
|
|
|
|
BeatAdjust -4
|
|
|
|
<BR>
|
|
|
|
Groove BigBand
|
|
|
|
<BR> z! / F
|
|
|
|
<BR>
|
|
|
|
5 F
|
|
|
|
<BR> ...</B>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
|
|
|
|
</td> </tr>
|
|
|
|
</Table>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
|
|
|
|
<H1><A NAME="SECTION001450000000000000000"></A> <A NAME="fermata"></A>
|
|
|
|
<BR>
|
|
|
|
Fermata
|
|
|
|
</H1>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
A ``fermata'' or ``pause'' in written music tells the musician to hold
|
|
|
|
a note for a longer period than the notation would otherwise indicate.
|
|
|
|
In standard music notation it is represented by a
|
|
|
|
``<!-- MATH
|
|
|
|
$\rotatebox{270}{\textbf{(\raisebox{.5ex}{.}}}$
|
|
|
|
-->
|
|
|
|
<IMG
|
|
|
|
WIDTH="14" HEIGHT="4" ALIGN="BOTTOM" BORDER="0"
|
|
|
|
SRC="img8.png"
|
|
|
|
ALT="\rotatebox{270}{\textbf{(\raisebox{.5ex}{.}}}">''
|
|
|
|
above a note.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
To indicate all this
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> uses a command like:
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Fermata 1 1 200 </B>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
Note that there are three parts to the command:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<OL>
|
|
|
|
<LI>The beat offset from the current point in the score to apply the
|
|
|
|
``pause''. The offset can be positive or negative and is calculated
|
|
|
|
from the current bar. Positive numbers will apply to the next bar;
|
|
|
|
negative to the previous. For offsets into the next bar you use
|
|
|
|
offsets starting at ``0''; for offsets into the previous bar an
|
|
|
|
offset of ``-1'' represents the last beat in that bar.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
For example, if you were in <B>4/4</B> time and wanted the
|
|
|
|
quarter note at the end of the next bar to be paused, you would use
|
|
|
|
an offset of 3. The same effect can be achieved by putting the
|
|
|
|
F<SMALL>ERMATA</SMALL> command after the bar and using an offset of -1.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
<LI>The duration of the pause in beats. For example, if you have a
|
|
|
|
quarter note to pause your duration would be 1, a half note (or 2
|
|
|
|
quarter notes) would be 2.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
<LI>The adjustment. This represented as a percentage of the current
|
|
|
|
value. For example, to force a note to be held for twice the normal
|
|
|
|
time you would use 200 (two-hundred percent). You can use a value
|
|
|
|
smaller than 100 to force a shorter note, but this is seldom done.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
</OL>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
<A HREF="#egpause">This example</A> shows how you can
|
|
|
|
place a F<SMALL>ERMATA</SMALL> before or after the effected bar.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="#efefef" Border=3>
|
|
|
|
<tr><td Align="CENTER" BGColor="White">
|
|
|
|
<B><FONT SIZE="+2">Fermata</FONT></B> <A NAME="egpause"></A>
|
|
|
|
</tr> </td>
|
|
|
|
<tr> <td >
|
|
|
|
|
|
|
|
<IMG WIDTH="90%" SRC="mupex/fermata.png" ALT="Lost Image">
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> Equivalent
|
|
|
|
<BR>
|
|
|
|
<BR>
|
|
|
|
Fermata 3 1 200
|
|
|
|
<BR>
|
|
|
|
C
|
|
|
|
<BR>
|
|
|
|
Gm7 </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
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<BR>
|
2006-11-10 08:07:56 +00:00
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Alternate
|
|
|
|
<BR>
|
|
|
|
<BR>
|
|
|
|
C
|
|
|
|
<BR>
|
|
|
|
Fermata -1 1 200
|
|
|
|
<BR>
|
|
|
|
Gm7 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
|
|
|
|
</td> </tr>
|
|
|
|
</Table>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
Here <A HREF="#egpause2">the second example</A> shows
|
|
|
|
the first four bars of a popular torch song. The problem with the
|
|
|
|
piece is that the first beat of bar four needs to be paused, and the
|
|
|
|
accompaniment style has to switch in the middle of the bar. The
|
|
|
|
example shows how to split the fourth bar with the first beat on one
|
|
|
|
line and the balance on a second. The ``z!''s are used to ``fill in''
|
|
|
|
the 4 beats skipped by the B<SMALL>EAT</SMALL>A<SMALL>DJUST</SMALL>.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="#efefef" Border=3>
|
|
|
|
<tr><td Align="CENTER" BGColor="White">
|
|
|
|
<B><FONT SIZE="+2">Fermata with Cut</FONT></B> <A NAME="egpause2"></A>
|
|
|
|
</tr> </td>
|
|
|
|
<tr> <td >
|
|
|
|
|
|
|
|
<P>
|
|
|
|
<IMG WIDTH="90%" SRC="mupex/fermata2.png" ALT="Lost Image">
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>C C#dim
|
|
|
|
<BR>
|
|
|
|
G7
|
|
|
|
<BR>
|
|
|
|
C / C#dim
|
|
|
|
<BR>
|
|
|
|
G7 z!
|
|
|
|
<BR>
|
|
|
|
Fermata -4 1 200
|
|
|
|
<BR>
|
|
|
|
Cut -3
|
|
|
|
<BR>
|
|
|
|
BeatAdjust -3.5
|
|
|
|
<BR>
|
|
|
|
Groove EasySwing
|
|
|
|
<BR>
|
|
|
|
z! G7 C7 </B>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
|
|
|
</td> </tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
The following conditions will generate warning messages:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI>A beat offset greater than one bar,
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
<LI>A duration greater than one bar,
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
<LI>An adjustment value less than 100.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
This command works by adjusting the global tempo in the MIDI meta
|
|
|
|
track at the point of the fermata. In most cases you can put more than
|
|
|
|
one F<SMALL>ERMATA</SMALL> command in the same bar, but they should be in beat
|
|
|
|
order (no checks are done). If the F<SMALL>ERMATA</SMALL> command has a
|
|
|
|
negative position argument, special code is invoked to remove any
|
|
|
|
note-on events in the duration specified, after the start of the
|
|
|
|
beat.<A NAME="tex2html52"
|
|
|
|
HREF="#foot5755"><SUP>14.2</SUP></A> This means that extra rhythm notes will
|
|
|
|
not be sounded--probably what you expect a held note to sound like.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<H1><A NAME="SECTION001460000000000000000"></A> <A NAME="cut"></A>
|
|
|
|
<BR>
|
|
|
|
Cut
|
|
|
|
</H1>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
This command was born of the need to simulate a ``cut'' or, more
|
|
|
|
correctly, a ``caesura''. This is indicated in music by two parallel
|
|
|
|
lines put at the top of a staff indicating the end of a musical
|
|
|
|
thought. The symbol is also referred to as ``railroad tracks''.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
The idea is to stop the music on all tracks, pause briefly, and
|
|
|
|
resume.<A NAME="tex2html53"
|
|
|
|
HREF="#foot5787"><SUP>14.3</SUP></A>
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> provides the C<SMALL>UT</SMALL> command to help deal with this
|
|
|
|
situation. But, before the command is described in detail, a
|
|
|
|
diversion: just how is a note or chord sustained in a MIDI file?
|
|
|
|
|
|
|
|
<P>
|
|
|
|
Assume that a
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> input file (and the associated library)
|
|
|
|
files dictates that some notes are to be played from beat 2 to beat 4
|
|
|
|
in an arbitrary bar. What
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> does is:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI>determine the position in the piece as a midi offset to the
|
|
|
|
current bar,
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
<LI>calculate the start and end times for the notes,
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
<LI>adjust the times (if necessary) based on adjustable features
|
|
|
|
such as <SMALL>STRUM</SMALL>, <SMALL>ARTICULATE</SMALL>, <SMALL>RTIME</SMALL>, etc.,
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
<LI>insert the required MIDI ``note on'' and ``note off'' commands
|
|
|
|
at the appropriate point in the track.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
You may think that a given note starts on beat 2 and ends (using
|
|
|
|
<SMALL>ARTICULATE 100</SMALL>) right on beat 3--but you would most likely be
|
|
|
|
wrong. So, if you want the note or chord to be ``cut'', what point do
|
|
|
|
you use to instruct
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> correctly? Unfortunately, the simple answer
|
|
|
|
is ``it depends''. Again, the answers will consist of some examples.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
In this first case you wish to stop the track in the middle of the last
|
|
|
|
bar. The simplest answer is:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>1 C
|
|
|
|
<BR> ...
|
|
|
|
<BR>
|
|
|
|
36 C / z! /
|
|
|
|
<BR></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
|
|
|
Unfortunately, this will ``almost'' work. But, any chords which are
|
|
|
|
longer than one or two beats may continue to sound. This, often, gives
|
|
|
|
a ``dirty'' sound to the end of the piece. The simple solution is to
|
|
|
|
add to the end of the piece:
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Cut -2 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
Depending on the rhythm you might have to fiddle a bit with the cut
|
|
|
|
value. But, the example here puts a ``all notes off'' message in all
|
|
|
|
the active tracks at the start of beat 3. The exact same result can be
|
|
|
|
achieved by placing:
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Cut 3 </B>
|
2006-11-10 08:07:56 +00:00
|
|
|
|
2007-04-29 06:47:40 +00:00
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
<I>before</I> the final bar.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
In this second example a tiny bit of silence is desired between bars 4 and
|
|
|
|
5 (this might be the end of a musical introduction). The following bit should
|
|
|
|
work:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>1 C
|
|
|
|
<BR>
|
|
|
|
2 G
|
2006-11-10 08:07:56 +00:00
|
|
|
<BR>
|
2007-04-29 06:47:40 +00:00
|
|
|
3 G
|
|
|
|
<BR>
|
|
|
|
4 C
|
|
|
|
<BR>
|
|
|
|
Cut
|
|
|
|
<BR>
|
|
|
|
BeatAdjust .2
|
|
|
|
<BR>
|
|
|
|
5 G
|
|
|
|
<BR> ... </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
|
|
|
In this case the ``all notes off'' is placed at the end of bar 4 and
|
|
|
|
two-tenths of a beat is inserted at the same location. Bar 5 continues
|
|
|
|
the track.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
2007-04-29 06:47:40 +00:00
|
|
|
The final example show how you might combine <SMALL>CUT</SMALL> with
|
|
|
|
<SMALL>FERMATA</SMALL>. In this case the sheet music shows a caesura after the
|
|
|
|
first quarter note and fermatas over the quarter notes on beats 2, 3
|
|
|
|
and 4.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>1 C C#dim
|
|
|
|
<BR>
|
|
|
|
2 G7
|
|
|
|
<BR>
|
|
|
|
3 C / C#dim
|
|
|
|
<BR>
|
|
|
|
Fermata 1 3 120
|
|
|
|
<BR>
|
|
|
|
Cut 1.9
|
|
|
|
<BR>
|
|
|
|
Cut 2.9
|
|
|
|
<BR>
|
|
|
|
Cut 3.9
|
|
|
|
<BR>
|
|
|
|
4 G7 / C7 /
|
|
|
|
<BR>
|
|
|
|
5 F6 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
A few tutorial notes on the above:
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<UL>
|
2007-04-29 06:47:40 +00:00
|
|
|
<LI>The command
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>Fermata 1 3 120 </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
applies a slow-down in tempo to the second beat for the following
|
|
|
|
bar (an offset of 1), for 3 beats. These 3 beats will be played 20%
|
|
|
|
slower than the set tempo.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
2007-04-29 06:47:40 +00:00
|
|
|
<LI>The three <SMALL>CUT</SMALL> commands insert MIDI ``all notes off'' in
|
|
|
|
all the active tracks just <I>before</I> beats 2, 3 and 4.
|
2006-11-10 08:07:56 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
</LI>
|
|
|
|
</UL>
|
2007-04-29 06:47:40 +00:00
|
|
|
|
|
|
|
<P>
|
|
|
|
Finally, the proper syntax for the command:
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
|
|
<tr><td>
|
|
|
|
<B>[Voice] Cut [Offset] </B>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</Table>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
If the voice is omitted, MIDI ``all notes off'' will be inserted into
|
|
|
|
each active track.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
If the offset is omitted, the current bar position will be used. This
|
|
|
|
the same as using an offset value of 0.
|
|
|
|
<BR><HR><H4>Footnotes</H4>
|
|
|
|
<DL>
|
|
|
|
<DT><A NAME="foot5658">...
|
|
|
|
groove.</A><A
|
|
|
|
HREF="node14.html#tex2html51"><SUP>14.1</SUP></A></DT>
|
|
|
|
<DD>The time value is saved/restored with grooves so
|
|
|
|
setting a time is redundant in this case.
|
|
|
|
|
|
|
|
</DD>
|
|
|
|
<DT><A NAME="foot5755">...
|
|
|
|
beat.</A><A
|
|
|
|
HREF="node14.html#tex2html52"><SUP>14.2</SUP></A></DT>
|
|
|
|
<DD>Technically speaking,
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> determines an interval
|
|
|
|
starting 5% of a beat after the start of the fermata to a point 5%
|
|
|
|
of a beat before the end. Any MIDI Note-On events in this range (in
|
|
|
|
all tracks) are deleted.
|
|
|
|
|
|
|
|
</DD>
|
|
|
|
<DT><A NAME="foot5787">...
|
|
|
|
resume.</A><A
|
|
|
|
HREF="node14.html#tex2html53"><SUP>14.3</SUP></A></DT>
|
|
|
|
<DD>The answer to the music theory question of whether
|
|
|
|
the ``pause'' takes time <I>from</I> the current beat or is treated
|
|
|
|
as a ``fermata'' is not clear--but as far as
|
|
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> is concerned the
|
|
|
|
command has no effect on timing.
|
|
|
|
|
|
|
|
</DD>
|
|
|
|
</DL><HR>
|
2006-11-10 08:07:56 +00:00
|
|
|
<!--Navigation Panel-->
|
2007-04-29 06:47:40 +00:00
|
|
|
<A NAME="tex2html531"
|
2006-11-10 08:07:56 +00:00
|
|
|
HREF="node15.html">
|
|
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
2007-04-29 06:47:40 +00:00
|
|
|
<A NAME="tex2html529"
|
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>
|
2007-04-29 06:47:40 +00:00
|
|
|
<A NAME="tex2html523"
|
2006-11-10 08:07:56 +00:00
|
|
|
HREF="node13.html">
|
|
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
|
|
<BR>
|
2007-04-29 06:47:40 +00:00
|
|
|
<B> Next:</B> <A NAME="tex2html532"
|
|
|
|
HREF="node15.html">Swing</A>
|
|
|
|
<B> Up:</B> <A NAME="tex2html530"
|
2006-11-10 08:07:56 +00:00
|
|
|
HREF="mma.html">Reference Manual</A>
|
2007-04-29 06:47:40 +00:00
|
|
|
<B> Previous:</B> <A NAME="tex2html524"
|
|
|
|
HREF="node13.html">Harmony</A>
|
2006-11-10 08:07:56 +00:00
|
|
|
<!--End of Navigation Panel-->
|
|
|
|
<ADDRESS>
|
2007-04-29 06:47:40 +00:00
|
|
|
bob
|
|
|
|
2007-03-07
|
2006-11-10 08:07:56 +00:00
|
|
|
</ADDRESS>
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|