Forums > MaxMSP

Streaming buffer

May 14, 2008 | 6:46 pm

Hello. Does anybody have a solution?

I’ve created a buffer~ and started to record in it using loop mode.
Is there any way for the buffer~ to follow the recording line ?

For example:

If I have a buffer and start to record in loop, the buffer will only update its first millisecond after recording the entire buffer.
What I would like to do is to make the buffer update itself constantly, like following the recording line so that every millisecond of it is updated while recording. I would like to avoid "freezing" points in the buffer while recording.
Is there any way to do it??

(I am thinking in something like the GRM Freeze plugin…)

Thank you!


May 14, 2008 | 7:53 pm

DanSound schrieb:
> If I have a buffer and start to record in loop, the buffer will only
> update its first millisecond after recording the entire buffer. What
> I would like to do is to make the buffer update itself constantly,
> like following the recording line so that every millisecond of it is
> updated while recording. I would like to avoid "freezing" points in
> the buffer while recording. Is there any way to do it??

just make the buffer~ only 1 millisecond in length… ;-)
but it will click and create a 1 kHz sound… ;-)

What you are after is called granular synthesis, and you want to record
a grain. Have a look at Maxobjects.com for objects which deal with it.
A typical grain size is much bigger than 1 ms. Its between 20 ms and 50
ms, and you have to apply a window (fadein/fadeout) to avoid clicks…

Hope this is helpful…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


May 14, 2008 | 8:32 pm

Would a delay line work?

bt

On May 14, 2008, at 11:46 AM, DanSound wrote:

>
> Hello. Does anybody have a solution?
>
> I’ve created a buffer~ and started to record in it using loop mode.
> Is there any way for the buffer~ to follow the recording line ?
>
> For example:
>
> If I have a buffer and start to record in loop, the buffer will only
> update its first millisecond after recording the entire buffer.
> What I would like to do is to make the buffer update itself
> constantly, like following the recording line so that every
> millisecond of it is updated while recording. I would like to avoid
> "freezing" points in the buffer while recording.
> Is there any way to do it??
>
> (I am thinking in something like the GRM Freeze plugin…)
>
> Thank you!


May 14, 2008 | 8:43 pm

Quote: Stefan Tiedje wrote on Wed, 14 May 2008 13:53
> just make the buffer~ only 1 millisecond in length… ;-)
> but it will click and create a 1 kHz sound… ;-)

LoL! Very smart solution!! :)

> What you are after is called granular synthesis, and you want to record
> a grain. Have a look at Maxobjects.com for objects which deal with it.
> A typical grain size is much bigger than 1 ms. Its between 20 ms and 50
> ms, and you have to apply a window (fadein/fadeout) to avoid clicks…

Granular Synthesis is exactly what I was trying to create and I am using the interesting Granular Toolkit fro Nathan Wolek.
But I am still trying to avoid that objects that read grains from the beginning of a buffer keep reading the same grains until the recording reaches the beginning again.

(I also came up with a solution which is not the ideal one: – instead of making a buffer that updates itself, just make the grain objects follow the recording line!! Still thinking how to implement it.. maybe with count~ …)

> Hope this is helpful…
Sure it is :)


May 15, 2008 | 6:28 am

DanSound schrieb:
> Granular Synthesis is exactly what I was trying to create and I am
> using the interesting Granular Toolkit fro Nathan Wolek. But I am
> still trying to avoid that objects that read grains from the
> beginning of a buffer keep reading the same grains until the
> recording reaches the beginning again.

Your record~ does have a position read out to the right, use that to
determine which part of the buffer~ to read.
Also look at the granular pitch shifter examples in the examples folder.
They work with delays, and switch between two read outs. The same sort
of switching and windowing is possible if you use two buffers~ (of a
grainsize) to record into instead of the loop recording into a single
buffer~…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


Viewing 5 posts - 1 through 5 (of 5 total)