Poly~ umenu, buffer and groove
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?
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
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 :)
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"):
Then the main patch:
This should get you most of the way there. Cheers.
Thanks you so much, this is really helpful :)