File: node18.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 (453 lines) | stat: -rw-r--r-- 13,525 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
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
<!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="node19.html">
<LINK REL="previous" HREF="node17.html">
<LINK REL="up" HREF="mma.html">
<LINK REL="next" HREF="node19.html">
</HEAD>

<BODY  bgcolor="#ffffff">

<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html744"
  HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html742"
  HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html736"
  HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>   
<BR>
<B> Next:</B> <A NAME="tex2html745"
  HREF="node19.html">Volume and Dynamics</A>
<B> Up:</B> <A NAME="tex2html743"
  HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html737"
  HREF="node17.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="tex2html746"
  HREF="node18.html#SECTION001810000000000000000">Skew</A>
<LI><A NAME="tex2html747"
  HREF="node18.html#SECTION001820000000000000000">Accent</A>
<LI><A NAME="tex2html748"
  HREF="node18.html#SECTION001830000000000000000">Delay</A>
<LI><A NAME="tex2html749"
  HREF="node18.html#SECTION001840000000000000000">Notes</A>
<LI><A NAME="tex2html750"
  HREF="node18.html#SECTION001850000000000000000">Summary</A>
</UL>
<!--End of Table of Child-Links-->
<HR>

<H1><A NAME="SECTION001800000000000000000"></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>
<SPAN  CLASS="textit">Important (again):</SPAN> S<SMALL>WINGMODE</SMALL> is saved and restored when
switching G<SMALL>ROOVES</SMALL>. This means that the S<SMALL>WINGMODE</SMALL> setting
you set in a song file is only valid until the next time you issue a
G<SMALL>ROOVE</SMALL> command. See the summary below for more details.

<P>

<H1><A NAME="SECTION001810000000000000000">
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="SECTION001820000000000000000">
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="SECTION001830000000000000000">
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="SECTION001840000000000000000">
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="SECTION001850000000000000000">
Summary</A>
</H1>

<P>
S<SMALL>WING</SMALL>M<SMALL>ODE</SMALL> is a <SPAN  CLASS="textit">Global</SPAN> setting which functions <SPAN  CLASS="textit">when
patterns and solo note sequences  are defined or created</SPAN>. 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.66 3 80; 2 3+3 80; 2.66 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="tex2html744"
  HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html742"
  HREF="mma.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html736"
  HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>   
<BR>
<B> Next:</B> <A NAME="tex2html745"
  HREF="node19.html">Volume and Dynamics</A>
<B> Up:</B> <A NAME="tex2html743"
  HREF="mma.html">Reference Manual</A>
<B> Previous:</B> <A NAME="tex2html737"
  HREF="node17.html">Tempo and Timing</A></DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Bob van der Poel
2016-06-11
</ADDRESS>
</BODY>
</HTML>