[groove~] loop beyond end point ?

chapelier fou's icon

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 !

Source Audio's icon

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

chapelier fou's icon

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)

Source Audio's icon

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 ?

chapelier fou's icon

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~


chapelier fou's icon

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