VocalEasel/mma/docs/html/ref/node12.html
Matthias Neeracher f54adbeec5 Update to MMA 1.7
2011-07-26 22:49:39 +00:00

330 lines
9.6 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>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 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="node13.html">
<LINK REL="previous" HREF="node11.html">
<LINK REL="up" HREF="mma.html">
<LINK REL="next" HREF="node13.html">
</HEAD>
<BODY bgcolor="#ffffff">
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html581"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html579"
HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html573"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html582"
HREF="node13.html">Randomizing</A>
<B> Up:</B> <A NAME="tex2html580"
HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html574"
HREF="node11.html">Emulating plucked instruments: Plectrum</A>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION001200000000000000000"></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>, H<SMALL>ARMONY</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.5 would let
<FONT Face="Serif" Color="Navy"><I>MMA</I></FONT> work on a two and one-half 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, CHORD 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;
CHORD forces the selection to the notes in the current 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*". The &#8220;r&#8221; setting creates a random
direction. You can have 1 to 4 &#8220;r&#8221;s:
<P>
<BLOCKQUOTE>
<TABLE CELLPADDING=3 BORDER="1">
<TR><TD ALIGN="LEFT"># of 'r's</TD>
<TD ALIGN="LEFT">Direction Adjust</TD>
</TR>
<TR><TD ALIGN="LEFT">r</TD>
<TD ALIGN="LEFT">-1 to 1</TD>
</TR>
<TR><TD ALIGN="LEFT">rr</TD>
<TD ALIGN="LEFT">-2 to 2</TD>
</TR>
<TR><TD ALIGN="LEFT">rrr</TD>
<TD ALIGN="LEFT">-3 to 3</TD>
</TR>
<TR><TD ALIGN="LEFT">rrrr</TD>
<TD ALIGN="LEFT">-4 to 4</TD>
</TR>
</TABLE>
</BLOCKQUOTE>
<P>
With "r" a random value -1, 0 or 1 will be used.
<P>
<SPAN CLASS="textit">Important: in an A<SMALL>RIA</SMALL> track the sequence size/point is
ignored for D<SMALL>IRECTION</SMALL>.</SPAN>
<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>
ScaleType Scale Range 1
Direction 0 0 1 2 -4 0 1 r
<BR>
End </B>
</td></tr>
</Table>
<P>
Next assume that we have a few bars of music with only a CMajor chord.
The following table shows the notes which would be generated for each
event in the set S<SMALL>EQUENCE</SMALL>:
<P>
<BLOCKQUOTE>
<TABLE CELLPADDING=3 BORDER="1">
<TR><TD ALIGN="LEFT">Event</TD>
<TD ALIGN="LEFT">Direction</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">0</TD>
<TD ALIGN="LEFT">c</TD>
</TR>
<TR><TD ALIGN="LEFT">2</TD>
<TD ALIGN="LEFT">0</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">1</TD>
<TD ALIGN="LEFT">d</TD>
</TR>
<TR><TD ALIGN="LEFT">4</TD>
<TD ALIGN="LEFT">2</TD>
<TD ALIGN="LEFT">3</TD>
<TD ALIGN="LEFT">f</TD>
</TR>
<TR><TD ALIGN="LEFT">5</TD>
<TD ALIGN="LEFT">-4</TD>
<TD ALIGN="LEFT">6</TD>
<TD ALIGN="LEFT">b</TD>
</TR>
<TR><TD ALIGN="LEFT">6</TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT">6</TD>
<TD ALIGN="LEFT">b</TD>
</TR>
<TR><TD ALIGN="LEFT">7</TD>
<TD ALIGN="LEFT">1</TD>
<TD ALIGN="LEFT">0</TD>
<TD ALIGN="LEFT">c</TD>
</TR>
<TR><TD ALIGN="LEFT">8</TD>
<TD ALIGN="LEFT">r</TD>
<TD ALIGN="LEFT">??</TD>
<TD ALIGN="LEFT">??</TD>
</TR>
</TABLE>
</BLOCKQUOTE>
<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. Really, tables like this one are
very difficult to determine and quite useless. Just try different
D<SMALL>IRECTION</SMALL> and R<SMALL>ANGE</SMALL> settings, S<SMALL>CALETYPE</SMALL>s,
etc. Most combinations will sound fine, but Chromatic scales might not
be to your liking.
<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. After each note in the A<SMALL>RIA</SMALL>
is generated a pointer advances to the next direction in the list.
<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>ARMONY</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="tex2html581"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html579"
HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html573"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html582"
HREF="node13.html">Randomizing</A>
<B> Up:</B> <A NAME="tex2html580"
HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html574"
HREF="node11.html">Emulating plucked instruments: Plectrum</A></DIV>
<!--End of Navigation Panel-->
<ADDRESS>
bob
2010-11-07
</ADDRESS>
</BODY>
</HTML>