New feature: Release Start
-
@Christoph-Hart said in New feature: Release Start:
Waveshaper OF DEATH
Ooops :) It's actually the the natural sound, it's a really cool instrument with buzzing membranes in each resonator.
-
-
What would be the best way to temporarily disable the behavior on a per-event basis? When scripting legato, you sometimes want the sustain to go to a release sample, sometimes to a legato sample.
-
@Simon I've discussed the same issue with Christoph and I believe he is working on a solution but for now use a separate sampler for releases - actually there are a few advantages to this so I'll probably keep on doing it this way for most of my libraries.
-
Stopping by to say hi! It's been a while.
@Christoph-Hart I'd like to point out one crucial detail regarding release notes, which I tackled in my software with the hi-hat open/closed release notes.
It is not enough to just have a release note for a sample. For the playback to sound natural, the gain of the release sample must match that of the main portion of the sample at the moment when a note is released.
So, if you release a note when the peak is at -15db, the release note gain should not be the same as when you release the note with a peak at -30db.When I say that "it should match," I do not mean necessarily that the release note must be played at the same gain value as the main sample when released (eg. -15db sample peak with -15db peak of release note). I think that the overall balance (main sample/ vs release) needs to be adjusted by ear, as I have done, but a simple formula can get a good ratio between main sample and release note. Adjustment by ear is to get an overall loudness of all release notes in the sampler.
When done properly, any released note sounds natural.
-
Read the link, Release Start already includes exactly what you're describing!
-
@Simon oh, sweet! Thank you for that. Then, the feature is truly wonderful
-
If I play a note and release quickly I get a kind of pop sound as the release is triggered. I've tried various start options and adjusting the gain envelope but it doesn't seem to change it.
Also, is there a way to toggle the releases feature on/off? I'm thinking some users prefer to disable release triggers.
-
I'm at the release trigger stage of my current project and would like to use this nice shiny feature. In this post I'm just going to summarise some of the things we've discussed so far and suggest a couple of extra.
-
It should be possible to disable/enable release triggers via scripting, preferably per event - per sampler or globally would be ok but less flexible.
-
During legato transitions releases should optionally be disabled - depending on how 1. is implemented we could manage this ourselves via scripting.
-
If it's disabled during legato it doesn't necessarily mean it should be disabled when chords are played, so some kind of optional chord detection is required - again if 1. is flexible enough we can handle all these weird scenarios ourselves.
-
Although we already have various volume matching modes, it would be good to be able to dynamically add a gain offset via scripting which is applied after the matching.
-
Currently if I hold a note so it played through the sample and past the release start, when I release the note it will jump back to the release start point. I don't think this should happen, I think it should just turn the note off and the envelope can take over - unless the sustain pedal is down.
More generally, how should sustain pedal be handled? Currently it doesn't seem to affect the releases. I think in some cases we might want the note to not reach the release as long as the sustain pedal is down (assuming the sample is looped).
@Christoph-Hart If any of this is beyond the intended scope of the feature, let me know and I'll just carry on with my current system.
-
-
@d-healey nope this are all good suggestions - I‘ll add a script API method to disable release triggers per voice using the event ID - this should be enough for most of your feature requests, the other things are minor issues that I can fix easily.
-
@Christoph-Hart said in New feature: Release Start:
per voice using the event ID - this should be enough for most of your feature requests,
Yeah I think that is a great idea :) thanks.
-
@d-healey Alright, this is implemented now.
- sustain pedals are now correctly supported - it 100% mimics the behaviour of the voice stopping logic now
- the sample will never jump back in time to the release offset - if the sample has already played the release trail, it just continues playing at the current position.
- you have a
Sampler.setAllowReleaseStart()
function that accepts an event ID for per event setting (or -1 for globally enabling / disabling the feature).
Let me know if you find other quirks. The goal is to get this usable in real projects, so don't be shy :)
-
@Christoph-Hart Oh fast work, nice! I'll try it out this evening. Thanks.
-
@Christoph-Hart You just couldn't hold off on giving us more goodies, now I have to tweak my project to make use of this right away!
-
@Christoph-Hart Seems to be working nicely. At first I was trying to disable it in the on note on callback and wondering why it wasn't working