[groove~] loop beyond end point ?
Hi,
I'd like to set a loop that includes a portion of the end of an audio file and a portion of the beginning as well. (Like if the loop was the alphabet, it would go like "xyzabcxyzabcxyzabc")
As it would play files that are on the hard drive, I thought I could load them twice in a row in a buffer~, but is there an easy way to do this ?
Cheers !
play is easy, you can even use sfplay with preload and seek messages
but ... what about clicks and pops when jumping arround ?
Answer depends on waht exactly you want to do,
maybe randomly select audio file and randomly select start & end portion
to loop ?
It could be that you need 2 crossfade players,
or maybe not if you like when sound abruptly changes
It's in the context of a granular player, where each grain has an envelope so it's click free.
I have a "position_deviation" parameter that allows to seek points slightly after the scanning point and I want to be able to reach points beyond the end point.
i think the idea of doubling the file in the buffer is nice. I could do this beforehand but I'm currently in the process of choosing the files, and I'd like to try any file without having to double it beforehand. No way to do this in the buffer ? I guess it's not that hard to populate the buffer with poke~ but probably not very efficient.
(Edit : the main problem is for the grains that cross the loop border)
I don't understand this really.
if you want to play start and end portion of any file,
what are this grains about ?
your description tells that from a single audio file like
start------end you want to create
endstart as a loop.
what is a grain there ?
to do so you need crossfade at 4 points,
but that depends on the source material and what you want it to sound like.
what if file has 200ms fade in and 1000ms fade out anyway ?
or are audio files hard cut at high level and zero cross ?
I just want the ability for a grain to cross the end point of the file.
I need to revise the way I patched it, because in my patch I generate a grain defined by a loop startpoint and and a loop endpoint. This is convenient because it allows the sync output to drive the reading of a buffer containing the envelope shape. But in practice it doesn't allow for crossing the end.
I'll try a different approach.
This is the abstraction I currently load in a poly~

I modified the voice patcher so it doesn't use the startloop message, it works now.