VocalEasel/mma/docs/html/ref/node11.html
Matthias Neeracher fb48baaf09 Updated to MMA 1.4
2009-05-17 22:34:44 +00:00

301 lines
9.0 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//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>Automatic Melodies: Aria Tracks</TITLE>
<META NAME="description" CONTENT="Automatic Melodies: Aria Tracks">
<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="node12.html">
<LINK REL="previous" HREF="node10.html">
<LINK REL="up" HREF="mma.html">
<LINK REL="next" HREF="node12.html">
</HEAD>
<BODY bgcolor="#ffffff">
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html507"
HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html505"
HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html499"
HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html508"
HREF="node12.html">Randomizing</A>
<B> Up:</B> <A NAME="tex2html506"
HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html500"
HREF="node10.html">Solo and Melody Tracks</A>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION001100000000000000000"></A>
<A NAME="chap-aria"></A>
<BR>
Automatic Melodies: Aria Tracks
</H1>
<P>
A<SMALL>RIA</SMALL> tracks are designed to let
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> automatically generate
something resembling melody. Honest, this will never put real
composers on the unemployment line (well, no more than they are mostly
there already).
<P>
You might want to use an A<SMALL>RIA</SMALL> to embellish a section of a song (like
an introduction or an ending). Or you can have
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> generate a complete
melody over the song chords.
<P>
In a traditional song the melody depends on two parts: patterns
(IE. note lengths, volume, articulation) and pitch (usually determined
by the chords in a song). If you have been using
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> at all you will
know that that chords are the building block of what
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> does
already. So, to generate a melody we just need some kind of
pattern. And, since
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> already uses patterns in most things it
does, it is a short step to use a specialized pattern to generate a
melody.
<P>
It might serve to look at the sample song files enclosed in this
package in the directory <TT><SPAN CLASS="textbf">egs/aria</SPAN></TT>. Compile and play them. Not too bad?
<P>
Just like other track, you can create as many A<SMALL>RIA</SMALL>s as you
want. So, you can have the tracks A<SMALL>RIA-1</SMALL>, A<SMALL>RIA</SMALL>, and
A<SMALL>RIA-SILLY</SMALL> all at the same time. And, the majority of other
commands (like O<SMALL>CTAVE</SMALL>, A<SMALL>RTICULATE</SMALL>, etc.) apply to A<SMALL>RIA</SMALL>s.
<P>
The following commands are important to note:
<P>
<DL>
<DT><STRONG>Range</STRONG></DT>
<DD>Just like scale tracks. A R<SMALL>ANGE</SMALL> of 2 would let
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> work on a 2
octave chord, etc.
<P>
</DD>
<DT><STRONG>ScaleType</STRONG></DT>
<DD>Much like a scale track. By default, the setting for this
is CHORD. But, you can use AUTO, SCALE or CHROMATIC. AUTO and SCALE
are identical and force
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> to select notes from the scale associated
with the current chord; CHROMATIC generates an 11 tone scale starting
at the root note of the chord.
<P>
</DD>
<DT><STRONG>Direction</STRONG></DT>
<DD>As
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> processes the song it moves a note-selection pointer
up or down. By default D<SMALL>IRECTION</SMALL> is set to the single value "1" which
tells
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> to add 1 after each note is generated. However, you can set
the value to an integer -4 to 4 or the special value "r". With "r" a
random value -1, 0 or 1 will be used. Important: in an A<SMALL>RIA</SMALL>
track the sequence size/point is ignored for D<SMALL>IRECTION</SMALL>.
<P>
</DD>
</DL>
<P>
A bit more detail on defining an A<SMALL>RIA</SMALL>:
<P>
First, here is a simplified sample track definition:
<P>
<Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3>
<tr><td>
<B>Begin Aria
<BR>
Voice JazzGuitar
<BR>
Volume f
<BR>
Sequence 1.5 8 90; 2 8 90; 2.5 8 90;
<BR>
3 8 90; 3.5 8 90; 4 8 90; 4.5 8 90
<BR>
Direction r 0 0 1 -1 0 0 1 r
</B>
</td></tr>
</Table>
<P>
Next assume that we have a few bars of music with only a CMajor
chord the default R<SMALL>ANGE</SMALL> of ``1'' and the default S<SMALL>CALE</SMALL>T<SMALL>YPE</SMALL>
of ``Scale'. The following table shows the notes which would be generated
for each time event:
<P>
<BLOCKQUOTE>
<TABLE CELLPADDING=3 BORDER="1">
<TR><TD ALIGN="LEFT">Event</TD>
<TD ALIGN="LEFT">Offset Pointer</TD>
<TD ALIGN="LEFT">Note</TD>
</TR>
<TR><TD ALIGN="LEFT">1</TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT">c</TD>
</TR>
<TR><TD ALIGN="LEFT">2</TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT">c</TD>
</TR>
<TR><TD ALIGN="LEFT">3</TD>
<TD ALIGN="LEFT">1</TD>
<TD ALIGN="LEFT">e</TD>
</TR>
<TR><TD ALIGN="LEFT">4</TD>
<TD ALIGN="LEFT">3 <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
SRC="img5.png"
ALT="$\Rightarrow$"></SPAN> 0</TD>
<TD ALIGN="LEFT">c</TD>
</TR>
<TR><TD ALIGN="LEFT">5</TD>
<TD ALIGN="LEFT">4 <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
SRC="img5.png"
ALT="$\Rightarrow$"></SPAN> 0</TD>
<TD ALIGN="LEFT">c</TD>
</TR>
<TR><TD ALIGN="LEFT">6</TD>
<TD ALIGN="LEFT">-2 <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
SRC="img5.png"
ALT="$\Rightarrow$"></SPAN> 2</TD>
<TD ALIGN="LEFT">g</TD>
</TR>
<TR><TD ALIGN="LEFT">7</TD>
<TD ALIGN="LEFT">random</TD>
<TD ALIGN="LEFT">c, e or g</TD>
</TR>
<TR><TD ALIGN="LEFT">8</TD>
<TD ALIGN="LEFT">random</TD>
<TD ALIGN="LEFT">c, e, or g</TD>
</TR>
<TR><TD ALIGN="LEFT">9</TD>
<TD ALIGN="LEFT">....</TD>
<TD ALIGN="LEFT">etc.</TD>
</TR>
</TABLE>
</BLOCKQUOTE>
<P>
In the above table the ``<SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
SRC="img5.png"
ALT="$\Rightarrow$"></SPAN>'' indicates that the offset is
out-of-range and converted to the second value.
<P>
If you were to change the S<SMALL>CALE</SMALL>T<SMALL>YPE</SMALL> or R<SMALL>ANGE</SMALL> you would get a
completely different series.
<P>
Please note the following:
<P>
<UL>
<LI>A<SMALL>RIA</SMALL>s are <SPAN CLASS="textit">not</SPAN> saved or modified by G<SMALL>ROOVE</SMALL> commands. Well, almost
...the sequence size will be adjusted to match the new size from the
groove. This might be unexpected:
<P>
<UL>
<LI>Load a groove. Let's say it has a S<SMALL>EQSIZE</SMALL> of 4.
</LI>
<LI>Create an A<SMALL>RIA</SMALL>. Use 4 patterns to match the groove size (if you
don't
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> will expand the sequence size for the A<SMALL>RIA</SMALL>, just
like other tracks).
</LI>
<LI>Process a few bars of music.
</LI>
<LI>Load a new groove, but this time with a S<SMALL>EQSIZE</SMALL> of 2. Now, the
A<SMALL>RIA</SMALL> will be truncated. This behavior is duplicated in other
tracks as well, but it might be unexpected here.
</LI>
</UL>
<P>
</LI>
<LI>D<SMALL>IRECTION</SMALL> can not be changed on a bar per bar basis. It applies to
the entire sequence.
<P>
</LI>
</UL>
<P>
You can make dramatic changes to your songs with a few simple
tricks. Try modifying the D<SMALL>IRECTION</SMALL> settings just slightly; use
several patterns and S<SMALL>EQ</SMALL>R<SMALL>ND</SMALL> to generate less predictable
patterns; use H<SMALL>ARMONLY</SMALL>O<SMALL>NLY</SMALL> with a different voice and pattern.
<P>
Oh, and have fun!
<P>
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html507"
HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html505"
HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html499"
HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html508"
HREF="node12.html">Randomizing</A>
<B> Up:</B> <A NAME="tex2html506"
HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html500"
HREF="node10.html">Solo and Melody Tracks</A></DIV>
<!--End of Navigation Panel-->
<ADDRESS>
bob
2008-09-28
</ADDRESS>
</BODY>
</HTML>