File: node12.html

package info (click to toggle)
mma 16.06-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 45,212 kB
  • sloc: python: 14,894; sh: 26; makefile: 13; perl: 12
file content (335 lines) | stat: -rw-r--r-- 10,508 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
<!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="tex2html656"
  HREF="node13.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="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>   
<BR>
<B> Next:</B> <A NAME="tex2html657"
  HREF="node13.html">Randomizing</A>
<B> Up:</B> <A NAME="tex2html655"
  HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html649"
  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, KEY 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; KEY
  sets the scale to one based on the current key signature (see
  <A HREF="node29.html#keysignature">here</A>).

<P>
In addition, each of the above listed S<SMALL>CALE</SMALL>T<SMALL>YPE</SMALL>s can have a
  single ``-'' appended to it. If this case, the list of notes used
  for the melody will be depleted until all the notes are used or
  there is a key change, chord change, etc. This mode will, mostly, avoid
  repeated notes. You might even think of it as a poor man's 12 tone
  composition tool (it really, really isn't).

<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 ``r'' setting creates a random direction. You can
  have 1 to 4 ``r''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>&nbsp;&nbsp; Voice JazzGuitar
<BR>&nbsp;&nbsp;  Volume f 
<BR>&nbsp;&nbsp;  Sequence {1.5 8 90; 2 8 90; 2.5 8 90; \
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 8 90; 3.5 8 90; 4 8 90; 4.5 8 90} 
<BR>&nbsp;&nbsp; ScaleType Scale 
<BR>&nbsp;&nbsp; Range 1 
<BR>&nbsp;&nbsp; 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> <SPAN  CLASS="textit">cannot</SPAN> be changed on a bar by 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="tex2html656"
  HREF="node13.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="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>   
<BR>
<B> Next:</B> <A NAME="tex2html657"
  HREF="node13.html">Randomizing</A>
<B> Up:</B> <A NAME="tex2html655"
  HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html649"
  HREF="node11.html">Emulating plucked instruments: Plectrum</A></DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Bob van der Poel
2016-06-11
</ADDRESS>
</BODY>
</HTML>