Forum
    • Categories
    • Register
    • Login

    How to control Flex AHDSR Decay time with Velocity?

    Scheduled Pinned Locked Moved General Questions
    24 Posts 6 Posters 134 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.
    • dannytaurusD
      dannytaurus @David Healey
      last edited by dannytaurus

      @David-Healey So in general, you defer the main interface script and not use the noteOn/Off/etc callbacks at all? And put all MIDI stuff in separate, non-deferred MIDI processors?

      Still wrapping may head around the way scripts are compiled at export.

      Meat Beats: https://meatbeats.com
      Klippr Video: https://klippr.video

      David HealeyD 1 Reply Last reply Reply Quote 0
      • David HealeyD
        David Healey @dannytaurus
        last edited by

        @dannytaurus said in How to control Flex AHDSR Decay time with Velocity?:

        not use the noteOn/Off/etc callbacks at all?

        I use them when I have something on the UI that is affected by note events, such as keyswitches to change articulation and updating that visually on the UI.

        Interface script for non-realtime.
        Separate processors for individual realtime tasks.

        If you always defer your Interface script by default, which I think is a good habit, HISE will give you an error if you accidentality try to do any realtime stuff in it.

        1 Reply Last reply Reply Quote 1
        • Oli UllmannO
          Oli Ullmann @dannytaurus
          last edited by

          @dannytaurus
          You could create a velocity modulator in the GlobalModulatorContainer and give the UI button that controls your envelope a matrixTargetId. Then you can do it via the modulation system.

          dannytaurusD 1 Reply Last reply Reply Quote 1
          • dannytaurusD
            dannytaurus @Oli Ullmann
            last edited by

            @Oli-Ullmann Thanks. I looked at the GlobalModulationContainer. I haven't used one yet so might be a time to try it, however I ended up getting what I needed with a simple TableEnvelope. It gives me great control over the curves.

            Meat Beats: https://meatbeats.com
            Klippr Video: https://klippr.video

            Christoph HartC 1 Reply Last reply Reply Quote 1
            • Christoph HartC
              Christoph Hart @dannytaurus
              last edited by

              You could script it, but the lack of modulation slots is a bummer

              Yeah I missed that. I'll check if I can add them in easily. Should I make the sustain modulation dynamic so that you can modulate a voice while it's playing? The AHDSR has only static modulation but I found it a bit limiting for the sustain parameter.

              @Oli Ullmann you mentioned in another thread that there are UI performance issues with the Flex AHDSR envelope. Can you make a minimal snippet? Ideally this should prevent you from using it.

              David HealeyD LindonL Oli UllmannO 3 Replies Last reply Reply Quote 1
              • David HealeyD
                David Healey @Christoph Hart
                last edited by

                @Christoph-Hart said in How to control Flex AHDSR Decay time with Velocity?:

                Should I make the sustain modulation dynamic so that you can modulate a voice while it's playing?

                Yes

                1 Reply Last reply Reply Quote 1
                • LindonL
                  Lindon @Christoph Hart
                  last edited by

                  @Christoph-Hart said in How to control Flex AHDSR Decay time with Velocity?:

                  Should I make the sustain modulation dynamic so that you can modulate a voice while it's playing?

                  No, better to think about doing MSEG envelopes....

                  HISE Development for hire.
                  www.channelrobot.com

                  HISEnbergH David HealeyD 2 Replies Last reply Reply Quote 0
                  • Oli UllmannO
                    Oli Ullmann @Christoph Hart
                    last edited by Oli Ullmann

                    @Christoph-Hart
                    Puh, I have this problem in a fairly extensive project, in which I have now removed all FlexEnvelope floating tiles and replaced them with my own panels. But I'm trying to replicate the problem.

                    1 Reply Last reply Reply Quote 0
                    • HISEnbergH
                      HISEnberg @Lindon
                      last edited by

                      @Lindon said in How to control Flex AHDSR Decay time with Velocity?:

                      No, better to think about doing MSEG envelopes....

                      Actually this project seems to offer a pretty simple to use MSEG envelope. It's MIT licesne. Not really sure about the complexities of integrating it into HISE, especially regarding the modulation structure, but could be a fun experiment to combine with the ExternFloatingTile tutorial.

                      Likewise it just uses JUCE's strokePath to draw the envelope so with a little elbow grease you may be able to convert this all to a panel in HISEscript...

                      ex.gif

                      Sonic Architect && Software Mercenary

                      Christoph HartC 1 Reply Last reply Reply Quote 0
                      • David HealeyD
                        David Healey @Lindon
                        last edited by

                        @Lindon said in How to control Flex AHDSR Decay time with Velocity?:

                        @Christoph-Hart said in How to control Flex AHDSR Decay time with Velocity?:

                        Should I make the sustain modulation dynamic so that you can modulate a voice while it's playing?

                        No, better to think about doing MSEG envelopes....

                        MSEG = Kontakt style flex envelope?

                        LindonL 1 Reply Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart @HISEnberg
                          last edited by

                          @HISEnberg that looks pretty much like the table envelope we already have, no?

                          David HealeyD HISEnbergH 2 Replies Last reply Reply Quote 2
                          • David HealeyD
                            David Healey @Christoph Hart
                            last edited by

                            @Christoph-Hart The main thing about the flex envelope in Kontakt that differentiates it from HISE's table envelope, is you have a sustain segment that can loop. Maybe we need a new table envelope with three tables, the middle one being a looping sustain...

                            1 Reply Last reply Reply Quote 3
                            • HISEnbergH
                              HISEnberg @Christoph Hart
                              last edited by

                              @Christoph-Hart you know what... it basically is except the mouse controls are slightly different (more intuitive I find):

                              Double-click anywhere along the envelope to add a new control point, splitting one segment into two.
                              Double-click an existing control point to delete it, joining two segments into one.
                              Drag control points up, down, left or right.
                              Drag any segment of the graph up or down to change the curvature of that segment.
                              

                              I thought more was taking place in the "segmenting" portion but it functions like the current HISE table for all intents and purposes:
                              https://github.com/getdunne/juce-MultiStepEnvelopeGenerator/blob/master/Source/SegmentGenerator.cpp

                              Sonic Architect && Software Mercenary

                              dannytaurusD David HealeyD 2 Replies Last reply Reply Quote 1
                              • dannytaurusD
                                dannytaurus @HISEnberg
                                last edited by

                                @HISEnberg The only thing missing from that is resetting the curvature. How is that done?

                                Meat Beats: https://meatbeats.com
                                Klippr Video: https://klippr.video

                                HISEnbergH 1 Reply Last reply Reply Quote 0
                                • David HealeyD
                                  David Healey @HISEnberg
                                  last edited by

                                  This post is deleted!
                                  1 Reply Last reply Reply Quote 0
                                  • HISEnbergH
                                    HISEnberg @dannytaurus
                                    last edited by HISEnberg

                                    @David-Healey single click controls either the control point or curvature of the segment.

                                    @dannytaurus no, I don't think it has a curvature reset. If you add a point and delete it, it resets to linear.

                                    The codebase for this looks simple enough to follow though, I think it would be pretty rudimentary to customize it to behave like Kontakt's MSEG envelope and add custom mouse callbacks to it. I could try it myself but I would I wouldn't know how to integrate it with HISE's modulation structure or HISE's Master Clock (DAW-syncing).

                                    Sonic Architect && Software Mercenary

                                    Christoph HartC 1 Reply Last reply Reply Quote 0
                                    • Christoph HartC
                                      Christoph Hart @HISEnberg
                                      last edited by

                                      @HISEnberg I've added a few customization options to the mouse behaviour for HISE tables last month, this should all be doable.

                                      HISEnbergH LindonL 2 Replies Last reply Reply Quote 1
                                      • HISEnbergH
                                        HISEnberg @Christoph Hart
                                        last edited by

                                        @Christoph-Hart said in How to control Flex AHDSR Decay time with Velocity?:

                                        @HISEnberg I've added a few customization options to the mouse behaviour for HISE tables last month, this should all be doable.

                                        Awesome, I was gone last month and a half so still catching up on the updates. I see it takes CSS styling as well now which is a nice addition. 😉

                                        Sonic Architect && Software Mercenary

                                        1 Reply Last reply Reply Quote 0
                                        • LindonL
                                          Lindon @David Healey
                                          last edited by Lindon

                                          @David-Healey said in How to control Flex AHDSR Decay time with Velocity?:

                                          MSEG = Kontakt style flex envelope?

                                          yes, and I like your "table envelope" idea above.

                                          HISE Development for hire.
                                          www.channelrobot.com

                                          1 Reply Last reply Reply Quote 0
                                          • LindonL
                                            Lindon @Christoph Hart
                                            last edited by

                                            @Christoph-Hart said in How to control Flex AHDSR Decay time with Velocity?:

                                            @HISEnberg I've added a few customization options to the mouse behaviour for HISE tables last month, this should all be doable.

                                            Well as long (as Dave say) it loops in the sustain potion and thats where the multiple segments are then we get "kontakt like" MSEGs,,,

                                            HISE Development for hire.
                                            www.channelrobot.com

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

                                            30

                                            Online

                                            2.1k

                                            Users

                                            13.2k

                                            Topics

                                            114.7k

                                            Posts