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~].
Example: Assuming you want to loopplay samples 1000 to 1050 at a loop-frequency of 100:
[phasor~ 100] | [*~ 50] because: 50 = sample_end - sample_start | [+~ 1000] because: 1000 = sample_start | [tabread4~ yoursample]
Playing the sample in full could be done with [vline~] as in one of the example patches in the docs (or use [play-samp~] from RTC-lib].
Now the tricky part is how to switch from the normal play to the looping phase without clicks. Maybe this can be realized most easily by just crossfading from the [vline~] player to the [phasor~] loop. Again RTC-lib might be useful: It has a little [crossfade~] abstraction that does constant-power crossfades.
Frank Barknecht _ ______footils.org_ __goto10.org__