Hi,
not related to the thread on smoother audio in Pd, I am struggling with doing a smooth loop player for data stored in tables.
One building block for this is attached: It is a simple tabread4~ lookup that should loop over a configurable section of a table and play it back with various frequencies. As you'll easily see, I use a
[phasor~] | [*~ loopsize] | [+~ loopstart] | [tabread4~ table]
idiom here. Now I would like to avoid enveloping the rewind sections, so I built an elaborate mechanism to set the loop points as good as possible by hand. Test sections let you load a sample or try to find the smooth loop points inside of a sine-wave table graphically.
Now my problem is, that even when I have found a nice and smooth sounding loop section, as soon as I start to change the frequency played (with the "pd transpose" things), the sound gets very distorted.
I'm puzzled: Shouldn't the tabread4~ interpolate correctly in this case? Any help or explanation is appreciated. (Except anything involving crossfades: I know I could do that and I guess I also know how.)
Shouldn't you be multiplying the output of [pd transpose]-[lop~] with output of [r $0-loopfr]-[vline~] to change the frequency of the phasor, as opposed to multiplying the transpose stuff with the output of the phasor itself? In the latter case aren't you just expanding the output of the phasor to a different point in the file that is no longer necessarily loopable?
Matt