In the second of our series focussing on Cubase’s audio manipulation capabilities, Adam Crute takes a look at time stretching and pitch shifting…
Last time we focussed on how project tempo impacts on the parts and events within a project, and whether they lock to the tempo or are independent of it. As part of this we looked at how to use Cubase’s Sample Editor to create ReCycle-style ‘sliced’ loops.
This approach to manipulating the pitch and timing of audio, whilst still valid and relevant today, is very much rooted in a time when processing power was a fraction of what we’re used to now. So, this time around, we’re going to look at the alternative approach, namely time stretching and pitch shifting.
Time stretching works by either repeating or removing patterns of samples from within a digital audio stream. Pitch shifting uses much the same technique to modify pitch without affecting timing. This processing can create all sorts of undesirable sonic artefacts, but as available processing clout has increased, so too has the complexity and quality of the time-stretching techniques or algorithms available.
With most algorithms, the processor will constantly adapt the patten of samples that it removes or repeats, to suit the characteristics of the material being processed.
The results can be so good that any artefacts are nigh-on imperceptible, even when significant adjustments are applied. While there was a time that such advanced processing was the preserve of dedicated plug-ins and hardware, Cubase now comes with such tools built in.
Real-time time stretching
When you record or import audio into Cubase, it’s automatically analysed for timing and tempo information (this can be disabled in the program preferences, but is enabled by default). If importing ‘Acidized’ loops, Cubase makes use of their embedded timing data.
Cubase uses this info when it tempo matches imported audio to the project tempo, as well as when keeping audio in sync with changes to the project tempo. To enable this, we set the audio in question to Musical mode. I’ll show you how in the step-by-step guides.
When audio is set to Musical mode, real-time time stretching is used to keep the audio in time with the project; the time-stretch algorithm used can be selected in the Pool and Sample Editor windows by clicking on the name of the currently assigned algorithm and choosing an option from the drop-down menu that appears.
Cubase’s time stretch algorithms are organised into three groups: Standard, Elastique and MPEX. Standard algorithms are tuned for different applications – drums, vocals, and so on – and also include a Customisable mode.
These Standard algorithms can be prone to artefacts – fine if you’re trying to create a special effect, but not so useful when realism is required – so this is where the Elastique and MPEX algorithms come in.
There are three Elastique modes, each of which has three variants. The Pro and Pro Formant modes are the most accurate but processor intensive (the former does not preserve formants in the audio whereas the latter does). The Efficient mode is less accurate but also less resource hungry.
The variants determine how the effect is applied: Time favours timing accuracy over pitch accuracy, whereas Pitch does the opposite. The Tape variant locks the pitch and time stretch together, with a result akin to varying the speed of a tape machine.
The third algorithm, MPEX, can’t be used for real-time time stretching and is only available as an offline processor. In general it’s capable of delivering better results than Cubase’s other algorithms, and can work with a wide range of sources, including polyphonic recordings such as guitars, keys and pianos. Whether or not to use MPEX will depend on what works for the material you’re processing, and whether offline processing will fit into your workflow.
There are many benefits to using offline time-stretch processing. It can take a bit longer to set up, but the results tend to be better, and you don’t end up using system resources that could otherwise be used for effects and synths.
Another benefit becomes apparent when using Cubase’s VariAudio, a tool for making detailed and interactive adjustments to monophonic – typically vocal – parts and recordings. Using VariAudio forces the real-time algorithm to Standard-Solo, which is fine for the sorts of adjustments VariAudio is designed for.
However, if the audio in question is already being real-time time stretched to match the project tempo, then a lot of fidelity could be lost in that tempo matching. If, however, the tempo matching is applied as an offline process then the real-time algorithm forced by VariAudio will have no bearing on it.
In our step-by-step then, Let’s compare the different time stretch algorithms, see both real-time and offline processing in action, and then have some fun with VariAudio.
Time Stretching and Pitch Shifting: step-by-step
1. Create a new, empty, project, and set the project tempo. Open the Pool window and import a drum or rhythmic loop whose tempo differs from the project tempo you’ve just set.
2. Double click the audio in the Pool. Cubase calculates the loop’s tempo using its length and the values entered into the Bars, Beats and Signature fields, so adjust these if necessary.
3. Enable Audition Loop at the top of the window and click on the Audition button to its left. While the loop plays, switch the audio to Musical mode by clicking the button with a quarter-note crotchet.
4. The loop now plays at the project tempo. The algorithm being used is shown at the top of the Sample Edit window. Change this while the loop plays to hear the differences in algorithms.
5. Disable Musical mode so that real-time time stretching is disabled for the loop, and stop the audition playback. Open the Sample Editor’s left hand zone and expand the Process section located there.
6. Open the Add Process drop-down and select Time Stretch. The DOP window will open with the Time Stretch control panel showing. Under Resulting Length, enter the project’s tempo into the BPM field.
Like tracks and audio Cubase’s timeline also has two timing modes. In Time Linear mode, the timeline is divided evenly, based on linear time, so the size of musically-timed events will change with tempo. In Bars+Beats Linear mode, it’s linear-timed events whose position and extent will change
7. Click the time stretch processor’s Algorithm drop down – the MPEX algorithm is now available. Select MPEX – Preview Quality, click the Apply button to add the process to the DOP stack.
8. Select a different MPEX mode and hit Apply again. The offline processing will be refreshed using the new setting. Audition to hear the differences and repeat for all MPEX modes.
9. You may have noticed that the MPEX Poly modes don’t work well on a drum loop. This is because they are designed for polyphonic loops. Import such a loop and see how MPEX handles it.
10. Now let’s look at VariAudio. This is designed principally for use on vocals, so import or record a vocal part, and open this part in the Sample Editor. Expand the VariAudio section of the editor’s left-hand zone.
11. Click the VariAudio Reset button and select Reanalyze Audio. A series of bars will be shown overlaying the waveform. These represent the pitch of the audio and look similar to MIDI events in the Key Editor.
12. Enable the VariAudio Pitch & Warp tool, then click on a segment and move it vertically to a new pitch. Audition the audio to hear the result. The segment that you moved now plays with a different pitch.
That ‘Cher’ Sound Using extreme VariAudio adjustments on a vocal can create brilliant effects, but it’s very easy to stray into territory that became clichéd the moment Cher warbled about believing in love after love. So use your ears and judgement to avoid over-cooking the VariAudio.
13. The Pitch & Warp tool can also change the length and timing of sections. Hold the cursor over the left or right edge of the segment and then click-and-drag to change the segment’s length.
14. The squiggly black lines overlaying the segments represents micro-tuning changes to the fundamental pitch of a segment. Select all the segments and increase the Straighten Pitch slider to reduce these changes.
15. Notice that segments don’t always align exactly with a semitone, indicating segments that are not quite in tune. Select all segments and then increase the Quantize Pitch slider to move them to the nearest semitone.
16. The bounds of the segments can also be adjusted. Activate the Segment tool and drag the edges of a segment (or select one and hit [delete]to remove it entirely). VariAudio is only applied where there is a segment.
17. Still using the Segment tool, click within a segment and the segment will be split at the clicked point. You can now change back to the Pitch & Warp tool to make adjustments to the newly-created segments.
18. The settings we’ve used here are extreme, resulting in a very synthetic sound, but you should be able to see how VariAudio can be used in gentler ways to tweak and correct vocals in a much subtler fashion.