More passive form

This commit is contained in:
Ed Ward 2017-11-15 15:34:10 +01:00
parent addc8c3758
commit dbdbfb9af9
5 changed files with 142 additions and 80 deletions

View File

@ -1,13 +1,36 @@
<p>Adding pitch bending or aftertouch can add a lot of subtlety to an otherwise plain sounding midi region and help humanize it.</p> <p>
Adding pitch bending or aftertouch can add a lot of subtlety to an otherwise
plain sounding midi region and help humanize it.
</p>
<img src="/images/MIDI_pitch_bending.png" alt="Automation: pitch bending" /> <figure>
<img src="/images/MIDI_pitch_bending.png" alt="Automation: pitch bending">
<figcaption>Automation: pitch bending</figcaption>
</figure>
<p>Pitch bending and aftertouch both work the same way, through automation. Right click the MIDI track's header &gt; Automation &gt; Bender <em>(or Pressure)</em> &gt; <em>choose the channel you want to bend</em>.</p> <p>
Pitch bending and aftertouch both work the same way, through automation, by <kbd class="mouse">right</kbd>
clicking the MIDI track's header <kbd class="menu">&gt; Automation &gt; Bender (or
Pressure) &gt; the channel to bend</kbd>.
</p>
<p>Using the Draw tool, as for all the automation, allows to create a gradual change from one drawn point to another. A line in the center produces no change to the pitch, while a line above the center will bend the pitch to a higher note (up to 4 semitones) and a line going under the middle will bend the pitch to a lower note.</p> <p>
Using the Draw tool, as for all the automation, allows to create a gradual
change from one drawn point to another. A line in the center produces no
change to the pitch, while a line above the center will bend the pitch to a
higher note (up to 4 semitones) and a line going under the middle will bend
the pitch to a lower note.
</p>
<p>The values can be anything between 0 (-4 semitones) to 16383 (+4 semitones). No automation or a value of 8192 means no pitch shifting.</p> <p>
The values can be anything between 0 (-4 semitones) to 16383 (+4 semitones). No
<p>Aftertouch works very similarly, though the values are between 0 and 127. It should be noted that aftertouch differs from velocity, as aftertouch allows to slightly change the timbre or create a vibrato, while the velocity sets the power with which the note is played (e.g. on a keyboard, the key is hit).</p> automation or a value of 8192 means no pitch shifting.
</p>
<p>
Aftertouch works very similarly, though the values are between 0 and 127. It
should be noted that aftertouch differs from velocity, as aftertouch allows to
slightly change the timbre or create a vibrato, while the velocity sets the
power with which the note is played (e.g. on a keyboard, the key is hit).
</p>

View File

@ -31,11 +31,11 @@
<h2>Making an existing copy of a MIDI region independent</h2> <h2>Making an existing copy of a MIDI region independent</h2>
<p> <p>
Context-click on the MIDI region you want to be <kbd class="mouse">Right</kbd> clicking on the MIDI region to be independent
independent. From the context menu, select <kbd class="menu">MIDI &gt; Unlink From then selecting <kbd class="menu">MIDI &gt; Unlink From Other Copies</kbd>
Other Copies</kbd>. The copy is now using an independent version of makes it independant: the copy is now using its own version of the data, and
the data, and edits to the copy will affect only the copy. Other edits to the copy will affect only the copy. Other copies will continue to
copies will continue to share data. share data.
</p> </p>
<p class="note"> <p class="note">
@ -43,7 +43,6 @@
the copy is made. If the region was already trimmed and then a copy the copy is made. If the region was already trimmed and then a copy
is made, an independent copy will have no access to data that is is made, an independent copy will have no access to data that is
earlier or later than the bounds of the region it was copied earlier or later than the bounds of the region it was copied
from. Put differently, if you make an independent copy of a trimmed from. Put differently, making an independent copy of a trimmed
MIDI region, you cannot "untrim" it to a larger size. MIDI region only retains the visible part of it.
</p> </p>

View File

@ -1,75 +1,74 @@
<p> <p>
Ardour is capable of being used to both record and deliver MIDI Ardour is capable of being used to both record and deliver MIDI "scene"
"scene" automation. These are MIDI messages typically used to switch automation. These are MIDI messages typically used to switch presets or
presets or "scenes" on a variety of external equipment (or "scenes" on a variety of external equipment (or software), including lighting
software), including lighting and other audio/video tools. A common and other audio/video tools. A common use case is to automatically change
use case is to automatically change presets between songs or to change presets between songs or to change lighting conditions based on a specific
lighting conditions based on a specific position on the timeline. position on the timeline.
</p> </p>
<p> <p>
Each change from one scene to another is represented by a marker in Each change from one scene to another is represented by a marker in
the "Marker" bar. the "Marker" bar.
</p> </p>
<p> <p>
Technically, scene changes are delivered as a combination of bank and Technically, scene changes are delivered as a combination of bank and
program change MIDI messages. MIDI allows for 16384 banks, each with program change MIDI messages. MIDI allows for 16384 banks, each with
128 programs. 128 programs.
</p> </p>
<h2>Recording Scene Changes</h2> <h2>Recording Scene Changes</h2>
<p> <p>
Ardour has a dedicated MIDI port named "Scene In". Connect this port Ardour has a dedicated MIDI port named "Scene In". Recording scene changes can
to whatever source(s) of MIDI scene (bank/program change) messages you be done by connecting this port to whatever source(s) of MIDI scene (bank/program
wish to record. change) messages should be recorded.
</p> </p>
<p> <p>
Whenever the global record enable button is engaged and Ardour's Whenever the global record enable button is engaged and Ardour's
transport is rolling, a new marker will be created for each scene transport is rolling, a new marker will be created for each scene
change message received via the "Scene In" port. change message received via the "Scene In" port.
</p> </p>
<p> <p>
If 2 different scene changes are received within a certain time If two different scene changes are received within a certain time
period, only the later one will be recorded as a new marker. The period, only the later one will be recorded as a new marker. The
default threshold for this is 1 millisecond. default threshold for this is 1 millisecond.
</p> </p>
<p> <p>
If a scene change message is received while the playhead is close to If a scene change message is received while the playhead is close to
an existing marker with an associated scene change, the recording an existing marker with an associated scene change, the recording
process will alter the scene change in the existing marker rather than process will alter the scene change in the existing marker rather than
adding a new one. The default threshold for this "proximity" test is 1 adding a new one. The default threshold for this "proximity" test is 1
millisecond. millisecond.
</p> </p>
<h2>Manually Creating Scene Changes</h2> <h2>Manually Creating Scene Changes</h2>
<p> <p>
This feature is not currently implemented. This feature is not currently implemented.
</p> </p>
<h2>Playing back Scene Changes</h2> <h2>Playing back Scene Changes</h2>
<p> <p>
Ardour has a dedicated MIDI port named "Scene Out". Connect this port Ardour has a dedicated MIDI port named "Scene Out". Playing back scene
to wherever you wish to send MIDI scene (bank/program change) messages. changes can be done by connecting this port to whatever target(s) of MIDI
scene (bank/program change) messages should be sent to.
</p> </p>
<p> <p>
When the global record enable button is When the global record enable button is <em>not</em> enabled, the relevant
<em>not</em> enabled, the relevant message(s) will be sent via the message(s) will be sent via the "Scene Out" port as the playhead rolls past
"Scene Out" port as the playhead rolls past each marker with a scene each marker with a scene change associated with it.
change associated with it.
</p> </p>
<h2>Editing Scene Changes</h2> <h2>Editing Scene Changes</h2>
<p> <p>
This feature is not currently implemented. This feature is not currently implemented.
</p> </p>
<h2>Disabling Scene Changes</h2> <h2>Disabling Scene Changes</h2>
<p> <p>
This feature is not currently implemented. This feature is not currently implemented.
</p> </p>

View File

@ -18,22 +18,21 @@
<h2>Inserting Patch Changes</h2> <h2>Inserting Patch Changes</h2>
<p> <p>
Ensure that the To insert a patch change, the <a href="@@edit-point-control">edit point</a>
<a href="@@edit-point-control">edit point</a> is should be located where the patch change should be (within an existing MIDI
located where you want the patch change to be (within an existing region). When <kbd class="mouse">right</kbd> clicking, and from the MIDI
MIDI region). Context click, and from the MIDI region's context menu, region's context menu, selecting <kbd class="menu">MIDI &gt; Insert Patch
select <kbd class="menu">MIDI &gt; Insert Patch Change</kbd>. A Change</kbd>, a dialog appears allowing to set the bank and program values.
dialog will appear allowing you to set the bank and program values.
</p> </p>
<h2>Modifying Patch Changes</h2> <h2>Modifying Patch Changes</h2>
<p> <p>
Context-clicking on a patch change will bring up the same dialog that Context-clicking on a patch change will bring up the same dialog that
was used to create it, allowing you to modify the program and/or bank was used to create it, allowing to modify the program and/or bank
numbers. numbers.
</p> </p>
<p> <p>
You can also use the mouse wheel: <kbd class="mouse">&uArr;</kbd>/<kbd The mouse wheel can also be used: <kbd class="mouse">&uArr;</kbd>/<kbd
class="mouse">&dArr;</kbd> on the patch change will alter the program class="mouse">&dArr;</kbd> on the patch change will alter the program
number, <kbd class="mouse mod1">&uArr;</kbd>/<kbd number, <kbd class="mouse mod1">&uArr;</kbd>/<kbd
class="mouse mod1">&dArr;</kbd> will modify the bank number. class="mouse mod1">&dArr;</kbd> will modify the bank number.
@ -41,15 +40,15 @@
<h2>Moving Patch Changes</h2> <h2>Moving Patch Changes</h2>
<p> <p>
Just <kbd class="mouse">Left</kbd>-drag on the patch change to move it Just <kbd class="mouse">Left</kbd>-dragging the patch change moves it
around. around.
</p> </p>
<h2>Removing Patch Changes</h2> <h2>Removing Patch Changes</h2>
<p> <p>
Put the mouse pointer into the rectangular area, and press <kbd>Del</kbd> Pressing <kbd>Del</kbd> with the mouse pointer into the rectangular area, or
or use the delete mouse button operation. This will remove the patch change using the <kbd class="menu">delete</kbd> mouse button operation will remove the
(the operation can be undone). patch change (the operation can be undone).
</p> </p>
<h2>Names for Patch Numbers: MIDNAM files</h2> <h2>Names for Patch Numbers: MIDNAM files</h2>
@ -57,4 +56,3 @@
<p class=fixme> <p class=fixme>
Add content Add content
</p> </p>

View File

@ -1,13 +1,35 @@
<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 powerfull with the Transform tool.</p> <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 powerfull with the Transform tool.
</p>
<img src="/images/MIDI_transform.png" alt="MIDI transformation" /> <figure>
<img src="/images/MIDI_transform.png" alt="MIDI transformation">
<figcaption>MIDI transformation</figcaption>
</figure>
<p>To access the Transform tool, right click the MIDI region &gt; <em>name_of_the_region</em> &gt; MIDI &gt; Transform&hellip;</p> <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>
</p>
<p>First, select the property you want to modify in the 'Set' field, then change the target value using the 2 following fields. If you want to add more operands, click the "+" sign to create new lines. You can remove a superfluous line using the "-" sign on the right of the newly created line.</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.
</p>
<p>In the picture above, we've used the Transform tool to add a bit of humanisation, by slightly changing the velocity of each note of the region, by a random number between -19 and +19 from it's original velocity. So we've used 3 operations:</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 it's original velocity. So
three operations are applied:
</p>
<ul> <ul>
<li>Set velocity to this note's velocity</li> <li>Set velocity to this note's velocity</li>
@ -15,40 +37,61 @@
<li>- a random number from 1 to 20</li> <li>- a random number from 1 to 20</li>
</ul> </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.</p> <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.
</p>
<p>The properties that can be computed are:</p> <p>
The properties that can be computed are:
</p>
<ul> <ul>
<li>note number (eg C2 is note number 24, C#2 is 25 and so on)</li> <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>velocity (the global intensity of the note, between 0 and 127)</li>
<li>start time (in beats)</li> <li>start time (in beats)</li>
<li>length (in beats)</li> <li>length (in beats)</li>
<li>channel</li> <li>channel</li>
</ul> </ul>
<p>and the calculation may be based on the following properties:</p> <p>
and the calculation may be based on the following properties:
</p>
<ul> <ul>
<li>this note's</li> <li>this note's</li>
<li>the previous 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>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>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>a random number from <em>lower</em> to <em>higher</em> (<em>lower</em> and
<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> <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>
</ul> </ul>
<p>The mathematical operators can be:</p> <p>
The mathematical operators can be:
</p>
<ul> <ul>
<li>+ (addition)</li> <li>+ (addition)</li>
<li>- (substration)</li> <li>- (substration)</li>
<li>* (multiplication)</li> <li>* (multiplication)</li>
<li>/ (euclidian division)</li> <li>/ (euclidian division)</li>
<li>mod (rest of the euclidian division)</li> <li>mod (rest of the euclidian division).</li>
</ul> </ul>
<p>All this operations can be very handy, as long as you find a mathematical way to achieve your 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.<p> <p class="note">
All these operations can be very handy, as long as ther is a mathematical way
<p>You can nevertheless create very interesting results, like humanizing (randomizing the velocity, start time and duration of all the notes), creating arpeggios, automating tedious tasks, transposing, etc.</p> 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.
<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>