I'd love to see a continuous percentual octave shift knob (between +/- two octaves for example) and grain reverse knob in saltygrain, like soundhacks bubbler has.
cheers
Another feature I would love to see implemented in SaltyGrain is having the audio 'saved' & hold in the buffer so when
a session is re-opened in the host, the audio previously loaded in the buffer and still there & played, like the GRM Tools Freeze.
@Neon Breath: yes, the "save buffer for next sessions" feature sounds interesting indeed.
The thing is: we need to make sure this doesn't cause trouble with preset/plugin state saving in different hosts, as audio buffers are very big compared to just parameter settings. It's on our list to look into for a future release.
soundhacks free "bubbler" plugin has a knob that gives each grain a higher chance to be transposed one or two octaves up the further you turn it up. this is a nice way to change the harmonic content by turning one single knob without producing grains that are off pitch. A bidirectional -2/+2 octaves knob would be even better of course. I did a granular delay in PD with this feature and it's really handy.
it would probably interfere with the two pitching sliders that salty grain already has though. i don't know, but i like the idea and it's a really effective knob for live use.
About the "reversed grain" feature: this might be a tricky one, as reversing a grain is not possible at all times in real-time streaming processing. Let me explain:
Assume the min/max delay is set to 0, and freezing is not on. When a new grain of say 500 ms is started, not all of the audio material for that grain is already available at that moment, as it has yet to come into the plugin input over the coming 500 ms. If not reversed, this is not a problem, because while the grain is playing, audio will come in too, so we can feed the grain with what's coming in.
However, it is not possible to start playing back reversed incoming audio, backwards from 500 ms to 0 ms, since the audio of 500 ms from now is not there yet.
Of course, what we could do is just play back from the oldest 500 ms that was already stored in the buffer before. We would not to test if that still sounds good then.
When freezing is on, there is no real-time streaming aspect any longer, and we can just use anything that is currently stored in the buffer. So, easy there.
It would probably be best to not make this an on/off switch, but a "grain reversal probablity" knob going from 0% to 100% (never reversed to always reversed).
I have also added this one to the feature request list to consider for the next version.
i know it's mathematically very tricky to do the reversal if you use a circular buffer to write in, because write/read points easily cross for reversed grains and cause glitches. my solution in my PD graindelay was to use a delay line instead of a circular buffer. then you can reverse grains without any problems. but that would probably mean rewriting the code from ground up.
and yes, a "grain reverse probability" would be very much preferred to a simple switch.
I think the idea we have on our list is a bit more powerful, and comprises the ocatve shifts case:
What I would like to do is to add a paino keyboard display where you can click on certain keys, and then the grains would be restricted to be transposed only with these amounts. For octave shifts, it would come down to only clicking a single key on the piano keyboard (1 or 2 octaves up or down).
The current split pitch somehow already does this (to some extent): if you set the min pitch slider to 0, the max pitch slider to +1 octave and enable the split pitch setting, grains will either play as normal, or be played pitched up by 1 octave (and nothing in between).
We could even take it further and instead of clicking notes on a keyboard, add a probability level for each of the clicked notes (depending on whether you clicked near the top or the botton of the piano key)...
And if you we use the MIDI input feature of the plugin, I'm pretty sure we could make this playable in real-time: if you hold down a chord on your keyboard, the grains will only be transposed with the amounts of the pressed down keys (relative to some reference note) and the velocity of the each pressed down note determines the relative probability for each transposition. Then, if you send a MIDI track output into the plugin, you'll get programmable control too.
@monas, do you have some audio examples (music or experiments) using SaltyGrain? At the moment, I'm right into the creation of my next ambient album, schedule for this winter and SaltyGrain is going to be use regularly for it, for textures & soundscapes oriented sounds. I can you guys let you know once it's available (will be as a digital download + streaming) :)
-randomisation of the grain size, like the other grain parameters.
This is already there: grain size is what the duration parameter represents.
-integrated filter. To apply directly to the grains filtering for more strangeness & fluid textures (similar to AudioMulch Nebuliser)
Yes, that one is on our list already.
There are several options however on where in the processing chain to do it. I will start a new topic for this.
-pitch slide
Can you explain a bit more how you want the pitch slide to be done?
-even more grains! Why not 100 or even more :)
We could make that number any number you want, but the number you will be able to actually *use*, will depend on your CPU power... Does it really happen a lot that 100 or more grains would be playing at the same time? That would mean that the grain duration would be very high and the IOT very small, so that you get very dense structures. Take into account that this is similar to having more than 100 channels of audio being plaid back simultaneously. It's possible, but not without cost.
I'm sorry , my mistake. In my post I meant a randomization over the number of grains, not the size! My bad.
Pitch slide, similar maybe to the one used in Reaktor's grain cloud module.
-filter: good news!
About the max number of grains, of course I totally understand this has a cost. I was thinking about giving the option to the ones who have a better computer. But if you think 40 is enough, you might be right ;-) ...Your the developer! Anyhow, thanks for listening and I hope you see a new version soon! Keep up the good work.
+1 on reverse grains!
Another feature I would love to see implemented in SaltyGrain is having the audio 'saved' & hold in the buffer so when
a session is re-opened in the host, the audio previously loaded in the buffer and still there & played, like the GRM Tools Freeze.
Hi Monas,
can you explain the "continuous percentual octave shift knob" a bit more? Not sure I understand what you mean here.
@Neon Breath: yes, the "save buffer for next sessions" feature sounds interesting indeed.
The thing is: we need to make sure this doesn't cause trouble with preset/plugin state saving in different hosts, as audio buffers are very big compared to just parameter settings. It's on our list to look into for a future release.
soundhacks free "bubbler" plugin has a knob that gives each grain a higher chance to be transposed one or two octaves up the further you turn it up. this is a nice way to change the harmonic content by turning one single knob without producing grains that are off pitch. A bidirectional -2/+2 octaves knob would be even better of course. I did a granular delay in PD with this feature and it's really handy.
it would probably interfere with the two pitching sliders that salty grain already has though. i don't know, but i like the idea and it's a really effective knob for live use.
About the "reversed grain" feature: this might be a tricky one, as reversing a grain is not possible at all times in real-time streaming processing. Let me explain:
Assume the min/max delay is set to 0, and freezing is not on. When a new grain of say 500 ms is started, not all of the audio material for that grain is already available at that moment, as it has yet to come into the plugin input over the coming 500 ms. If not reversed, this is not a problem, because while the grain is playing, audio will come in too, so we can feed the grain with what's coming in.
However, it is not possible to start playing back reversed incoming audio, backwards from 500 ms to 0 ms, since the audio of 500 ms from now is not there yet.
Of course, what we could do is just play back from the oldest 500 ms that was already stored in the buffer before. We would not to test if that still sounds good then.
When freezing is on, there is no real-time streaming aspect any longer, and we can just use anything that is currently stored in the buffer. So, easy there.
It would probably be best to not make this an on/off switch, but a "grain reversal probablity" knob going from 0% to 100% (never reversed to always reversed).
I have also added this one to the feature request list to consider for the next version.
i know it's mathematically very tricky to do the reversal if you use a circular buffer to write in, because write/read points easily cross for reversed grains and cause glitches. my solution in my PD graindelay was to use a delay line instead of a circular buffer. then you can reverse grains without any problems. but that would probably mean rewriting the code from ground up.
and yes, a "grain reverse probability" would be very much preferred to a simple switch.
i am looking forward to the updates!
OK, I see.
I think the idea we have on our list is a bit more powerful, and comprises the ocatve shifts case:
What I would like to do is to add a paino keyboard display where you can click on certain keys, and then the grains would be restricted to be transposed only with these amounts. For octave shifts, it would come down to only clicking a single key on the piano keyboard (1 or 2 octaves up or down).
The current split pitch somehow already does this (to some extent): if you set the min pitch slider to 0, the max pitch slider to +1 octave and enable the split pitch setting, grains will either play as normal, or be played pitched up by 1 octave (and nothing in between).
We could even take it further and instead of clicking notes on a keyboard, add a probability level for each of the clicked notes (depending on whether you clicked near the top or the botton of the piano key)...
And if you we use the MIDI input feature of the plugin, I'm pretty sure we could make this playable in real-time: if you hold down a chord on your keyboard, the grains will only be transposed with the amounts of the pressed down keys (relative to some reference note) and the velocity of the each pressed down note determines the relative probability for each transposition. Then, if you send a MIDI track output into the plugin, you'll get programmable control too.
Very interesting stuff. Thanks Koen for the replies, and feedback.
mapping note velocities to transposition probabilities sounds like an amazing idea.
i personally still like the octa shift knob though, because it is simple and it works without a midi keyboard.
but whatever you guys come up with i'm sure it'll be great.
@monas, do you have some audio examples (music or experiments) using SaltyGrain? At the moment, I'm right into the creation of my next ambient album, schedule for this winter and SaltyGrain is going to be use regularly for it, for textures & soundscapes oriented sounds. I can you guys let you know once it's available (will be as a digital download + streaming) :)
Few more feature requests, after using and experimenting alot with SaltyGrain...
-randomisation of the grain size, like the other grain parameters.
-integrated filter. To apply directly to the grains filtering for more strangeness & fluid textures (similar to AudioMulch Nebuliser)
-pitch slide
-even more grains! Why not 100 or even more :)
Thanks for reading. Hope the see an updated version soon!
Cheers.
-randomisation of the grain size, like the other grain parameters.
This is already there: grain size is what the duration parameter represents.
-integrated filter. To apply directly to the grains filtering for more strangeness & fluid textures (similar to AudioMulch Nebuliser)
Yes, that one is on our list already.
There are several options however on where in the processing chain to do it. I will start a new topic for this.
-pitch slide
Can you explain a bit more how you want the pitch slide to be done?
-even more grains! Why not 100 or even more :)
We could make that number any number you want, but the number you will be able to actually *use*, will depend on your CPU power... Does it really happen a lot that 100 or more grains would be playing at the same time? That would mean that the grain duration would be very high and the IOT very small, so that you get very dense structures. Take into account that this is similar to having more than 100 channels of audio being plaid back simultaneously. It's possible, but not without cost.
I'm sorry , my mistake. In my post I meant a randomization over the number of grains, not the size! My bad.
Pitch slide, similar maybe to the one used in Reaktor's grain cloud module.
-filter: good news!
About the max number of grains, of course I totally understand this has a cost. I was thinking about giving the option to the ones who have a better computer. But if you think 40 is enough, you might be right ;-) ...Your the developer! Anyhow, thanks for listening and I hope you see a new version soon! Keep up the good work.
Hey guys, we're moving from our forums to using zendesk to improve our support.
I've copied this forum post (split up!) here:
https://samplesumo.zendesk.com/entries/23425521-Feature-request-Percentu...
https://samplesumo.zendesk.com/entries/23422732-Feature-request-Reverse-...
https://samplesumo.zendesk.com/entries/23422742-More-feature-requests-
The easiest is to go there and write a reply, that way you'll be updated automatically if there is more input from us!