Patch for live piano improvising

MBM's icon

Hello to everybody, I hope I can say what I want in english... ;-)

Well, I´m starting with Max/MSP and now I am working in a patch for live piano improvising. The idea is that I can improvise on piano and manipulate the sound with a Lemur interface.

One of the things I want to do is to record in differents buffers some musical ideas so I can work with them (playing it in loop, transforming the sound, etc.). I had thought that I could use, for example, 4 short buffers (1 second), 4 medium buffers (2-3 seconds) and 4 long buffers (5 seconds).

I could write this buffers one per one, but I imagine that I could make a patch in wich Max could do this automatically. For example: buffer short1, buffer short2... buffer medium1, buffer medium2... and so on. This way, if I want change my idea anytime and use 10 short buffers (ie), I could rewrite it and no make it typing one per one again.

I hope I explained it well :-D

If somebody has any idea, I will be so grateful. Thanks in advance and regards!

Luke Hall's icon

Have a look at [thispatcher] for scripting new objects. Here's a really quick example which you can send a list of how many short, medium and long buffers you want. You can change the arguments in the [zl lookup] objects to set the [buffer~] names and durations.

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

lh

MBM's icon

Ok, thanks. I don´t understand how it works :-D (yet), but I´ll have a look to Max Help for learning all these objects and arguments. Thank you very much and regards.

Gregory Taylor's icon

The help files are all well and good, but you should spend some time with the Max tutorials - otherwise, you'll have a far less good sense of what you're gluing together and why. Also, the help files don't tell you everything about an object - the refpages *do.*

MBM's icon

Yes, I am reading the tutorials also, thanks for your advice :-)

mesa.elech/tele's icon

i'm not sure about Max5 but in Max4,
deleting/creating [buffer~]s cause the audio to stop.
probably the easiest way to control [buffer~]'s length on the fly is to use |size| message.
set up as many [buffer~]s as you please, and send |size| message when you are to record.

MBM's icon

And is there any method for recording one sample in a lot of buffers? I mean: let´s suppose I record from piano something... Could I redirect it to, let´s say, five differentes buffers? It could be interesting, because I could work with it in many differents forms at same time.

Thanks in advance and regards.

cudnylon's icon

you can record to one buffer then process it with a number of playback objects (play~, groove~, wave~, etc). my current patch features one long buffer with five groove objects reading from it at different points in the sample.

MBM's icon

Thank you. I can do that without problems, but if I make a patch in wich I use chucker~ with a groove~ from a buffer~, then it affects to every groove~ in wich I use that buffer~.

So I´m interesting in recording the same signal (from piano, in this case) in differents buffers, so I can use chucker~ object in differents ways with the same recording.

Thanks in advance and regards.

seejayjames's icon

I think you have to record into just one buffer~, but you can then use mxj buf.Op to copy it to other ones.

MBM's icon

But I have only MSP, not Jitter :-(

Thanks and regards.

Emmanuel Jourdan's icon

mxj doesn't require Jitter.

MBM's icon

Then I don´t understand, because if I create a new object called mxj buf.op it says "Jitter is no authorized" and a long list of message problems... What am I doing bad?

Thanks and regards.

Luke Hall's icon

Try with a capital O for Oscar: [mxj buf.Op]

lh

MBM's icon

It works :-D ! I couldn´t imagine that solution. Thank you very much :-)

Regards.

Emmanuel Jourdan's icon

Yeah java classes are case sensitive.

MBM's icon

What am I doing wrong? It says "(mxj) invalid buf":

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

Thanks and regards.

MBM's icon

Ok, solved, I just had to give an argument to buffer:

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

MBM's icon

Anybody knows why chucker affects to both patches? I don´t understand:

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

Thanks and regards.

MBM's icon

Maybe this patch is more clear:

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

You must startloop of both groove~. If you then activate only one chucker~ (only one of the two bigs [bang] :-)), it affects both grooves~. I want activate them independently, but I don´t know how. Any help will be appreciated.

Apologies for my pretty bad english. Thanks in advance and regards.

MBM's icon

Nobody knows? :-(

Thanks and regards.