Poly~ umenu, buffer and groove

katp's icon

Hi everyone,

I am making a multichannel sound installation using a series of sound recordings that will be played back and then (depending on thresholds) go through a series of effects. Once the effects are put on, they will be saved in the same folder and triggered at random. I tried recording and saving the sound files using [sfrecord~] and inserting the recordings into a [coll] where the next playback would be triggered from. I had a couple of problems with sound files not recording properly and the playback of others from the coll.

I am now using umenu, autopopulate and I am recording into the same folder. It seems to work fine, but as I have up to 50 buffers~ and grooves~. Is there a way of making a poly~ with these three (umenu, buffer and groove) that could potentially play 50 or more files at the same time?


terenceformer's icon

Are the recordings being made live, during the installation? Is there a known limit to the number of recordings? Do they each need their own fx, or can you use a single signal chain for the effected sounds?

My approach would be to use [polybuffer~ bufname]. Each new recording would be appended to the next buffer slot. Your [poly~ patchname 50] patch would contain a [groove~] and receive a 'set bufname.N" message when slot number N is recorded (N may also be the poly~ instance number). You could put the effects chain here if you need individual effects, otherwise just use [out~ 2] for a single external fx chain.

Uuu

katp's icon

There is going to be 2 sets of recordings, one is the original (pre recorded) and the other one is made during the installation when the effects are put on. For some of the recordings I am changing the speed and pitch using the signal rate of groove~ and for others I will use effect chains, I then want to save them in the same location as the originals and recall them at random and to continue processing.

I tried the polybuffer~ but I don't understand how I could playback the recordings using groove~ and how I would be able to save the new recording in it?

Thank you for your help :)

terenceformer's icon

Is it really necessary to record the sounds after they've played? If so, it complicates things because you need to keep track of them all, but it's totally doable. Just use a 2nd [polybuffer~] and send "set bufname.N" to [record~] (after creating a new empty buffer with "appendempty ..."). You would have to add this recording function into the poly~ patcher.

Anyways, here's a starting point for you. First, the patch that you must save as a file ("poly-patch.maxpat"):

Max Patch
Copy patch and select New From Clipboard in Max.

Then the main patch:

Max Patch
Copy patch and select New From Clipboard in Max.


This should get you most of the way there. Cheers.

katp's icon

Thanks you so much, this is really helpful :)