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

                                        53

                                        Online

                                        1.7k

                                        Users

                                        11.7k

                                        Topics

                                        101.8k

                                        Posts