HISE Logo Forum
    • Categories
    • Register
    • Login

    New feature: Release Start

    Scheduled Pinned Locked Moved Feature Requests
    49 Posts 8 Posters 2.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Christoph HartC
      Christoph Hart @d.healey
      last edited by

      @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.

      d.healeyD 1 Reply Last reply Reply Quote 2
      • d.healeyD
        d.healey @Christoph Hart
        last edited by

        @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.

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        Christoph HartC 1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart @d.healey
          last edited by

          @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 :)

          d.healeyD SimonS 4 Replies Last reply Reply Quote 2
          • d.healeyD
            d.healey @Christoph Hart
            last edited by

            @Christoph-Hart Oh fast work, nice! I'll try it out this evening. Thanks.

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            1 Reply Last reply Reply Quote 0
            • SimonS
              Simon @Christoph Hart
              last edited by

              @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!

              1 Reply Last reply Reply Quote 1
              • d.healeyD
                d.healey @Christoph Hart
                last edited by

                @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 👶

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @Christoph Hart
                  last edited by d.healey

                  @Christoph-Hart What about this scenario.

                  I have a toggle switch to globally enable/disable release triggers.

                  Now let's say the user has enabled this switch, so I'm calling Sampler.setAllowReleaseStart(-1, true) and release triggers are globally enabled.

                  But then they play a legato transition, so for that individual event I want to disable release triggers, I call Sampler.setAllowReleaseStart(eventId, false) - only it doesn't disable it, the global setting overrides it.

                  I think it should be the other way around, that individual events can override the global setting.

                  I also noticed a little glitch in the sample editor when the sample has a loop. The playback does jump to the release portion, I can hear it, but visually it's just hanging around in the loop. In this gif I released the key almost as soon as I pressed it - you can see the cursor jumps to the loop instead of to the release.

                  Peek 2025-01-27 18-21.gif

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  1 Reply Last reply Reply Quote 0
                  • d.healeyD
                    d.healey
                    last edited by

                    Does lazy load not affect release triggers? I'm seeing some RAM is still being used.

                    Libre Wave - Freedom respecting instruments and effects
                    My Patreon - HISE tutorials
                    YouTube Channel - Public HISE tutorials

                    SimonS 1 Reply Last reply Reply Quote 0
                    • SimonS
                      Simon @d.healey
                      last edited by

                      One last thing preventing me from using this is the situation with envelopes. I would need to script additional logic to change the envelope between two different settings, one for when playing back sustains and one for releases. Although I appreciate that that's even possible in HISE (it isn't in Kontakt), keeping envelope adjustment in the UI is much nicer.

                      I think a "ReleaseXfade" parameter in the mapping editor would be ideal. A quick fix might be to re-use the loop xfade time and gamma.

                      I'd also prefer releases to play as oneshots, so the natural release sound isn't affected by an envelope. I usually bake the final short fade out during render, but in HISE I would adjust the fade out with the Sample Editor Envelope.

                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @Simon
                        last edited by

                        @Simon said in New feature: Release Start:

                        one for when playing back sustains and one for releases.

                        Only the release portion of the envelope affects the release triggers.

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        SimonS 1 Reply Last reply Reply Quote 0
                        • SimonS
                          Simon @d.healey
                          last edited by

                          @d-healey Interesting, I thought the attack was affected as well. When I set a long attack on the sustain groups I could have sworn I no longer heard the release sample. I'll check again to see what I did!

                          SimonS 1 Reply Last reply Reply Quote 0
                          • SimonS
                            Simon @Simon
                            last edited by Simon

                            In any case I would still need to script toggling between two release times depending on whether it's going to a legato (~130ms) or a release sample (infinite/as long as possible/just have a long Hold time).

                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @Simon
                              last edited by

                              @Simon said in New feature: Release Start:

                              it's going to a legato (~130ms) or a release sample

                              Wouldn't you just disable the release entirely for legato transitions and use a scripted fade?

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              SimonS gorangroovesG 2 Replies Last reply Reply Quote 0
                              • SimonS
                                Simon @d.healey
                                last edited by

                                I suppose I could, though it looks like addVolumeFade() only does linear. What would be the advantage over setting the envelope times in script? The point is it's nicer to work by adjusting the envelopes from the existing UI.

                                Right now my sustain, legato and release samples all have fade times of 180ms, but that's more out of necessity. If the release xfade is decoupled from the envelope as you say, that's very useful and one less thing to think about.

                                d.healeyD 1 Reply Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey @Simon
                                  last edited by

                                  @Simon said in New feature: Release Start:

                                  What would be the advantage over setting the envelope times in script?

                                  Not sure there is one :)

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  1 Reply Last reply Reply Quote 0
                                  • gorangroovesG
                                    gorangrooves @d.healey
                                    last edited by

                                    @d-healey said in New feature: Release Start:

                                    Wouldn't you just disable the release entirely for legato transitions and use a scripted fade?

                                    You should still have release samples on the legato. That is actually a giveaway that an instrument is virtual and not real. Think about what happens in real world if you were playing a note, say in a concert hall, then played another one legato. As you are transitioning to another note, the initial note would be ringing around at the same time. So, if you want to keep the realism, you must include release notes when playing legato.

                                    Goran Rista
                                    https://gorangrooves.com

                                    Handy Drums and Handy Grooves
                                    https://library.gorangrooves.com

                                    d.healeyD LindonL 2 Replies Last reply Reply Quote 0
                                    • d.healeyD
                                      d.healey @gorangrooves
                                      last edited by

                                      @gorangrooves I'm assuming Simon is using legato interval transition samples.

                                      Libre Wave - Freedom respecting instruments and effects
                                      My Patreon - HISE tutorials
                                      YouTube Channel - Public HISE tutorials

                                      SimonS 1 Reply Last reply Reply Quote 1
                                      • LindonL
                                        Lindon @gorangrooves
                                        last edited by

                                        @gorangrooves said in New feature: Release Start:

                                        @d-healey said in New feature: Release Start:

                                        Wouldn't you just disable the release entirely for legato transitions and use a scripted fade?

                                        You should still have release samples on the legato. That is actually a giveaway that an instrument is virtual and not real. Think about what happens in real world if you were playing a note, say in a concert hall, then played another one legato. As you are transitioning to another note, the initial note would be ringing around at the same time. So, if you want to keep the realism, you must include release notes when playing legato.

                                        But thats not always how instruments work, back to your concert hall and we will play a violin, we play a C and then an E (by moving up the same string).....now the first note(the C) is not being produced by the violin, and all we have is the reverb tail from the hall - which we address with a reverb FX...

                                        HISE Development for hire.
                                        www.channelrobot.com

                                        1 Reply Last reply Reply Quote 0
                                        • SimonS
                                          Simon @d.healey
                                          last edited by

                                          @d-healey We really need some new samplespeak words for "legato" and "release" that don't have such ridiculously large overlap with other adjacent concepts.

                                          I put forth "glithe" and "fradeaway" for your consideration.

                                          As in

                                          "Let's re-record that C# to D# glithe transition"

                                          "When the user lets go of the key, we play a fradeaway sample"

                                          "Denoising fradeaways is a massive pain"

                                          "We spent five days recording 800 bespoke trombones playing three octaves of bespoke glithe samples"

                                          I expect these will be a massive success, ambiguity when discussing samples will be eliminated, think of the time savings!

                                          1 Reply Last reply Reply Quote 1
                                          • First post
                                            Last post

                                          52

                                          Online

                                          1.7k

                                          Users

                                          11.7k

                                          Topics

                                          101.8k

                                          Posts