<!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>Swing</TITLE>
<META NAME="description" CONTENT="Swing">
<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="node16.html">
<LINK REL="previous" HREF="node14.html">
<LINK REL="up" HREF="mma.html">
<LINK REL="next" HREF="node16.html">
</HEAD>

<BODY  bgcolor="#ffffff">
<!--Navigation Panel-->
<A NAME="tex2html547"
  HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html545"
  HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html539"
  HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>   
<BR>
<B> Next:</B> <A NAME="tex2html548"
  HREF="node16.html">Volume and Dynamics</A>
<B> Up:</B> <A NAME="tex2html546"
  HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html540"
  HREF="node14.html">Tempo and Timing</A>
<BR>
<BR>
<!--End of Navigation Panel-->

<H1><A NAME="SECTION001500000000000000000"></A>  <A NAME="swingmode"></A>
<BR>
Swing
</H1>

<P>
In jazz and swing music there is a convention to apply special timing
to eighth notes. Normally, the first of a pair of eights is lengthened
and the second is shortened. In the sheet music this can is sometimes
notated as sequences of a dotted eighth followed by a sixteenth. But,
if you were to foolish enough to play the song with this timing you'd
get a funny look from a jazz musician who will tell you to ``swing''
the notes.

<P>
The easiest way to think about swing eighths is to mentally convert
them to a triplet consisting of a quarter note and and eighth. 

<P>
<DIV ALIGN="CENTER">
  <IMG WIDTH="75%"  SRC="mupex/swingconv.png" ALT="Lost Image">

</DIV>

<P>
In the above music the first and second bar are both played as
in the third.

<P>

<FONT Face="Serif"  Color="Navy"><I>MMA</I></FONT>  can handle this musical style in a number of ways, the control
is though the S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> command and options.

<P>
In default mode 
<FONT Face="Serif"  Color="Navy"><I>MMA</I></FONT>  assumes that you don't want your song to swing. 

<P>
To enable automatic conversions, simply set S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> to ``on'':

<P>

      <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
        <tr><td>
    <B>SwingMode On  </B> 
   
	    </td></tr>
      </Table>

<P>
This directive accepts the value ``On'' and ``Off'' or ``1'' and
``0''.

<P>
With S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> enabled 
<FONT Face="Serif"  Color="Navy"><I>MMA</I></FONT>  takes some extra steps when creating
patterns and processing of S<SMALL>OLO</SMALL> and M<SMALL>ELODY</SMALL> parts.

<P>

<UL>
<LI>Any eighth note in a pattern ``on the beat'' (1, 2, etc.) is converted to a
  ``81'' note.

<P>
</LI>
<LI>Any eighth note is a pattern ``off the beat'' (1.5, 2.5, etc.)
  is converted to ``82'' note, and the offset is adjusted to the prior
  beat plus the value of an ``81'' note.

<P>
</LI>
<LI>Drum notes with a value of a single MIDI tick are handled in the
  same way, but only the offset adjustment is needed.

<P>
</LI>
<LI>In S<SMALL>OLO</SMALL> and M<SMALL>ELODY</SMALL> tracks any successive pairs of
  eighth notes (or rests) are adjusted.

<P>
</LI>
</UL>

<P>
<I>Important:</I> when defining patterns and sequences remember that
the adjustment is made when the pattern is compiled. With a
D<SMALL>EFINE</SMALL> command the arguments are compiled (and swing
will be applied). But a S<SMALL>EQUENCE</SMALL> command with an
already defined pattern will use the existing pattern values (the
swing adjustment may or may not have been done at define
time). Finally, if you have a dynamic define in the sequence the
adjustment will take place if needed.

<P>
S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> has an additional option, S<SMALL>KEW</SMALL>. This factor
is used to create the ``81'' and ``82''
note lengths (see <A HREF="node4.html#notelength">here</A>). By
default the value ``66'' is used. This simply means that the note
length ``81'' is assigned 66% of the value of an eight note, and
``82'' is assigned 34%.

<P>
You can change this setting at any point in your song or style
files. It will take effect immediately on all future patterns and solo
lines.

<P>
The setting:

<P>

      <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
        <tr><td>
    <B>SwingMode Skew=60  </B> 
   
	    </td></tr>
      </Table>

<P>
will set a 60/40 setting.

<P>
If you want to experiment, find a G<SMALL>ROOVE</SMALL> with note lengths of
``81'' and ``82'' (``swing'' is as good a choice as any). Now, put a
S<SMALL>WING</SMALL>M<SMALL>ODE </SMALL>S<SMALL>KEW=</SMALL>V<SMALL>ALUE</SMALL> directive at the top of your song file (before
selecting any G<SMALL>ROOVE</SMALL>s). Compile and play the song with different values
to hear the effects.

<P>
If you want to play with different effects you could do something like
this:

<P>

      <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
        <tr><td>
    <B>SwingMode On Skew=40  
<BR> ... Set CHORD pattern/groove
<BR>
SwingMode Skew=30  
<BR> ... Set Drum-1 pattern/groove 
<BR>
SwingMode Skew=whatever 
<BR> ... Set Drum-2   </B> 
   
	    </td></tr>
      </Table>

<P>
This will give different rates for different tracks. I'll probably not
enjoy your results, but I play polkas on the accordion for fun.

<P>
The complete S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> setting is saved in the current G<SMALL>ROOVE</SMALL> and can be accessed
via the $_SwingMode built-in macro.

<P>
The easy (and ugly and unintuitive) way to handle swing is to
hard-code the value right into your patterns. For example, you could
set a swing chord pattern with:

<P>

      <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
        <tr><td>
    <B>Chord Define Swing8 1 3+3 80; 1.33 3 80; 2 3+3 80; 2.33 3 80 ...  </B> 
   
	    </td></tr>
      </Table>

<P>
We really don't recommend this for the simple reason that the swing
rate is frozen as  quarter/eighth triplets.

<P>
If you refer to the table of note lengths
(<A HREF="node4.html#notelength">here</A>) you will find the cryptic
values of ``81'' and ``82''. These notes are adjusted depending of the
S<SMALL>WING</SMALL>S<SMALL>KEW</SMALL> value. So:

<P>

      <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
        <tr><td>
    <B>Chord Define Swing8 1 81 80; 1+81 82 80; 2 81 80; 2+81 82 80 ...  </B> 
   
	    </td></tr>
      </Table>

<P>
is a bit better. In this case we have set a chord on beat 1 as the
first of an eighth note, and a chord on the off-beat as the
second. Note how we specify the off-beats as ``1+81'', etc. 

<P>
In this example the feel of the swing will vary with the
S<SMALL>WING</SMALL>S<SMALL>KEW</SMALL> setting.

<P>
But, aren't computers supposed to make life simple? Well, here is our
recommended method:

<P>

      <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
        <tr><td>
    <B>SwingMode On 
<BR>
Chord Define Swing8 1 8 80; 1.5 8 80; 2 8 80; 2.5 8 80 ...  </B> 
   
	    </td></tr>
      </Table>

<P>
Now, 
<FONT Face="Serif"  Color="Navy"><I>MMA</I></FONT>  will convert the values for you. Magic, well ...almost.

<P>
There are times when you will need to be more explicit, especially in
S<SMALL>OLO</SMALL> and M<SMALL>ELODY</SMALL> tracks:

<P>

<UL>
<LI>If a bar has both swing and straight eighths.

<P>
</LI>
<LI>If the note following an eighth is not an eight.

<P>
</LI>
</UL>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html547"
  HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html545"
  HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html539"
  HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>   
<BR>
<B> Next:</B> <A NAME="tex2html548"
  HREF="node16.html">Volume and Dynamics</A>
<B> Up:</B> <A NAME="tex2html546"
  HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html540"
  HREF="node14.html">Tempo and Timing</A>
<!--End of Navigation Panel-->
<ADDRESS>
bob
2007-03-07
</ADDRESS>
</BODY>
</HTML>