Cumulus - transient/attack
- KVRian
- Topic Starter
- 878 posts since 2 Oct, 2013
Hi all,
why, when I trigger a sample (a kick) with a fast transient, I lost part of the sound? Seems that the Attack has a smooth shape.
Is it normal? Can I remove this? I love this plugin! Tried to set "Shape" to 0, but nothing change. Can you help me? Or can that section be improved? Can't deal without transient on kicks
why, when I trigger a sample (a kick) with a fast transient, I lost part of the sound? Seems that the Attack has a smooth shape.
Is it normal? Can I remove this? I love this plugin! Tried to set "Shape" to 0, but nothing change. Can you help me? Or can that section be improved? Can't deal without transient on kicks
-
- KVRAF
- 2674 posts since 25 Aug, 2003 from Bournemouth, UK
It's due to the grain engine, which resamples the audio into little nuggets of sound. Because each nugget has its own envelope, transients can be easily become too soft.
Generally, if I want to preserve transients as much as possible, I set the Mode to Sync, Dir to Forward, put Shape and Density to 0, and adjust Size to taste.
Generally, if I want to preserve transients as much as possible, I set the Mode to Sync, Dir to Forward, put Shape and Density to 0, and adjust Size to taste.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
- KVRian
- Topic Starter
- 878 posts since 2 Oct, 2013
But this happens only for the first hit. If I load a kick, and I trigger it, I hear the soft transient. But when it loops, I can hear it perfectly, without any problem.colin@loomer wrote:It's due to the grain engine, which resamples the audio into little nuggets of sound. Because each nugget has its own envelope, transients can be easily become too soft.
So the problem is "only" at the first hit, i.e. when I trigger for the first time a marker.
If it's a grain problem, how is possible that at the second loop it plays correctly? Bug?
I hope you see what I mean. Otherwise I'll post an example, so you see. Let me know, and thanks for the support.
-
- KVRAF
- 2674 posts since 25 Aug, 2003 from Bournemouth, UK
Ah yes, I see what you mean; that'd be because the second loop through, the grain envelope that happens to be playing isn't in the attack stage.
Perhaps I could add an option to preserve transients which will skip the attack shape from the first grains that play?
Perhaps I could add an option to preserve transients which will skip the attack shape from the first grains that play?
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
- KVRian
- Topic Starter
- 878 posts since 2 Oct, 2013
Set the Attack value would be perfect. Because in fact, at the moment, the "Attack" is only a built-in, can't deal with it.colin@loomer wrote:Ah yes, I see what you mean, That'd be because the second loop through, the grain envelope that happens to be playing isn't in the attack stage.
Perhaps I could add an option to preserve transients which will skip the attack shape from the first grains that play?
But yes, also a "Soft Attack Shape On/Off" would be AWESOME (Faster to implement I guess, isn't it?).
Can't wait for this feature
-
- KVRAF
- 2674 posts since 25 Aug, 2003 from Bournemouth, UK
You can set the attack on all grains with shape parameter - smaller values are more rectangular, larger values more like bell curves - but yes, I think your suggestion would be a nice addition for the next update. Leave it with me!
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
- KVRian
- Topic Starter
- 878 posts since 2 Oct, 2013
So there are two kind of Attacks: one for each grain (shape param), and one for the sample in general (which, at the moment, is fixed-soft). And you are about to add a control for the last one.
Right?
Right?
-
- KVRAF
- 2674 posts since 25 Aug, 2003 from Bournemouth, UK
Just the one, which is controlled by the shape parameter, but to which I can add some magic to ensure that when the grain engine starts, we (optionally) eliminate the initial fade-in envelope shape of the first grain.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
- KVRian
- Topic Starter
- 878 posts since 2 Oct, 2013
Uhm, so it is not clear to me why it does not work now. Shape controls the attack of each gain. Example: if the sample got 200 grains, shape controls 200 attack. Right?
Why when loop the first grain has not that attack? (which must be the same at the time I play the first time).
Confused :O
Why when loop the first grain has not that attack? (which must be the same at the time I play the first time).
Confused :O
-
- KVRAF
- 2674 posts since 25 Aug, 2003 from Bournemouth, UK
Sorry, my fault, I don't think I explained it well.
When Cumulus first starts playing a sample, the grain engine will spawn grain #1, which will fade-in according to the shape parameter. In isolation, you will hear this fade. At some point a few milliseconds later, grain #2 will also start playing, again fading in, but the key point is that you won't hear this fade because grain #1 is also playing: they overlap, so the fade-in of these other grains are masked. So, by the time the sample has looped and we again hit the start of the sample, because grain #987 and grain #988 are already playing, you won't hear the fade.
When Cumulus first starts playing a sample, the grain engine will spawn grain #1, which will fade-in according to the shape parameter. In isolation, you will hear this fade. At some point a few milliseconds later, grain #2 will also start playing, again fading in, but the key point is that you won't hear this fade because grain #1 is also playing: they overlap, so the fade-in of these other grains are masked. So, by the time the sample has looped and we again hit the start of the sample, because grain #987 and grain #988 are already playing, you won't hear the fade.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
- KVRian
- Topic Starter
- 878 posts since 2 Oct, 2013
They overlap?
Theoretycally, if I play my sample with Default value and Density 100%, I hear it original (without any modification).
If there isn't modification, this means that grains does not overlap, hence I'll hear a sort of "echo" during the playing.
So, having all grains not overlapping, I should hear 988 soft/attack :O Sorry, that's not clear at all
Theoretycally, if I play my sample with Default value and Density 100%, I hear it original (without any modification).
If there isn't modification, this means that grains does not overlap, hence I'll hear a sort of "echo" during the playing.
So, having all grains not overlapping, I should hear 988 soft/attack :O Sorry, that's not clear at all
-
- KVRAF
- 2674 posts since 25 Aug, 2003 from Bournemouth, UK
The grains always will overlap, it's the nature of granular synthesis.
It's just that the first grain is a special case because when it starts, there are no other grains playing to mask the fade-in. Adding the option to remove the fade-in on grain #1 completely will ensure that transients are kept.
Maybe it'll be easier if you can see this, rather than me explain it. Keep an eye on the grain display on the bottom left of the UI, set the Size and Shape to maximum, and the Density to 0. Now when you play a scene, you should be able to see the grains fade in.
It's just that the first grain is a special case because when it starts, there are no other grains playing to mask the fade-in. Adding the option to remove the fade-in on grain #1 completely will ensure that transients are kept.
Maybe it'll be easier if you can see this, rather than me explain it. Keep an eye on the grain display on the bottom left of the UI, set the Size and Shape to maximum, and the Density to 0. Now when you play a scene, you should be able to see the grains fade in.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
- KVRian
- Topic Starter
- 878 posts since 2 Oct, 2013
Oh I see! My "granulizer habit" is somethings like this:
that's why it wasn't clear.
So Density is the number of grains that are take in consideration (min 2, max 12), and Size is the lenght of each grain.
But for example, if I have a sample 300ms lenght, I set Density 2 and Size 150ms, I have exactly 2 grains that does not overlap. So there I'll hear 2 different attack.
Of course, since it's hard to get this configuration, they almost always overlap, and I can't hear the "fade" effect. Am I correct?
Sorry, I like to learn in deep features of sound and instruments
that's why it wasn't clear.
So Density is the number of grains that are take in consideration (min 2, max 12), and Size is the lenght of each grain.
But for example, if I have a sample 300ms lenght, I set Density 2 and Size 150ms, I have exactly 2 grains that does not overlap. So there I'll hear 2 different attack.
Of course, since it's hard to get this configuration, they almost always overlap, and I can't hear the "fade" effect. Am I correct?
Sorry, I like to learn in deep features of sound and instruments
-
- KVRAF
- 2674 posts since 25 Aug, 2003 from Bournemouth, UK
Yes, you got it! I knew that grain display would come in handy.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
- KVRian
- Topic Starter
- 878 posts since 2 Oct, 2013
Nice! So yes, a simple switch "Disable/enable attack of the first grain" will be enough
Thanks for the explanation, support and work! How will I know when the updated version coming out?
Thanks for the explanation, support and work! How will I know when the updated version coming out?