On Wed, 2007-02-14 at 21:26 +0100, Frank Barknecht wrote:
> Hallo,
> David Powers hat gesagt: // David Powers wrote:
>> > On 2/14/07, Frank Barknecht <fbar at footils.org> wrote:
> > >Hallo,
> > >Dafydd Hughes hat gesagt: // Dafydd Hughes wrote:
> > >
> > >> The best solution I can think of is to use 2 tabread4~'s, crossfading
> > >> for every pass of the loop. Anybody have a better idea?
> > >
> > >I'd do the looping a bit differently: Standard would be to use a
> > >[phasor~] scaled so that it plays a certain section of the sample with
> > >[tabread4~].
> >
> > I'm not sure this is good, for most uses. You can't assume that you
> > have good loop points, I like to set random loop points on the fly, in
> > fact - and so I think you really do need two buffers, because you are
> > fading out the start at the same time you are fading in the beginning
> > - otherwise you get clicks. Or am I missing something in your
> > explanation?
>> Actually I was assuming that you have good loop points indeed. From my
> (short) tracker days I remember that tuning the loop points in a
> sample was an important step to get it right. Fading in and out or
> cross has the disadvantage that you may get artifacts from the amplitude
> modulation.
this leads me to question, that is coming up to my mind again and again,
but i still didn't come to a satisfying conclusion. there is another
method of getting clickfree loops, that hasn't been discussed yet:
detect zerocrosses and loop only from zero-cross to a zero-cross. but
how are such things implemented in pd? the only way i can imagine to
detect zero-crosses is to convert each audio-block to list of floats
using [pack~] from zexy. this approach actually means, doing all the
detection stuff in the 'message-domain', which is very cpu-consuming.
how does one overcome this problem? this problem arises always, when an
event (message) should be triggered on certain conditions in an
audio-stream. i know a lot of such cases and it's always difficult, when
not impossible to do it in pd. it can be quite frustrating to know the
solution for certain problem, but at the same time being unable to
implement it. i have the feeling, that these kinds of tasks are often
delegated to externals, which is a pitty, since pd is an
AUDIO-programming language.
did i miss something very fundamental in pd, that would answer all these
questions?
roman
___________________________________________________________
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de