Tutorials

Practical Max #2

For this episode of Practical Max, Stretta builds a sweet-sounding and performance friendly Beat Factory that slices up and processes drum rhythms in real time. To do this, he leverages the pattr-family objects to control a complex set of parameters with a simple user interface. Using this sort of macro-control makes doing complex beat juggling much more manageable, and gives greater flexibility to live performances. Watch the videos to get a peek inside his process and download the patches to make your own morphing beats.

Notes:

  • For best performance, you should turn ON the 'Scheduler in Overdrive' and 'in Audio Interrupt' options in the DSP status window. You should also have an I/O Vector Size of 64 or greater.

by Matthew Davidson on September 21, 2011

:('s icon

Kind of takes all the fun out of it.

willum070's icon

Thanks for the excellent tutorial, and for a really cool device as well! I never knew about pattr morphing, that's such a cool feature.

EATYone's icon

Really cool tuto and patch, many thanks!

willum070's icon

I have a question about the sample index functionality. When I adjust it with the stock samples it works great, but when I load up my own samples it doesn't seem to work correctly. I change the params and then I hear silence. What should i be looking at when I'm poking around in there?

Matthew Davidson's icon

@willum0id

Take a look at the example sample material. Ideally, you should have an audio file of 64 measures of a tempo. Each measure should contain a variation of the base pattern. This is easy to do with drum machine software, calling up different patterns and kis on the fly and record the output. Or, an analog sequencer manipulated live is another good example. The index control will move across this audio file.

If you have a short audio file, the index can still be useful, but the indexing itself must be constrained to smaller increments. You'll notice the offset values: meas and 1/16 above the index preset selector. If you're using a short audio file, like, two measures, you'll need to set this to values within two measures (EG 0 measures and 2 1/16ths would index to an eight note offset.

chaircrusher's icon

Loads up in Max For Live but doesn't make any sound.

willum070's icon

Thanks Matthew, I'll cut some custom loops to use with it. Actually the idea of having it jump between extremely short segments seems interesting as well. Thanks again for the great device and tutorial!

jonmoore's icon

Very cool Matthew. I just lost hours digging around the patch design and having oodles of fun dabbling with the crazy beat transforming possibilities with that pattr morphing trick. Really elegant patch design too, I'm very much a beginner with Max but managed get a basic handle on how you were achieving things. Especially dig the way you use a wavetable type technique with the sample material. Theres so much timbral and stylistic variety in each 64 measure file one could happily create endless beat variations with only the 4 'beat-tables' you provide.

I'm going to attempt to convert the patch to M4L as it seems a perfect tool for the Live environment. Probably going to take me a while to work out how best to integrate it but I'm sure it will be worth it in the end.

Ryany's icon

Hey I can't get the samples to play? All you do in the video is load a sample and slide the output bar up. Am I missing a step?

Eric Honour's icon

This is great! I'm teaching a class in Max this semester, with a group who have never used the environment before. I showed these videos in class and the students ate them up. I know several have downloaded the patcher and are playing with it. One thing came up, though: loading various audio files sends a bunch of "flonum doesn't understand "" " messages to the Max window. After a little exploration, I traced this down to the [regexp ([\\d]*)] used to derive the audio file's tempo. Changing the * in the regular expression to a + seems to work better to me, but I could be wrong -- is there a specific reason to look for decimal digits zero or more times, rather than one or more?

C74 Ginger's icon

This is great! I'm teaching a class in Max this semester, with a group who have never used the environment before. I showed these videos in class and the students ate them up. I know several have downloaded the patcher and are playing with it. One thing came up, though: loading various audio files sends a bunch of "flonum doesn't understand "" " messages to the Max window. After a little exploration, I traced this down to the [regexp ([\d]*)] used to derive the audio file's tempo. Changing the * in the regular expression to a + seems to work better to me, but I could be wrong -- is there a specific reason to look for decimal digits zero or more times, rather than one or more?

markgoebel's icon

I just downloaded your beautiful max patch, but cannot get the samples you gave to load. I'm using Max 6 and Mid 2010 MBP.

Gary Lee Nelson's icon

This is magnificent! It answers so many questions for me and, looks like, it is going to save me weeks of time developing the interface for SonoMorphs. I would love to see any other work you have done along this line.

Gary Lee Nelson
TIMARA Department, Oberlin Conservatory (ret)
Digital Media Department, New Mexico School for the Arts