Manual Grain - Slice Parameter

Hey @odevices! Is there a particular reason why there is no Slice parameter in Manual Grains unit? It always takes me by surprise

Design-wise there is no particular reason other than the typical trade-off between priorities and development time.

The technical reason is that Manual Grains unit has no concept of sequential playback. It’s random-access. That is what the adjective “Manual” is trying to communicate. This meant that there is almost no code shared between tape-like units (such as Grain Stretch and Variable Speed Player) and random-access units like Manual Grains and Manual Loops. All the current slice-related code is written assuming sequential playback with a given speed. This is why it was trivial to add slice capabilities to unit’s like Grain Stretch but not to Manual Grains.

Edit: Now that I think about it, perhaps you aren’t actually interested in the reason but were actually making a feature request? :grin:

4 Likes

Thank you Brian, I’m always interested to know about design decisions and technical challenges, they actually do fascinates me. Only after making complex Reaktor instruments I started to truly appreciating how difficult it can be to design and execute a design idea!
That being said I guess we could call it a feature request if there are no technical blocker :upside_down_face:

1 Like

A slice parameter would be amazing for the already wonderful Manual Grain unit. I have wished for this so many times using Manual Grain :slightly_smiling_face:

Still wishing for a slice feature in Manual Grains :pray:

Im wishing that the manual grains unit had one shot mode for playback. It currently loops the sample which can be amazing in many situations but one shot mode would open this up for more uses!

1 Like

what do you mean? the manual grain is operated by incoming trigs, it is one shot! or am i missing something?

oops, i had a draft answer on this post for two weeks
i was confused too, since the manual grains unit plays a grain of duration dur starting from start, on each incoming trigger.
Maybe the remark was about the fact that if the start point+duration go beyond the end of the buffer the playhead wraps around the buffer and then plays a portion the beginning ?

Thanks for your response, I hadn’t thought of a “wrap” possibility.
To me it was looping for the duration set which was dependant on sample pitch/ playback speed and sample length.
This current setting is definitely useful in the classic granular realm but having the ability to have “true” one shot capability ( stopping the playback of the sample one the end is reached regardless of the duration setting) would allow for other types of granular sounds and by default this would open up the Manual Grains unit to be a polyphonic sample player :star_struck:

I’ve discussed if further in these posts:

Im hoping either @odevices sees the benefit of adding this parameter option or some skilled coders like @tomf @Joe see it as an easy enough job and can add them in.
Not sure how easy it is but I think this would almost satisfy the Polyphonic sample player brief in the hub which I may be the sole backer :rofl:

1 Like

After perusing the code a bit I can confirm it’s definitely not easy :slight_smile:

This is an area I’m interested in exploring in the future though, to learn more about granular DSP

2 Likes

Appreciate you looking into the code!
Shame its not an easy tweak.
Hopefully it’s something that can eventually be added by someone.

Looking forward to what you come up with in granular DSP :slightly_smiling_face:

1 Like

aaaah ok now i get it, sorry! yah i definitely see it might be useful in certain situations!

1 Like