Rotterdam, Netherlands
Stutter effect: max/msp WIP
StoreTags: help, stutter, max/msp, wip
Author: cbit on April 06 2008
Viewed 2426 times. 14 people liked this blog. You can rate it below if you haven't already.
People who enjoyed reading this: lematt, ejectorset, room, Roshi, yghartsyrt, hecanjog, Logo, skab, minim, flies, dustmite, kwyj, mlbot, p
--> Hi guys, here's a stutter effect i'm working on in max/msp.



At the moment it's not stuttering as 'smoothly' as i'd like. Sometimes you hear clicks, and some 'grains' are not muted when they should be. I'm looking for help to identify why that is, and to figure out how to remedy it.

If anyone is interested in taking a look at the patch you can get it here: link

cheers!

oh *Some info about the effect.*

Anytime it 'hears' any audio, it samples a small piece of the onset of the sound into a buffer, and repeatedly plays that buffer for as long as sound is entering the device.

When it plays the buffer back, it mutes itself after playing the fist X miliseconds of the buffer.

The rate at which the playback of the buffer repeats changes ovver time. (giving that 'bouncing ball delay'-ish result)

The controls are:

* Repeat rate start (how fast the repeating happens at the beginning of a 'run')
* Repeat rate end (the final repeat rate that it will end up at)
* Duration (how long the transition between start and end rates is)
* Curve (control over the 'shape' of the transition, 50%=linear)
* Grain len (length of grains. ie, how soon the grains get muted)
Read cbit's other blogs.cbit's Recent Blogs
Comments

1 | 2
hey I just realized the adsr can be controlled by signals. so I think there should be a way to sync this to the groove~. I haven't ever really messed with this object but there must be a way to drive it via shaping the sample sync. I'm gonna hook one up to a groove, see what I can get.

Awesome, cbit! I haven't looked at the patch yet, but I'll also vouch for the windowing system rather than using adsr~. I usually drive playback with phasor~ and rate~ and then use a wave~ object with a sinewave buffer to shape the grain. I was going to suggest taking a look at Granular 2.5 by Nobuyasu Sakonda, but it looks like his website is down. Hit me up an email or IM if you want and I can send it - it's a really elegant system for handling grains, I learned a lot from taking it apart.

Also major kudos on diving in to max so quickly dude! I'm pumped to see what you do next. :-)

here is my reaktor patch
link

I think it will be really hard to get a adsr to work effectively with a grain sampler.. I tried to do something like when I first started designing my live patch and it never worked very well. You need the adsr to cross prefectly in line so the they create an even cross fade.. and even when you do the human hearing is not linear so it never sounds right.. since human hearing is a log based function it is far better to use a sin/cos crossfading function.

any plans to make this into a pluggo?

i was about to ask this aswell.
i find time, i could help you out with that.

p said: "hey I just realized the adsr can be controlled by signals."


Aha, i'll check this too. let me know if you can get this going.

hcj said: "I usually drive playback with phasor~ and rate~ and then use a wave~ object with a sinewave buffer to shape the grain."

That's interesting. If you do it this way do you get a click if you retrigger the grain while its still sounding? (that was the main reason i stuck to adsr, so far, its alleged 'declicking' capability!)

@em978 thanks very much, i'll take a look through your ens.

What i'm doing here that might be different from the way other granular effects work, is that this device is 'monophonic'. Ie. oly one 'grain' ever sounds at once. Just one groove~ object.

mapmap said: "any plans to make this into a pluggo?"

Absolutely. In the vid i'm using a pluggo export of the effect in Live. When its done i'll put it online somewhere as a plugin (i don't know if i can export for windows though, since i'm on a mac).

Hey cbit, thanks for sharing - that's a great patch, and very inspirational for me at the moment since I've just started getting into max/msp myself.

I can follow all the stuff about using a a sin/cos window to shape the amplitude of each grain, but I can't quite picture what em978 means by a double window approach - anyone care to help me out?

Cheers,

kwyj.

With the double window-appraoch, one would fade between the two windows, which both represent one grain. so one can adjust the seperation and the overlapping of the grains.
Thanks for the info yghartsyrt. My newbie brain is still having problems visualising the use of the second window on a particular grain. Maybe I'll have to go and look in em968's reaktor patch.

ygh said: "With the double window-appraoch, one would fade between the two windows, which both represent one grain. so one can adjust the seperation and the overlapping of the grains."

Are you talking about two 'players' that play the same buffer simultaneously (2 voice polyphony?). Or one player, with two windows effecting its amplitude? I'm just trying to get this straight in my head also.

I sent you a pm with a windowing example. sorry about the wait.

they must have created the sync out for the purpose of windowing grooves~ via wave.

sorry to keep posting. I wanted to say I don't understand the adsr~ example yet, but you'll know when I've figured it out. I just happened to be working on granular stuff this week so I've been thinking about windowing.

cbit. i talk about reading the buffer with two voices. as far as i remember the whole poly~stuff correctly you don't need two players.

yghartsyrt said: "cbit. i talk about reading the buffer with two voices. as far as i remember the whole poly~stuff correctly you don't need two players."

yes understood. What i'm wanting is just one 'voice'.

1 | 2

Register / login
You must be a member to reply or post. signup or login