Skip to main content
Physics LibreTexts

11.7: Markers and Looping

  • Page ID
    27651
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    This section will be of particular interest if you need to create instrument or beat loops. Also, if you’re interested in creating a cut list or keep list, you’ll want to pay attention to the markers section since markers are used for defining the list segments. Markers can also be used to precisely define edit Affect areas. Even if you do not wish to follow this section step-by-step, we recommend reading through it anyway since it touches on a few important points.

    If you have worked with samplers for a while, you know the importance of making good seamless loops. You probably also know the frustration of trying to achieve those ideal loops! Loops are a necessary evil if you want a sound to sustain over long periods of time (several seconds). Without loops, sustaining sounds would require tremendous amounts of memory. A loop is defined by start and end points within the wave. The audio circuitry in the sampler (or computer) plays the wave until it reaches the loop end point. When it gets to this position, the circuit immediately jumps back to the loop start point and continues playback. Every time the loop end is reached, the circuit jumps back to the start point. This goes on for as long as a key remains depressed. Visual editing is an absolute boon to the hardcore looper. By seeing what you’re trying to loop, the whole process becomes much easier. Generally, you’ll arrive at satisfactory loops in considerably less time. The trick is to visually determine front and back parts of the wave which are similar. By doing this, discontinuities in the loop are minimized, and thus tell-tale clicks and thumps are reduced. Some waves are easier to loop than others. Very clangorous or harmonically complex waves can be virtually impossible to loop perfectly. The flute wave is not particularly difficult.

    In this section, you’re going to create a new sustain loop for the flute wave since the default loop was not very good. At this point, you’re interested in the Loops+Markers menu. First of all, loops are shown on the wave drawing as vertical lines connected by a horizontal bar. Loop ID numbers are drawn at the intersections of these lines. To see where your loops are, select Loops+Markers/Loop View/Sustain. You should see one line at the front of the wave and one at the rear. Only one loop is presently in use. It has been pre-defined to indicate the sustain loop. You can verify all of this by selecting File/Properties (Info). Info will tell you the exact position of the loops (in samples). Wrench can deal with three different kinds of loops, a Sustain loop, a Release loop, and trial loops (for now, you only care about the Sustain loop). As you can see, this dialog provides other items of interest including the sampling frequency, wave size, and Marker locations. Markers are like bookmarks, and we’ll take a look at them a bit later. Exit the Info dialog by selecting the OK button.

    The reason why the default loop is so lousy is because the start and end points were poorly placed (on purpose). Zoom in on the start by using either the Zoom Buttons or Zoom Box. Magnify your view until only a few cycles (repetitions) of the wave can be seen. Try to memorize the shape of the wave and pay particular attention to where the loop line intersects (is it above, on, or below the center line?) Now, by using the horizontal scroll slider, move over to the loop end (if you can’t see the horizontal loop line on the display, you’ve gone too far, so backup). You will notice that the cycles in this section of the wave look a bit different than in the first part. Also, this loop point is intersecting in a different area. So, that’s two good reasons why the loop sounds so bad! To fix this, you’ll need to pick out similar areas. First, zoom out fully so that you can see the entire wave again. (Select View/Show Full). The loop start was placed on the attack portion of the wave. Usually, this is not a good place to start a loop because the sound has not yet reached full volume. Fortunately, the loop end is reasonably placed.

    What you would like to do now is reposition the loop start. You can do this by selecting Loops+Markers/Loop Set and typing in a position from the keyboard. A more direct way is to use the mouse to grab the loop start line and move it to where you want it to be. Do this by positioning the mouse over the vertical loop start line, where it intersects with the horizontal loop line. Press the left mouse button. When you do this, the mouse pointer turns into an Insert pointer, and a highlight line is drawn. As you move the mouse, the highlight line moves with it. This line represents where you’d like the loop start to be moved to. We would like to skip over the initial attack portion, so move somewhat to the right of the original position and release the mouse button. The wave will be redrawn, showing your new loop start.

    This positioning was rather broad. Although you are in the right area, you don’t know if the precise intersection is that good. Usually, loop points are set at zero-crossing points on the wave. You would like to do this. Zoom in on the loop start until only a few cycles are visible. Chances are, it will not be on a zero-crossing. You will have to fine-tune your position. For the sake of convenience, look for a positive going zero-crossing (i.e., a point where the wave intersects the centerline as it rises). Grab the start line with the mouse as outlined previously, and move it to the desired location. Before proceeding, note the general shape of the wave in the vicinity of the loop point. By using the horizontal scroll slider, move to the loop end. You will probably have to reposition this one a bit as well. Try to find a zero-crossing area that looks like the one you just did. Reposition this point as you did the previous one. Once this is accomplished, the loop is done. You may audition your work by selecting the P button as you did before. If you made reasonable choices, the loop should be much smoother than the original.

    Successful looping is half art and half science. Do not be dismayed if this first attempt was less than perfect. As time progresses and you become more comfortable with Wrench and waves, your looping skill will increase. To make your life easier, Wrench offers certain automated looping features, as well various forms of cross-fade looping for those more difficult sounds. Of primary interest is the Interactive Loop Window item found under the Functions/Looping and Key Maps menu. Selecting this item will open a new window which shows the start and end portions of the loop. You may zoom in on this display using the window buttons as you would in an editor window. The difference here is that you have two sets of left/right arrows. These arrows control the positioning of the loop start and end points. You may select one of two views: Simultaneous, or Spliced. Simultaneous places the loop points in the middle of each display (loop end on the left, loop start on the right). Spliced places the two loop points between the two displays. In this way, you can see what the effective waveform is, as if you had spliced the portions together (ah yes, memories of magnetic tape and razor blades). A good loop will have a seamless (i.e., non-abrupt) splice. We’ll take a closer look at this function a bit later. Make sure that the Loop Window is closed before you continue. As a side note, even though you only fiddled with one loop, you may define up to 256 different loops using Loops+Markers/Loop Set.

    For details on creating, managing, editing and other advanced uses of markers and loops, refer to the Markers, Loops, and Clips section in the manual.


    This page titled 11.7: Markers and Looping is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by James M. Fiore via source content that was edited to the style and standards of the LibreTexts platform.