Yes
you're right, using two arrays, writing and reading each
one
alternatively could be a solution i hadn't thought about. But
that would
mean that the samples i read from the (reading-)array would
always be 'one
array' later than real time(a delay corresponding to the
size of the
writing-array). Of course smaller arrays could be used
(which i would
prefer not to as i want to be able to access for example,
fragments within the
last 5 seconds), or as you suggested more smaller
arrays.
I was rather thinking if it could be possible to make
delread~ (or some
other object or simple patch) behave like the
circular queue as described
in Curtis Roads (The computer music
tutorial,p 433), with the posibility of
several taps (reading-pointers)
which reading position i could control with
(one-)sample precision. This
structure would allow to access samples from
real time (in fact one sample
later than real time) to the time
corresponding to the total length of
the queue.
> ----- Original Message -----
> From: "Miller
Puckette" <mpuckett@man104-1.ucsd.edu>
> To: "Gregorio Garc?a" <ggkarman@airtel.net>
> Cc: "pd-list" <pd-list@iem.kug.ac.at>
> Sent: Monday, August 27, 2001 7:54 PM
> Subject: Re:
[pd] delread~
>
>
> > Hi,
> > I don't think you
need do do anything funny with block~. The easiest
way
> > to
proceed might be to maintain a pair of samples and alternately sample
>
> each one while reading from the other. Alternatively, you can
maintain
a
> > larger collection of samples from more or less recent
input.
> >
> > Yes, you do have to specify the size of the
sample in advance, but that
> doesn't
> > mean you have to use
all of it. There are sampler patches in the
> > "dsp examples"
(under "pure documentation") which might help you
forward.
>
>
> > cheers
> > Miller
> >
> > On Sun,
Aug 26, 2001 at 04:55:49PM +0200, Gregorio Garc?a wrote:
> > > Hi
list,
> > >
> > > Im trying to buid a patch that
processes live input. My wish is i
could
> have
> > > some
kind of buffer where i could continuously write the input signal
> >
> (something like a circular qeue?), and arbitrarily read fragments
of
> sound
> > > within that buffer. I thought of delwrite~/
delread~ pairs to
implement
> > > this, but i would like to be
able to specify the position and total
> length
> > > of the
audio fragments i want to read in samples (does this make
> sense?).
Is
> > > the delay amount limited to block size (64 samples? = DSP
cycle?)
> multiples
> > > (64samples, 128 samples, 194
samples, etc...)?
> > >
> > > Could i use
tabsend~/tabreceive~ for this purpose?. What is the usual
> way of
>
> > using tabsend~/tabreceive~ ? (could you point out an example?).
What
> input
> > > paramerters can tabreceive~ handle?
>
> >
> > > Is there a better way for doing this?
>
> >
> > > thnks
> > >
>
>
>
>