Sampling or Sam-Click-Pling!
Martin Russ returns with a light-hearted look at a serious subject - sample looping - and passes on a few handy tips for those of you that are having difficulty with your sampling machines.
Martin Russ presents a discussion of some of the more technical consequences of looping samples.
Samplers are very good at enabling you to reproduce sounds in a very immediate and playable way. That's fine - until you need to edit a sound to give a long sustain or decay segment. There are at least two solutions to this problem:
1. Add more memory to store the sample while it sustains or decays. This solution has the dubious advantage of costing lots now and less and less the longer you wait.
2. Loop the sound. A quick bit of manipulation with the start and end points and there it is.
The second solution sounds disconcertingly easy doesn't it? Let's have a look at why it isn't necessarily so and how we can approach a satisfactory solution.
Figure 1 shows the sort of problem our erstwhile looper finds. It illustrates the sort of waveform that real instruments have - constantly changing in subtle ways, with a bit of high frequency noise - nothing like the pure and simple sine waves which often inhabit Physics Lab textbooks (and sampling machine handbooks!). Figure 1 also shows the frequency content (spectrum) of the displayed time waveform - notice that we have only three major harmonics and a bit of noise (too small to be seen here because of the scale size). This waveform varies because of the slight differences in frequency between the three harmonic components.
Okay, a quick bit of digital glueing produces Figure 2, where no attempt has been made to choose a loop point for our sample. Notice the sharp discontinuity at the splice point (indicated by the vertical dotted line). What does a join like this sound like? Well, the sharpness of the discontinuity produces what is technically described as a 'DC component' along with a lot of noise - in other words, an audible 'click'. Depending on your join, the sampled sound, and your ears, such a click can be either unnoticeable or unbearable! For example, clicks in looped samples of electric pianos sound dreadful because the piano sound and the click are very different, whereas a click in the middle of a looped sample of a foot squashing ants would be relatively inoffensive - except to the RSPCA!
At this point 'zero crossings' enter the discussion. Some people call them the universal panacea for all looping ills because the basic idea behind them is to make joins only at points where the sample waveform is at zero level - where nothing is happening - so you get no clicks! It's a good idea in principle but not so easy in practice with continuous waveforms. Figure 3 shows a splice made when both waveforms are crossing the zero axis - no obvious discontinuity here. Unfortunately, the unwelcome noise is rather obvious - no DC thump this time mind you, but still plenty of annoying noise clicks. I have cheated slightly and plotted a spectrum of just the sound near the join to highlight this - notice the broadband noise corrupting the whole of the frequency range. The actual noise, remember, varies with the sample you are looping, but in this case is almost all due to the inadequate splice.
Figure 4 shows a better approach. This time I have chosen a zero crossing but I have also taken pains to make sure that the waveform slopes of the two sides of the splice are similar. In this case the join is just about audible, only because of the slight change in tone across the splice, and is perfectly acceptable to my ears.
At this point you maybe wondering why I used a zero crossing instead of any other selected level since it is, in fact, possible to use any point on the waveform I care to choose. Figure 5 shows a splice made by a computer using only a slope matching algorithm - the level and slope of the two sides of the waveform have been beautifully matched to produce a very elegant splice as you can see. Unfortunately, it just so happens to sound terrible! The reason it sounds so bad has nothing to do with the slope-matching technique, but has to do with the next level of complexity.
Figure 6 illustrates another matter to consider before choosing a loop point for your sample. I have indicated with vertical dotted lines the same point on several successive cycles of the waveform. It is these repetitive sections which give a sound its pitch, with the time between the repetitions being called the 'period'. The period of the sections shown is constant, thus producing a sound with a constant (fixed) pitch.
Figure 7 shows a sample which contains a pitch change. Notice that the closer the periods are together, the higher the resultant pitch. If we now go back and look again at Figure 3, we can see that the section of the waveform with the splice in it is shorter than the section following it - audibly this produces a strange 'blip' in the perceived pitch every time we pass the join.
Returning to Figure 4, we can see why this is a good splice - the edited section has the same period as the sections which follow. The pitch thus stays the same whilst the looping takes place. Looping samples with pitch changes in them can be very difficult because you may not find two points with the same period at all. Try to loop the sound of a man falling off a cliff if you don't believe me! This is not to say that you cannot do it, but you would need sample processing facilities that are beyond the capabilities of most current devices.
And so we come to the summary of our progress so far:
A Simple Looping Algorithm V1.0
1. Sample a sound.
2. Listen to it on replay.
3. You want a sound preferably with constant pitch or vibrato - descending or rising pitches are out.
4. Repeat Step 2 again for reference. Listen for a section of the playback which contains the sound you want, and then home in on it - using the start and end point controls on your sampler.
5. Join the selected start and end points of your sample using a slope-matching technique (use your eyes and/or ears if no computer aid is available), taking care to also match the waveform periods - your computer may not match them!
6. Listen to the edited sound. Don't forget that if you can't remove a glitch or click by looping at the end of the sample, try moving to a new start point and trying again.
7. Repeat from Step 4 until fed up, or return to Step 1.
8. If still unsuccessful, you could always use clicks or noise as part of the sound creatively:
- Orchestra with conductors' baton taps?
- Electric Piano with metronome in background?
- Cellos with something wrong with them?
- Woodpecker playing castanets?
- A sample off a faulty disc which a mate found after Peter Gabriel had been in the studio...
Finally, don't forget that if you cannot use an envelope generator to create the decay on the sustained looped part of your sample, then you will have to make another join when you want to splice the release segment onto the loop...
Have fun whatever you do, but don't say I didn't warn you...warn you...warn you...warn you...
Feature by Martin Russ
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!