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@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