Time and Pitch Manipulation in Max 7


    The latest preview video includes a brief demonstration of Max 7’s ability to manipulate pitch and time independently. I thought I'd take this opportunity to describe some of the features I've been working on that integrate the Dirac pitch and time engine into the real-time and non-real-time audio capabilities of Max.
    Audio playback of groove~ and sfplay~ is now fully integrated with the new zero-latency time and pitch engine. You can change speed of an audio sample without changing the pitch and vice versa. Additionally we offer formant preservation (and manipulation if needed) to help maintain the original timbre of the audio material.
    Pitch shifting is also provided as a separate object (pitchshift~) that can be used anywhere in the audio signal path.
    sfplay~ and groove~ can be configured to follow the global tempo. You can also lock groove~ to the global song position. This enables beat matching of audio files and tightly synchronized playback of audio loops.
    The new retune~ object provides real-time auto-tuning capabilities. It's optimized for single channel vocal and instrumental material, ranging from subtle pitch corrections up to “locking” the pitch to a given key. Tunings can be freely defined via the use of the Scala standard, which currently offers over 4400 downloadable scales.
    If you want to work on the contents of an audio buffer~ in a destructive, non-real-time fashion, the stretch~ object is for you. It allows for applying stretching and pitch-shifting using high resolution algorithms that require a lot of processing power and are therefore not suitable for real-time use.
    There's even more, including the ability to do complex warping effects as well as pitch and onset detection. I'm looking forward to seeing what Max users do with these new tools. You can always start by trying to make your old patches sound a little more groovy as Sam has done in the video.

    Max 7 Sneak Preview: Episode 4 "In Search of Lost Time"