]> Shamusworld >> Repos - ardour-manual/blob - include/clip-stretch-options.html
Cue: stretching and bpm
[ardour-manual] / include / clip-stretch-options.html
1 <h2>Stretching</h2>
2
3 <p>
4         When you load an audio clip into a trigger slot, Ardour applies some
5         heuristics to estimate its temo in beats per minute. If neither the file
6         name nor the metadata specify it, Ardour will use
7         <a href="https://github.com/breakfastquay/minibpm">minibpm</a> to analyze
8         the file assuming it has a fixed tempo.
9 </p>
10
11 <p>
12         After estimating the tempo, Ardour will enable stretching for the clip
13         to make it match session's bpm at any given time. This means that should
14         session's tempo change over time (in either ramped or constant mode),
15         Ardour will re-stretch all audio clips to accomodate for that.
16 </p>
17
18 <p>
19         Disabling stretching when original clip's tempo doesn't match that of the
20         session will most of the times make the clip audibly go out of sync with
21         the beat.
22 </p>
23
24 <p>Stretch modes:</p>
25
26 <p>
27         Once stretching is enabled, you have several options how to apply it:
28 </p>
29
30 <ul>
31   <li><dfn>Crisp</dfn> works best for sounds with fast onset like drums and percussion</li>
32   <li><dfn>Smooth</dfn> is best used for sustained notes like pads</li>
33   <li><dfn>Mixed</dfn> is for anything in between</li>
34 </ul>
35
36 <h2>BPM</h2>
37
38 <p>
39         This is where Ardour displays the estimated tempo rounded to the closest
40         integer. You can progressively divide or mutiply by two whatever Ardour
41         thinks is the original tempo.
42 </p>
43
44 <p>
45         Supposing, session's tempo is currently 120bpm and original clip's tempo
46         is 90bpm. Stretching the clip to match session's tempo will make it sound
47         faster that it originally is.
48 </p>
49
50 <p>
51         If you divide the estimated clip's tempo by 2, you get 45bpm. Stretching it
52         back to 120bpm will make it sound faster. And multiplying the original
53         clip's tempo by 2 will make it 180bpm. Stretched down to 120bpm, the clip
54         will sound slower than it originally is.
55 </p>
56
57 <h2>Clip Length</h2>
58
59 Measured in beats. Affects the bpm. FIXME
60
61 <h2>Length in Bars</h2>
62
63 <p>It’s a hint to help you counting. FIXME</p>
64
65 <p>1) when a file is loaded, we infer its bpm either by minibpm's estimate, a flag in the filename, metadata (TBD) or other means</p>
66
67 <p>2) we assume the clip must have an integer number of beats in it  (simplest case is a one-bar loop with 4 beats in it)</p>
68
69 <p>3) ...so we round to the nearest beat length, and set the tempo to *exactly* fit the sample-length into the assumed beat-length</p>
70
71 <p>4) the user may recognize a problem:  "this was a 3/4 beat, which was rounded to 4 beats but it should have been 3"</p>
72
73 <p>5) if the user changes the beat-length, then the tempo is recalculated for use during stretching</p>
74
75 <p>6) someday, we will also allow the sample start and length to be adjusted in a trimmer, and that will also adjust the tempo</p>
76
77 <p>7) in all cases the user should be in final control; but our "internal" value for stretching are just sample-start and BPM, end of story</p>