]> Shamusworld >> Repos - ardour-manual/blob - include/rhythm-ferret.html
Update External Sends docs for 7.1
[ardour-manual] / include / rhythm-ferret.html
1
2 <figure>
3   <img src="/images/rhythm-ferret.png" alt="The Rhythm Ferret window">
4   <figcaption>
5     The Rhythm Ferret window
6   </figcaption>
7 </figure>
8
9 <p>
10   The Rhythm Ferret is a dedicated tool to speed up the usually labor intensive
11   task of slicing and adjusting a sound region to match a specific time grid. It is
12   especially useful for drum tracks, either to match a different tempo, or to
13   adjust a slightly out of tempo performance.
14 </p>
15 <p>
16   It is not limited to this use though, as it supports both percussive and note
17   type detection, and can be used on melodic material too.
18 </p>
19
20 <h2>Accessing the Rhythm Ferret</h2>
21
22 <p>
23   The Rhythm Ferret window can be accessed by <kbd class="mouse">right</kbd> clicking
24   any audio region, then <kbd class="menu"><em>Name_Of_The_Region</em> &gt; Edit
25   &gt; Rhythm Ferret</kbd>.
26 </p>
27 <p>
28   Once the window is open, selecting any region will make it the focus of the
29   Rhythm Ferret's detection, hence allowing to process multiple regions sequentially
30   without reopening the window each time.
31 </p>
32 <p>
33   The window itself is made of:
34 </p>
35 <ul>
36     <li>a "mode" selection</li>
37     <li>some parameters for this mode</li>
38     <li>an operation selection, that for now only allows to <kbd class="menu">Split
39       regions</kbd>.</li>
40 </ul>
41
42
43 <h2>The "Mode" selection</h2>
44
45 <p>
46   As the Rhythm Ferret is able to detect both percussive hits and melodic notes,
47   it is important to choose the best suited mode for the considered material,
48   so that Ardour can perform the detection with the greatest accuracy :
49 </p>
50 <ul>
51     <li><dfn>Percussive Onset</dfn> will detect the start of each hit based
52     on the sudden change in energy (&equals; volume) of the waveform</li>
53     <li><dfn>Note Onset</dfn> will detect the start of each note based on the changes
54     in the frequency domain.</li>
55 </ul>
56
57
58
59 <h2>The Percussive Onset mode</h2>
60
61 <p>
62   In this mode, only two parameters are active:
63 </p>
64 <table class="dl">
65   <tr><th><dfn>Sensitivity</dfn> (%)</th><td>The proportion of the samples that must exceed the
66     energy rise threshold in order for an onset to be detected (at frames in which
67     the detection function peaks). This roughly corresponds to how "noisy" a percussive
68     sound must be in order to be detected.</td></tr>
69   <tr><th><dfn>Cut Pos Threshold</dfn> (dB)</th><td>The rise in energy amongst a group of samples
70     that is required for that to be counted toward the detection function's count.
71     This roughly corresponds to how "loud" a percussive sound must be in order to
72     be detected.</td></tr>
73 </table>
74 <p>
75   As those parameters are very material-related, there is no recipe for a perfect
76   match, and a good peak detection is a matter of adjusting those two parameters
77   by trial and error, and trying using the <kbd class="menu">Analyze</kbd> button
78   after each try.
79 </p>
80 <p>
81   Vertical grey markers will appear on the selected region, showing where Ardour
82   detects onsets as per the parameters. This markers can be manually adjusted, see
83   below.
84 </p>
85
86 <h2>The Note Onset Mode</h2>
87
88 <p>
89   In the Note Onset mode, more parameters are active:
90 </p>
91 <table class="dl">
92   <tr><th><dfn>Detection function</dfn></th><td>The method used to detect note changes. More on
93     this below.</td></tr>
94   <tr><th><dfn>Trigger gap (postproc)</dfn> (ms)</th><td>Set the minimum inter-onset interval,
95     in milliseconds, i.e. the shortest interval between two consecutive onsets.
96     </td></tr>
97   <tr><th><dfn>Peak threshold</dfn></th><td>Set the threshold value for the onset peak picking.
98     Lower threshold values imply more onsets detected. Increasing this threshold
99     should reduce the number of incorrect detections.</td></tr>
100   <tr><th><dfn>Silence threshold</dfn> (dB)</th><td>Set the silence threshold, in dB, under which
101     the onset will not be detected. A value of -20.0 would eliminate most onsets
102     but the loudest ones. A value of -90.0 would select all onsets.</td></tr>
103 </table>
104
105 <p>
106   The Detection function, used in Note Onset mode to choose the mathematical strategy
107   used to detect the note changes, is user-selectable:
108 </p>
109 <table class="dl">
110   <tr><th><dfn>Energy based</dfn></th><td>This function calculates the local energy of the input
111     spectral frame</td></tr>
112   <tr><th><dfn>Spectral Difference</dfn></th><td>Spectral difference onset detection function
113     based on Jonathan Foote and Shingo Uchihashi's "The beat spectrum: a new
114     approach to rhythm analysis" (2001)</td></tr>
115   <tr><th><dfn>High-Frequency Content</dfn></th><td> This method computes the High Frequency
116     Content (HFC) of the input spectral frame. The resulting function is efficient
117     at detecting percussive onsets. Based on Paul Masri's "Computer modeling
118     of Sound for Transformation and Synthesis of Musical Signal" (1996)</td></tr>
119   <tr><th><dfn>Complex Domain</dfn></th><td>This function uses information both in frequency and
120     in phase to determine changes in the spectral content that might correspond
121     to musical onsets. It is best suited for complex signals such as polyphonic
122     recordings.</td></tr>
123   <tr><th><dfn>Phase Deviation</dfn></th><td>This function uses information both energy and in
124     phase to determine musical onsets.</td></tr>
125   <tr><th><dfn>Kullback-Liebler</dfn></th><td>Kulback-Liebler onset detection function based on
126     Stephen Hainsworth and Malcom Macleod's "Onset detection in music audio
127     signals" (2003)</td></tr>
128   <tr><th><dfn>Modified Kullback-Liebler</dfn></th><td>Modified Kulback-Liebler onset detection
129     function based on Paul Brossier's "Automatic annotation of musical audio for
130     interactive systems" (2006)</td></tr>
131 </table>
132
133 <p>
134   Ardour defaults to Complex Domain, which usually gives good result for harmonic
135   material.
136 </p>
137
138 <h2>Manual adjustment</h2>
139
140 <figure>
141   <img src="/images/rhythm-ferret-demo-a.png" alt="The Rhythm Ferret: analysing">
142   <img src="/images/rhythm-ferret-demo-b.png" alt="The Rhythm Ferret: Splitting">
143   <img src="/images/rhythm-ferret-demo-c.png" alt="The Rhythm Ferret: Snapping to grid">
144   <figcaption>
145     The Rhythm Ferret: Analyzing, Splitting regions, and snapping to grid
146   </figcaption>
147 </figure>
148
149 <p>
150   Using the Rhythm Ferret consists usually in finding the right parameters to
151   split the audio, by adjusting them and clicking the
152   <kbd class="menu">Analyze</kbd> button. Each time an analysis is run, Ardour
153   erases the previous results, and creates grey markers on the region according
154   to the parameters. Those markers can be manually dragged with the
155   <kbd class="mouse">LEFT</kbd> mouse button to adjust their positions.
156 </p>
157 <p>
158   Once the markers are suitably placed, the second button in the down hand side
159   of the Rhythm Ferret window allows to <kbd class="menu">Apply</kbd> the operation.
160   At the moment of writing, only the <kdb class="menu">Split Region</kdb> is
161   available, which will split the region at the markers.
162 </p>
163 <p>
164   Those regions can then be manually aligned, or have their sync points set to
165   the closest grid (as per the <a href="@@grid-controls">Grid settings</a> in
166   effect), by selecting all the regions, and using the
167   <kbd class="mouse">right</kbd> click then <kbd class="menu">Selected Regions &gt; Position &gt;
168   Snap position to grid</kbd>.
169 </p>
170