HISE Logo Forum
    • Categories
    • Register
    • Login

    Gain Collector

    Scheduled Pinned Locked Moved General Questions
    12 Posts 4 Posters 1.5k 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
      last edited by

      It's a rather unsuccesful attempt of a tool that matches release samples to the sustain volume.

      The idea was that it grabs the volume of the sustain sampler and applies it to the release sampler so that you end up with seamless transitions from sustain to release with decaying samples, but it didn't really work out too good. You might want to experiment with it though.

      Basically you use the FX module to detect the volume and then the modulator on the modulation target you want to modulate.

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

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • orangeO
          orange @Christoph Hart
          last edited by

          @christoph-hart said in Gain Collector:

          It's a rather unsuccesful attempt of a tool that matches release samples to the sustain volume.

          The idea was that it grabs the volume of the sustain sampler and applies it to the release sampler so that you end up with seamless transitions from sustain to release with decaying samples, but it didn't really work out too good. You might want to experiment with it though.

          Basically you use the FX module to detect the volume and then the modulator on the modulation target you want to modulate.

          How can we get that value from Gain Collector to modulate a target?

          develop Branch / XCode 13.1
          macOS Monterey / M1 Max

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

            LOL, you can't :), I removed the other module (it was a modulator that connected to the FX module), but forgot to remove the FX (IIRC the modulator module was making trouble when migrating some stuff and I just wanted to get rid of it). I'll remove the FX module too to clean things up and avoid the confusion in the future...

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

              For handling release triggers I just use a standard envelope and the release trigger script (actually I use my modified version).

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

              orangeO 1 Reply Last reply Reply Quote 1
              • orangeO
                orange @d.healey
                last edited by orange

                @d-healey said in Gain Collector:

                For handling release triggers I just use a standard envelope and the release trigger script (actually I use my modified version).

                I think this Gain Collector unit is for Transient Shaping. The best usage of Transient shapers, is using for drum loops to remove/add attack - release to per beat.
                It would be good to have it, anyway...

                0_1522063259098_Envolution.jpg

                develop Branch / XCode 13.1
                macOS Monterey / M1 Max

                1 Reply Last reply Reply Quote 1
                • resonantR
                  resonant
                  last edited by resonant

                  How can we use this gain collector @Christoph-Hart ? I tried with getValue from gain collector, but it didn't work.
                  Can you give a small example?

                  1 Reply Last reply Reply Quote 0
                  • orangeO
                    orange
                    last edited by

                    Yes it would be great that if you share an example for this @Christoph-Hart

                    develop Branch / XCode 13.1
                    macOS Monterey / M1 Max

                    1 Reply Last reply Reply Quote 0
                    • orangeO
                      orange
                      last edited by orange

                      @Christoph-Hart

                      I'm trying to get the gain value from the Gain Collector.

                      HiseSnippet 1630.3oc6Y0raaaDDlz1Kbrb7Owv.s.8BQPOnzeDrb9osnnHxVx1w01wBlt1omBVQNRZqo1kkboRDJBPeA5yPeU5iP6aPu2K8Pu2NKIkzRKYApzj.azRXCvc14muclYmc3p5ABGHLTDXXtvo87ACyaSr6wksq1lx3F6WyvbNxdUM1tmOMLDbMLMmcO0LlKLmQ7ye93sodTtCLjjgwYBlCbHqCSNjZ8JGv771k5Bmx5nw8CpruifWU3IhPTLKYCCepyEzVvSoJ1lgXXR1wkIEA1RpDBQDssvsmcawK3I7eFKj0vCTCJaXiJJg7tBOWEhUuaTsMyysd+UanApz5CW6ylr1WmbDykMf9PevpwSXMTBc+g4LSBdk0g2F4GdlZvatD3cGhsS.yWNbFE1VjrOWBAMoXHPGVI7ZLyeYRpJPN3xRcnW.6FfCFHQwGswFeh0C2Xi68kKUXoBXfHTZ0kFXsWUquxJNSnTKPtSylfir3c2q5cuLim.tQNRlfi722NnDUEc7EbbPw6NfiTY0kVhRsCuEiCkbB.z+oxMBNtw2oLmhcYoPPFSrJ0yqAlYTrYDOVcEuWgenvBJszE0xdUUlcKoLf0HRBEwwpDUkNV.+q6PCgrUCbXM.uvcEAJl1k5fwuhc6y7.DqL9YTuHPMWgWg+GiHIMHASEuO535iGKA+oBIbbJvJ7pBWdllMG2TJuVfvyCU2XlMwNWsXE4QcZ.AeB5NQb1mOLmIaRI4pSJ02y3jDA0XTv2myjG6CoiGMU0HMrqRZSAExpLNkc4zTVaOlKDXvbU4qCbuFwXVuvgw2reMpj1WUnVQK4CARlZQXVC5hEVR1Mr.oFDdgT3GyaZ1lg474xvuD8HlNn85od4b7kPYOk6n.4Lk0bndFuf4Jaql1GmtMvZ0VpFcKSUwrQ1bhkHDtQdTY15FpzqzIT1UeCpZSHOjI6oWL8ecwjwFgxIbuCoNS5zd73clwfWLN81FuoklWhjTCR+boce1qac3xud0gmOAKqDGUqp1xppaL9SIs6HDx1LdqAdqh+TEzypmtWAKWgUzFRwpxIfGPC0XZqJlylccMa9VWiwsdhHRhH5HJVjTsC3oQcrwScc.zqx4X8PU98LpczIi2PMVABaf6FO3uwmzIKqFalNY49SpG5VOwcsH4bZWH9rjXW05wiaJB5XsGvg.UN3DZv3WyaCF94tAiicjHBNMfxC8EgPYcMeo41TetZfLhmk8DRY3Rs5vCV5nw2spzm3l5DqS4YTFNNilNREk5O72e7NbJFmsAb03dbnCtXiccZUOpG4EBmqpaUVWvgj2Tm7kSrx4Flrkzz3+ZRSVkycclLatGTnYq.enUKFs+V6rTx.p2X6LGdD5JW0QnaGIkXEY0IYKSRPQJoQOEMG5XI7zPr6lrpHY2tQNNEek3hGRvOk1.ELWNUvhDkzwXXJV.ZJX0XEXeAaDHXlSW.pAQf7.n2z6HytP7Av8.tnwPHr33Dd0TgwtUZH1V7xXwWiXCeeDf02FPNeKDMHrDIop0ITdKX5ikKPraG0roGLIGvbIhuVFwqqN8Roh0wUQG1oXOXZSLh1bUs1Y9AjxOpz3elB6cF3IbvlQxs8Z9wauUoRewA0JU59Q0SFma6sF4Pf2R1N+V6Bk0N6qQq8LQ8jw4Li3NjzSXsgzFLlbBwXUx6QNNR5GImrptNzF6TTtdl5ibcE3hm0w2C1g2ESHPJI8wVCZRi7jCnpC3iDbgeaAm4nG8NAvlhZ0Bxbd5XWaWtoMkrWposOrxg3WZRCx1u2ntkW6CLF20CL1P26SRfqkpmHqqUeIxJIvddxVOol8IoIZwua8VLtUMJnKjsCNGZuQnNRPNsW8CADY5L9Db8pG3iU2.BV+bE6nPYlFZ+1eYj7kGTYGGwaujERNSVVROY4Z92ptberlDQtdC1aShSKtI3WWgjlvdivwtLIcuzMAW6DudkY++qWY9A+BDwGou2vxRIDrhobE2TvO9G+1GgEe8nY7emmbGdCJ8VYL2kvaruhybtbmHn.t0Ml6EbMRri8lDfiC72b.7pj5zqCIDuiugvI6RNh8x+i3RdWXiNTm.wycR93QU0paESAW273en0EHGoFaUt+2Hp7McXtrm63nNN3SQuy3kXyoVh6O0R7foVhGN0R7noVhOapk3ymfDpq+bqHonSR9tgw+.rd5TfB
                      

                      What is the wrong thing in this? I think we have a chance to modulate any effect's parameter (such as an EQ's gain, Simple gain...etc for dynamic good fx stuff) with this gain value that obtained from gain collector.

                      const var GC = Synth.getEffect("GC");
                      
                      const var Reduction = Content.getComponent("Reduction");
                      
                      
                      const var t = Engine.createTimerObject();
                      t.setTimerCallback(function()
                      {
                      	var v = GC.getAttribute(GC.Gain);
                      	
                      	v = Engine.getDecibelsForGainFactor(v);
                      	
                      	Reduction.setValue(v);
                      });
                      
                      t.startTimer(30);
                      

                      develop Branch / XCode 13.1
                      macOS Monterey / M1 Max

                      1 Reply Last reply Reply Quote 0
                      • orangeO
                        orange
                        last edited by

                        @Christoph-Hart Any opinion about this? Please make it possible man...

                        develop Branch / XCode 13.1
                        macOS Monterey / M1 Max

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

                          It's a deprecated module, so chances are vanishingly tiny that this will work.

                          The long-term solution for these kind of tasks will be hnode (I have plans for adding a data layer shared between hnode objects so you can create multiple modules and share the data between them). But again, don't hold your breath for it :)

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

                          57

                          Online

                          1.7k

                          Users

                          11.7k

                          Topics

                          101.8k

                          Posts