mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-22 19:23:59 +00:00
447 lines
13 KiB
HTML
447 lines
13 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<!--Converted with LaTeX2HTML 2008 (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 HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
|
|
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
|
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
|
|
|
<LINK REL="STYLESHEET" HREF="mma.css">
|
|
|
|
<LINK REL="next" HREF="node18.html">
|
|
<LINK REL="previous" HREF="node16.html">
|
|
<LINK REL="up" HREF="mma.html">
|
|
<LINK REL="next" HREF="node18.html">
|
|
</HEAD>
|
|
|
|
<BODY bgcolor="#ffffff">
|
|
|
|
<DIV CLASS="navigation"><!--Navigation Panel-->
|
|
<A NAME="tex2html656"
|
|
HREF="node18.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
|
<A NAME="tex2html654"
|
|
HREF="mma.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
|
<A NAME="tex2html648"
|
|
HREF="node16.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A NAME="tex2html657"
|
|
HREF="node18.html">Volume and Dynamics</A>
|
|
<B> Up:</B> <A NAME="tex2html655"
|
|
HREF="mma.html">Reference Manual</A>
|
|
<B> Previous:</B> <A NAME="tex2html649"
|
|
HREF="node16.html">Tempo and Timing</A>
|
|
<BR>
|
|
<BR></DIV>
|
|
<!--End of Navigation Panel-->
|
|
<!--Table of Child-Links-->
|
|
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
|
|
|
<UL CLASS="ChildLinks">
|
|
<LI><A NAME="tex2html658"
|
|
HREF="node17.html#SECTION001710000000000000000">Skew</A>
|
|
<LI><A NAME="tex2html659"
|
|
HREF="node17.html#SECTION001720000000000000000">Accent</A>
|
|
<LI><A NAME="tex2html660"
|
|
HREF="node17.html#SECTION001730000000000000000">Delay</A>
|
|
<LI><A NAME="tex2html661"
|
|
HREF="node17.html#SECTION001740000000000000000">Notes</A>
|
|
<LI><A NAME="tex2html662"
|
|
HREF="node17.html#SECTION001750000000000000000">Summary</A>
|
|
</UL>
|
|
<!--End of Table of Child-Links-->
|
|
<HR>
|
|
|
|
<H1><A NAME="SECTION001700000000000000000"></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 shows “straight eights”, the second
|
|
“dotted eight, sixteenths”, and the third a rough indication of how
|
|
the first line would be played in “swing”. It all depends on the
|
|
style of music ... if we are playing a classical piece the first line
|
|
would have eight notes of the same length, and the second line would
|
|
have a sixteenth note one third the length of the dotted eights. In
|
|
contemporary music it might be that way ... or either or both could
|
|
be played as the third line.
|
|
|
|
<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 in 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>
|
|
<SPAN CLASS="textit">Important:</SPAN> 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>
|
|
|
|
<H1><A NAME="SECTION001710000000000000000">
|
|
Skew</A>
|
|
</H1>
|
|
|
|
<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>
|
|
|
|
<H1><A NAME="SECTION001720000000000000000">
|
|
Accent</A>
|
|
</H1>
|
|
|
|
<P>
|
|
It's natural for musicians to emphasize swing notes by making the
|
|
first (the longer one) a bit louder than the second. By default
|
|
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> uses the internal/default volumes for both notes. However, you can
|
|
change this with the A<SMALL>CCENT</SMALL> option. The option takes a pair of
|
|
values joined by a single comma. The first value sets the percentage
|
|
change for the “on-the-beat” notes; the second set the adjustment
|
|
for the “off-the-beat” notes. For example:
|
|
|
|
<P>
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
<tr><td>
|
|
<B>Swingmode On Accent=110,80 </B>
|
|
|
|
</td></tr>
|
|
</Table>
|
|
|
|
<P>
|
|
will apply changes of 110% and 80% to the volumes. Use of this
|
|
option will create more natural sounding tracks.
|
|
|
|
<P>
|
|
|
|
<H1><A NAME="SECTION001730000000000000000">
|
|
Delay</A>
|
|
</H1>
|
|
|
|
<P>
|
|
By default, the logic for setting the start positions of each note generated by
|
|
S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> is that the first note of the pair doesn't move and
|
|
the second is set at the duration of a “81” note from the first
|
|
(remember, “81” is set by the S<SMALL>KEW</SMALL> value).
|
|
|
|
<P>
|
|
However, you can move either or both notes forward to backwards with
|
|
the D<SMALL>ELAY</SMALL> option. This option takes 2 arguments (a comma pair)
|
|
with the first setting a delay for the first note and the second a
|
|
delay for the second. The delays can be negative, in which case the
|
|
note would be sounded early. The values represent MIDI ticks and must
|
|
be in the range -20 ... +20.
|
|
|
|
<P>
|
|
Example:
|
|
|
|
<P>
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
<tr><td>
|
|
<B>Swingmode On Delay=5,0 </B>
|
|
|
|
</td></tr>
|
|
</Table>
|
|
|
|
<P>
|
|
would push the first note of each pair just past the beat.
|
|
|
|
<P>
|
|
|
|
<H1><A NAME="SECTION001740000000000000000">
|
|
Notes</A>
|
|
</H1>
|
|
|
|
<P>
|
|
So far in this section we have assumed that all swing notes are eight
|
|
note pairs. But, you can also set the function to work over sixteenth
|
|
notes as well:
|
|
|
|
<P>
|
|
|
|
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
|
|
<tr><td>
|
|
<B>Swingmode On Notes=16 </B>
|
|
|
|
</td></tr>
|
|
</Table>
|
|
|
|
<P>
|
|
The only permitted values for N<SMALL>OTES</SMALL> are “8” (the default) and
|
|
“16”. This is, probably, only useful in very slow tempo settings.
|
|
|
|
<P>
|
|
|
|
<H1><A NAME="SECTION001750000000000000000">
|
|
Summary</A>
|
|
</H1>
|
|
|
|
<P>
|
|
S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> is a <SPAN CLASS="textit">Global</SPAN> setting which functions are
|
|
patterns and solo note sequences are defined or created. This can be
|
|
confusing ... you can't take an existing G<SMALL>ROOVE</SMALL> and just do a
|
|
S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> after calling it up ... the command will have no
|
|
effect. Instead, you'll have modify the actual library code. Or write
|
|
your own.
|
|
|
|
<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 $_S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> 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 on 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 eighth.
|
|
|
|
<P>
|
|
</LI>
|
|
</UL>
|
|
|
|
<DIV CLASS="navigation"><HR>
|
|
<!--Navigation Panel-->
|
|
<A NAME="tex2html656"
|
|
HREF="node18.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
|
<A NAME="tex2html654"
|
|
HREF="mma.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
|
<A NAME="tex2html648"
|
|
HREF="node16.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A NAME="tex2html657"
|
|
HREF="node18.html">Volume and Dynamics</A>
|
|
<B> Up:</B> <A NAME="tex2html655"
|
|
HREF="mma.html">Reference Manual</A>
|
|
<B> Previous:</B> <A NAME="tex2html649"
|
|
HREF="node16.html">Tempo and Timing</A></DIV>
|
|
<!--End of Navigation Panel-->
|
|
<ADDRESS>
|
|
bob
|
|
2010-11-07
|
|
</ADDRESS>
|
|
</BODY>
|
|
</HTML>
|