]> Shamusworld >> Repos - ardour-manual/blobdiff - include/transforming-midi---mathematical-operations.html
Cue: typo fix in Follow Actions Probability
[ardour-manual] / include / transforming-midi---mathematical-operations.html
index bdf557f193fcd8d4c9d4d8e68484a708924ab9ea..8ed454d714e98b432583ff135bb4cbb3e5f748db 100644 (file)
@@ -1,97 +1,98 @@
 
+<figure class="right">
+  <img src="/images/MIDI_transform.png" alt="MIDI transformation">
+  <figcaption>The MIDI transformation dialog</figcaption>
+</figure>
+
 <p>
-       Considering the numerical nature of MIDI events, it can be tempting to apply
-  mathematical transformations to our MIDI regions by using mathematical
-  operations. Ardour makes it very easy and powerful with the Transform tool.
+  Considering the numerical nature of MIDI events, it can be useful to
+  transform a MIDI region by applying mathematical operations to it. Ardour
+  makes this kind of powerful transformation very easy with the Transform tool. 
+  The tool makes possible things such as humanizing (randomizing the velocity,
+  start time and duration of all the notes), creating arpeggios, automating
+  tedious tasks, transposing, etc.
 </p>
 
-<figure>
-       <img src="/images/MIDI_transform.png" alt="MIDI transformation">
-       <figcaption>MIDI transformation</figcaption>
-</figure>
-
 <p>
-       Accessing the Transform tool is done by <kbd class="mouse">right</kbd> clicking
-       the MIDI region <kbd class="menu">&gt;<em>name_of_the_region</em> &gt; MIDI
-       &gt; Transform&hellip;</kbd>
+  The Transform tool is accessed by <kbd class="mouse">right</kbd>-clicking
+  the MIDI region &gt; <em>name_of_the_region</em> &gt; MIDI &gt; Transform&hellip;.
 </p>
 
 <p>
-       To act on a property, it must be selected in the <kbd
-       class="menu">Set</kbd> field, then the target value must be changed using the two
-       following fields. To add more operands the "+" sign should be clicked to
-       create new lines. These can be removed using the "-" sign on the
-       right of the newly created lines.
+  First, the property to be modified in the <kbd class="menu">Set</kbd> field
+  is selected, then the target value is changed using the two fields that
+  follow. If more operands are desired, the <kbd class="menu">+</kbd> button is
+  clicked to create new lines. Any superfluous line can be removed by clicking
+  on the <kbd class="menu">-</kbd> button on the right side of the line to be
+  removed. Finally, once everything is set as desired, the <kbd
+  class=menu>Transform</kbd> button is pressed to apply the transformation.
 </p>
 
 <p>
-       In the picture above, the Transform tool has been used to add a bit of
-       humanization, by slightly changing the velocity of each note of the region, by
-       a random number between -19 and +19 from its original velocity. So
-       three operations are applied:
+  In the image above, the Transform tool has been used to add a bit of
+  humanization, by slightly changing the velocity of each note of the region by
+  a random number between -19 and +19 from its original velocity. So the
+  following three operations are applied:
 </p>
 
 <ul>
-       <li>Set velocity to this note's velocity</li>
-       <li>+ a random number from 1 to 20</li>
-       <li>- a random number from 1 to 20</li>
+  <li>Set velocity to this note's velocity</li>
+  <li>+ a random number from 1 to 20</li>
+  <li>- a random number from 1 to 20</li>
 </ul>
 
 <p>
-       Each note will trigger a calculation of its own, so its velocity will be
-       increased by a random number between 1 and 20, then decreased by a random
-       number between 1 and 20.
+  Each note will trigger a unique calculation, where its velocity will be
+  increased by a random number between 1 and 20, then decreased by a random
+  number between 1 and 20. This will result in a new velocity being applied to
+  the note, which will be the original velocity plus or minus a value &lt;19.
 </p>
 
 <p>
-       The properties that can be computed are:
+  The parameters that can be transformed are:
 </p>
 
 <ul>
-       <li>note number (eg C2 is note number 24, C#2 is 25 and <a href="@@midi-notes-ref">so on</a>)</li>
-       <li>velocity (the global intensity of the note, between 0 and 127)</li>
-       <li>start time (in beats)</li>
-       <li>length (in beats)</li>
-       <li>channel</li>
+  <li>MIDI note number (e.g. <a href="@@midi-notes-ref">C2 is note number 24,
+  C#2 is 25, etc.</a>)</li>
+  <li>MIDI velocity (the volume of the note, between 0 and 127)</li>
+  <li>start time (in beats)</li>
+  <li>length (in beats)</li>
+  <li>MIDI channel</li>
 </ul>
 
 <p>
-       and the calculation may be based on the following properties:
+  and the transformation can be based on any of the following:
 </p>
 
 <ul>
-       <li>this note's</li>
-       <li>the previous note's</li>
-       <li>this note's index (number of the note, i.e. the first one is 0, the second
-               is 1, etc.)</li>
-       <li>exactly (for a constant value, between 1 and 127)</li>
-       <li>a random number from <em>lower</em> to <em>higher</em> (<em>lower</em> and
-               <em>higher</em> beeing constant values between 1 and 127)</li>
-       <li>equal steps from <em>lower</em> to <em>higher</em> (<em>lower</em> and
-               <em>higher</em> beeing constant values between 1 and 127).</li>
+  <li>this note's</li>
+  <li>the previous note's</li>
+  <li>this note's index (number of the note, i.e. the first one is 0, the second
+  is 1, etc.)</li>
+  <li>exactly (for a constant value, between 1 and 127)</li>
+  <li>a random number from <em>lower</em> to <em>higher</em> (<em>lower</em> and
+  <em>higher</em> being constant values between 1 and 127)</li>
+  <li>equal steps from <em>lower</em> to <em>higher</em> (<em>lower</em> and
+  <em>higher</em> being constant values between 1 and 127)</li>
 </ul>
 
 <p>
-       The mathematical operators can be:
+  The mathematical operators are:
 </p>
 
 <ul>
-       <li>+ (addition)</li>
-       <li>- (subtraction)</li>
-       <li>* (multiplication)</li>
-       <li>/ (euclidian division)</li>
-       <li>mod (remainder of the euclidian division).</li>
+  <li>+ (addition)</li>
+  <li>- (subtraction)</li>
+  <li>* (multiplication)</li>
+  <li>/ (euclidian division)</li>
+  <li>mod (remainder of the euclidian division)</li>
 </ul>
 
 <p class="note">
-       All these operations can be very handy, as long as there is a mathematical way
-       to achieve the targeted goal. Beware though of odd "border cases": division by
-       zero (which does nothing), using the note's index and forgetting it starts at
-       0 and not 1, etc.
+  While the Transform tool is powerful, it is not infallible.
+  Things like division by zero (which does nothing), using the note's index and
+  thinking that it starts at one (instead of zero), etc. can yield
+  unexpected results.
 <p>
 
-<p>
-       Very interesting results can nevertheless be created, like humanizing
-       (randomizing the velocity, start time and duration of all the notes), creating
-       arpeggios, automating tedious tasks, transposing, etc.
-</p>