Sample Player: changing slices question

So here’s what I’m trying to achieve. I have a sample with 3 slices loaded in the sample player. It’s set to loop slice mode.

If I have the index set such that I’m playing the first slice, and I increase the index so that it now points to the second slice, I’d like to have it play to the end of the 1st slice and then start looping the second slice, without retriggering it.

Right now it doesn’t change until I send it a trigger, and I am pretty sure it’s immediate, rather than finishing out the current slice playback.

Possible as of 0.3.16?

OK, I am pretty sure there is not a way. I was trying to get the sample player to have loop points. Got pretty darn close… but there is a small popping noise when switching slices. And also changing pitches messes with the delicate timing of the control structures.

Having an option to finish current slice (with or without trigger required to change slices) before changing slices, might make it doable. Wonder if a version of the sample player with loop points is on the radar at some point. :thinking:


Maybe if you put a negative speed value at the second slice then you just change the speed value to positive ?

Depending on the sound you could invert a rectified copy of the audio signal and use that to trigger the next slice once the sound drops below (raises above) a certain (negative) threshold, perhaps?

Hmm… thanks for the suggestions. I’m afraid neither makes much sense to me. I’m either being dense and don’t get what you’re trying to tell me, which is entirely possible. Or more likely I just did not explain what I’m trying to do very well. :slight_smile:

I’m trying to create a sample player that has loop points, like you’d find, for example in Kontakt.

So the cello sample I have there is maybe 3 seconds long. I can envelope it, hook up the V/O, trigger it. But if hold a key (send a gate) that is longer than 3 seconds, it will never sustain for longer than that. If I pitch it up, it will be even shorter than 3 seconds. So I’m trying to loop a little part in the middle for the sustained portion, and create the chains to automate switching slices in accordance with the gate signal being sent in.

I feel like I’m 80% there, but kind of stuck.

1 Like

Ahhh I totally see what you mean now, no - my answer was not relevant here at all :smiley:

You effectively want to be able to ‘hold’ the centre of the note - yeah?

What about using the Pedal Looper to record, and immediately start looping, the middle section?

Might be a little tricky to set up, if you can’t see how to do it quickly we can talk through it if you like?

1 Like

Hmm… not sure the pedal looper would work for what I’m after here. But I have not spent much time with it. I’ll take a look!

I can run through the idea for you, I haven’t done this I am just thinking about it, obviously this is not ideal, but it might work and is fun to just mess around with the ideas - it might be nonsense :slight_smile:

Incoming gate triggers first sample slice as a one shot

The first sample slice includes the middle portion you want to loop

Using a copy of the incoming gate insert a fixed delay (set to the same length as the attack portion of the sample) and convert to trigger. This delayed incoming gate triggers the record action of the looper.

Using a second copy of the incoming gate with another delay (set to the length of the attack portion plus the length of the section you want to loop) and convert to trigger. This longer delayed incoming gate triggers the play action of the looper - the only audio you should now be hearing is the looper because the first section of the sample has stopped playing

Finally, invert the incoming gate, or detect a downward slope, but either way output a trigger when you release the key. This will trigger stop on the looper and at the same time trigger the second slice of your sample, the decay portion.

At some point in this process you would need to shift the sample slice select parameter up one.

Hope this makes sense :slight_smile:

Interested to hear how you (or anyone else) gets on if you try it

1 Like

It makes sense. What you’re describing is very, very close to the control signal chains I have set up to make what’s happening in the video above work using the regular sample player. And I’m using copies of those trigger chains with Brian’s count unit to control which slice is selected. The problems I’m running into are (at least I think):

The fixed delay may not be precise enough to exactly dial in the length of the first slice. The delay precision (at least what you can read/set on screen is 1 msec). Being off by 1 sample length (~21 usec @48kHz) can cause a click/pop.

If you change the v/o, and therefore the playback speed, the length of that fixed delay needs to change relative to it. I don’t think there’s any combination of units that can be used to take a v/o as the input, and use that to scale the time of a fixed delay.

So that’s why I was thinking if the sample player had a loop playback mode where it always finishes playing the current slice before switching to a new one, it might solve both these problems. You could send it two back to back triggers, say, just 1 msec apart to play the first slice and then switch to the 2nd (single cycle loop) when the 1st finishes playback. Then send another trigger at release to jump to the 3rd slice after running to the end of the second.

I don’t know - it is probably something goofy to try to build in the visual programming paradigm and probably the domain of a purpose built sample player in the DSP layer. Just wanted to see if I could make it work. :slight_smile:

1 Like

Yeah, all valid points, and yes I think you are right a dedicated sampler with this functionality is the only real way forward :slight_smile:

Definitely :smiley:

Indeed :smiley: