Forum

    • Register
    • Login
    • Search
    • Categories

    Gain Value Curve

    General Questions
    5
    13
    79
    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.
    • UrsBollhalder
      UrsBollhalder last edited by

      How can I counteract the standard value curve of the gain knob.
      I am sending values (from a panel) to 2 simple gains - one for the wet and one for the dry signal.

      The idea is that as the panel-value increases, there is a smooth/linear crossfade between the 2 simple gains. But the dB curve is logarithmic I suppose and my values go linear.

      Probably ridiculously easy for you guys but new territory for me... Thx for your help! U

      www.ursbollhalder.com
      www.Instagram.com/urs_bollhalder_composer

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

        @UrsBollhalder

        Math.log10(someValue)

        HISE Development for hire.
        www.channelrobot.com

        UrsBollhalder 1 Reply Last reply Reply Quote 1
        • UrsBollhalder
          UrsBollhalder @Lindon last edited by

          @Lindon said in Gain Value Curve:

          @UrsBollhalder

          Math.log10(someValue)

          Thanks Lindon... I was on the right track... but does the value have to be between 1 and 0?? Mine are ranging in between 100 and 0...

          www.ursbollhalder.com
          www.Instagram.com/urs_bollhalder_composer

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

            @UrsBollhalder so scale them...

            HISE Development for hire.
            www.channelrobot.com

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

              Are you trying to crossfade two samplers/synths?

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

              UrsBollhalder 1 Reply Last reply Reply Quote 1
              • orange
                orange last edited by orange

                If you are trying to make a Dry / Wet knob, this will work.

                In this example, Engine.getDecibelsForGainFactor method is used by a knob with normalized percentage scale mode 😉

                HiseSnippet 1058.3oc6X81ZaaDF+jiutXu4RaYrsWJBLvARCxsccCFi3F+mhYyIh51zNXP3rz43ib5Nizoz5UJzOZ8k8s6Sv5Gg8p81smSmjkblRvyvJKPje0872e2ycO+zikanziFEICQV0d57YTj0mgGMWnl1YJgIPC5hrtIdHIRQCsMh1e9LRTD0GYYswi0BrpUEk77G6sOgSDdzbQHzQRlG8mXALUtT21+Hiy6S7oOkETv5GzdfmTzQxkw.d1.6flQ7NkbB8.h1rJXj0M54yTxvQJhhFA1ruze9noxWJL1eDKhMlS0KZgFAAxHF0YJi66lsWiPHqpt467ML67OGOj4yVHOuBbqDE14dTrFXUYYHUcIH05hfTeI2WGfK.dVEfWUC7tMdjWHalJWiFaeJdf.NblPfxdQXYrEU42pf6HAKDpcCHmR6GBKV3Qy663ri88bb196aTW+CJ+QJ6yHg1cCme7yopiGxdk8OXmEhSnpNxfYRArn4VErYKcDVx6CiUfiI2kzt0axDpmwGPy4LGBxEXtQyVY3iI3LA0dRrvSwjBaon.FzfLTxa5kgvcffyioa2n9qaTuFW5Q31u7HsHHU8Dm.gRmqtTO1XJOpuLTegtOwCNNaZbExaMCF1MhpdjRExFGqnMSkosemzXZvXsEYxeUyTqccruqcd9LknkyWpLS97Wju2jjyU3zQGsz5SGBmOF5qZVVwKqP2ndgZ7ARE8PQysq+550p+l51mW0jIkpKMjbZXop089gWliMEwAiogYmhYFBMDK2wciUqiyyTkJXnTLPvTGNiltNumrUI8jnzxrt6LEgfopjdyal1aNhy7ogHFDjF3BUWTxVHioa6e422C8rAcIJRVvf3B4ZFMTwzaIqtzy.dSSieMbWZzoJ4rDaSOeQVexJl5Wsff8sOq87EKd2SZGH8g.7E3CjgADN6Wo9tzPOH3.kKJJdxDvanX70n.luOm5JiX5SnbB6OrG5exSArkR+XNQsLEp9papBcLJxUo4iDPrmW7cI+K3UcJkWszyvUDt2F6xTdSKGuUJAuv43+03M8sTMvFtwbvVE2+EeDdkTkBXYyEyJvBlwoONCJahMDUWzTBu8O8+x20kxIKU5dNyWMMWvO2tj4HFHNCZNbkbR34K7abYyDzZMmI3xucn2R1WYtMeGbRI+pDfStRb0Av2B6R9+vEhmHiULwICIvbC.2M9f3fQvvzdT.pBAL4AHyph9cYl0N50Z.MhJ7SV7WvSpxV50VoJakoDsRz.l4itHZfO792+UWSCbMMv0z.WcoA9Xji.hWn7XOyv15VyMSj.6aQxWDnFdndscqr4qwXmccziqxN1ySOYzcg5S49bu0vm6uF97f0vmuYM74gqgOe6Z3y2co9n+PIOJVICL2+AAt8R9eNVV8DD3lbRq.5uAXDfO3J
                

                develop Branch / XCode 13.1
                macOS Monterey / M1 Max

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

                  @d-healey said in Gain Value Curve:

                  Are you trying to crossfade two samplers/synths?

                  No... I am routing the signal to a bus (3-4) and depending on the value, the signal should go 100% through the convolution or 0% convo and just dry... So I set up the chain in the fxsection and have 2 simple gains controlling the wet/dry. One is channel 1/2 (dry) and the other 3/4 is for the convolution.

                  simple gain1 --- dry -- channels 1-2
                  simple gain2 --- wet -- channels 3/4

                  So when the value (panel data value, event.dragY) linearly goes from 0 to 100, the volume crossfade between simple gain1 and 2 should do the same...

                  www.ursbollhalder.com
                  www.Instagram.com/urs_bollhalder_composer

                  ustk 1 Reply Last reply Reply Quote 0
                  • ustk
                    ustk @UrsBollhalder last edited by

                    @UrsBollhalder Then you should go the @orange way. Engine.getDecibelsForGainFactor is what you need. But a linear gain factor is a 0-1 value, not 0-100...

                    so one is doing => Engine.getDecibelsForGainFactor(value)
                    and the other => Engine.getDecibelsForGainFactor(1 - value)

                    I cannot help pressing F5 in the forum...
                    Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

                    UrsBollhalder 1 Reply Last reply Reply Quote 2
                    • UrsBollhalder
                      UrsBollhalder @ustk last edited by

                      @ustk said in Gain Value Curve:

                      @UrsBollhalder Then you should go the @orange way. Engine.getDecibelsForGainFactor is what you need. But a linear gain factor is a 0-1 value, not 0-100...

                      so one is doing => Engine.getDecibelsForGainFactor(value)
                      and the other => Engine.getDecibelsForGainFactor(1 - value)

                      Thanks a lot for the help guys. Appreciate it!!

                      It's getting a bit messy here with different kinds of values that should then go into fx modulation and stuff. But I think it's more or less working now! The fades are still a bit uneven... Thanks guys...

                      www.ursbollhalder.com
                      www.Instagram.com/urs_bollhalder_composer

                      ustk 2 Replies Last reply Reply Quote 0
                      • ustk
                        ustk @UrsBollhalder last edited by ustk

                        @UrsBollhalder It is not a panel but it's the same thing since the slider uses a 0-1 linear value:

                        HiseSnippet 1433.3oc6Y8tbSaDD+TbDEaZX.FnkOpIS+fyLPFKWf1Y5zIFriodfP7DEf1OQuHcN4HR2od5TZLL7s97zWg1Gg9Hz9FvaP6dmjsNAhfqKsPRSxDFt8e2t6s6d+tQCEbeRRBWfrpu83XBx5is8Fyj60cOLkgFzCYcd6MvIRhvIizcFGiSRHAHKqZ2UQvp9hH8Oubs6fCwLeRAID5QbpO49zHprf5vN2iFF1GGP1lFYH8M5Lvmy5xC4of+TytEJF6uOdWxCvJwVvFYcl0CnRtvShkjDj0h2gGL1aO9Oxxj+QzD5NgD0BWjGXnLx84gAJOV8+Qc2iFFLbRbmf.iNrHKTKKKbY6MnAzozKxFWPyvoPCy7g0BGk64Nmtmkg6sXl6cQaOeAMVVvQ4amyd.CNnFggi.S2JSVzBOcA6tbPBlb0H79j9BXwTMZdqVstlyMa0ZkuZoFK0.NHRjNGfENdzn3Ph5n104qczEGqtKQt9nQDeYykyX6n4urR2pzr8aQy1KmsqpeorPJi3LJk4KoblCmcOFeGWkmK3gM84QwbFDCWC1ivTxJK034K0ntgWtZBQdaoTP2IURZZxP8uWyYc1tvFn7jdDe5Njvj9bghUerOb30LyrJGxvpseSVs8LZUWmq6TX4W.+M4r.To6jfp4x5fc4UTaWdH2EGFtCzHzrblPYFijzC3Rxlrlqz34Mp23EMbdUViFUIubiERDUxV0fJNJEaxRi1gHlbXLQPnRsbqv4lsVA+rbhgfb1.FUtYLIecQyhhWVTOgaKzzf0jTQLZRUGZUHVAoWuWDkelo5JyEGDUp6IOedOoWHMfHPTvG+Ha8AFRmaJly86qgd3fdXIdhY.KB6RLQHopbkUOxAvTyrV8518HI6K4wZYyKSPVK8V2zCmtgeeXmwSW37zNIxwpL+YzBhhnAAgjg7Dp5j0Xb9u.S8i8nOS64O+x+7c+im8SqEYNwGghvGZdAPR5nQzC0ipGQCiRf1k3AQvDbj0kreXBwIfLBmFJcR1GrCzmuOIXatV9bNO50RUu9zOXFLOHMDKKOXV0rkyPEHlS.US4XP.N1zY+aLstUkSqcqpBYFc2KZOjJ82qZ+cgJ7WnV4ea+M+tukrylPW3rKZ2+am2K5lOW47Ytx4r8fgp5aNzNxmnW67X7Av8FDFQnRptGAljeaVwjDOyXR1zWBa+1BLKIlmTxvdjH51PCZhIQnruuf7CaoNkMo2kiEUx5kq0GBxJ0wCKSE5xkaGwSYxRkG0lKvGk6ZLjuBjHK9d.nz69Vu+4SJpMat6aAKW8I9XFXh0YGPBgKAz93kfo954gSnVtHeCNiGuGmQ8Mq.1h.ya2cWhvz2qLf.fL.fhBJWtyVjPB1rZ9y5benJDKf7DYNyEtydt3nNutpcl65n5LcNYLgu1InI7y4SYN6z2aNEKc96MMeRwaZ1dmqdkq9q8Hg3RIvGSCfaJlR365Twz+APGkPNjGhEuZ5u16pR6Em4ZDUHc7olVMVBR4GmbXcIwwGG9B1CweHTPrEOURY6tAFtRA.za+fzHO.BjOAbUFCdcKPyZAELlr0sTqyv.wBzK9S3mbltp0V4Lcmv7+j8vHsekIXJUvGKvTdE85QbQzGJPJcMs7qvqsIudDYJqr3YjJIkJ75CgmgbmsyDhsMIBkdkLFrtjk1fdn4x0YXnvxi.QSvlI9PvpxckLPZXBQ2A5Z9ltBxsMI+MXQ.bt3+eLp1ybJp12WnZaeJp1SQ09+OTssOEU6onZOEU6ISTsybJAPSc74D7SsADdsczC+cd+O8+jxyShv9B9S7y9TRpYrmUSAhal9adW2dC0ZmoeCIa6Vq1R8ManOw2WcC20cQnp0o8bnymOG5bi4PmaNG5bq4PmuXNz4KORcT3+ucpjGkU+CDFtt9a4YYk8dHcq.5unECbKA
                        

                        I cannot help pressing F5 in the forum...
                        Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

                        UrsBollhalder 1 Reply Last reply Reply Quote 0
                        • ustk
                          ustk @UrsBollhalder last edited by

                          @UrsBollhalder And this example is the same thing except it uses twice the same sine generator, so you can hear the fade is even as it should be...

                          HiseSnippet 1229.3oc6Y01aaSDG+bRLrjRq1PCTeoUEuHUpqJIrMPBgZZyCnns1F0z0AuZbw9Rxsd9Ny4yEhl12M9HvGA9HruAv+y1I1Y0qMXFvZIIJU89+vc+t+O6j9RgMw2WHQFkOcpGAY7IlClxUSZMAS4ndsQFaXdH1WQjVQjNXpG12m3fLLJ9cZBFkKgBe8l8N.yvbaRBID5LA0l7TpKUkPseymPYrtXGxoT2TR+vl8rE7VBlH.vSQyZHOr843wjivZwJXhL9nNNTkPNPgUDejQoCDNSGLQ7y7H4Oi5SGxH5E0QCfMJhbWAyQiX8+iZMgxb5O6d6ifMsehUnXjU39lGRcnyomXMtaHCqDMRaOLJbUvqdNgmQJ3UJBd2ybfsj5oR3nw1Zl83fiZDFbAogUjrnBurfYKAHAWsqK9bRWIrXtFUebsZ6X8nZ019aVux5U.Ggux5BrzZ.00iQzt55VeqUXvwtiIpNiFQrUU2JhsUH+sz5lklMtFMarUzopeS4LJmXMJfaqnBtkf+DtXXcMxkBVUagqmfC2gcfyfEP1d8JuZ8JkSgxc8Ip8UJIcXfhTMMC8e2wpCeLb.ZjzlXSGRX9cERMqtXav4UMZa0.J0t13csqMVxcst0CrR14WCel4K.UZM6RUcqvK6VaqOt3qbKLiMDRDptnkPuMoLRGITji4U2txqpTtxqqX81rFMJSdwaFiHyjsNAUdUJVkG3NjHm4LlIHDotXpvZKWpfcjMIkfBdONUcrGIdcRxhlWzsdF2Zn4W1zjRtiooFd0xPrDRWNWDE6yzYkwhChpByI2HNmb.i5PjHJfwO1LzggBsMI04988POqWarBOaafcDNEOhTQ01Ji1jKfplQo5kMaS7OWI7BkMNLAYXdsG5uL+.+QVyoyWX8xlNjQ3.l5rKgpKWnAJ2IbBXX0h0.0w0wLfngEJ1nKnv8opooaL7WnvXsLKLVOKmwRB26Y1mprmjMdKjAdA2x+z3MtMy5lQECS.aIyteed6ojOnrQDTVyb.T+JrHcHP97v0VOGeAThlvIRsQs9Uz9+2V11+dKc6+isUvwepDy88D9KrwCHtzSgbA+zDelOzTi7Smn8xoo2RfkYx5M60EtjYpy.rJPFFtruqHfqVH7nXt5yuXVSJ4ynoeo+ClI48ep2e+JEEWN3dMiMUdFFi5a2geAgA0aCw3mBEXCqGNi5hA4GJ3BuIBN0NcDvIDXRfwiIxzXOyKDLy.z6Ngx8adBgQvoil+hlOEhBwRvNQxosn9xaKtJ+0llQv0RmYZc6nBewaQU3y4SMbm4OZ27wVieztzSu+tps2byOayesMggWv.9bpCzoXNgenYFU+6AYTRUeACKeayew2Wg1kV5XD8U5lSLstrDXxuIA3vPhaN.9tl8weHDPbhHPQ4iODCsTfg1MOJvc.LBjMAfJmCOHIPynfdLln00zqilAh6Dt3OfWwLqqWaDyr9Ll+qbF4blxFqlob0Lk21morwpYJWMS4++lorwpYJWMS4pYJWMS4GxmgK1VJdgczWmuN8+NgT.aKO72crr4g50Vy+d7MMqsaMjKLezKrs0Eee.3CxVmF4PmuLG57vbnyixgNONG57U4Pmu9J0QOZ59AJgaTNFPnemveOECiNbLjsDltg9SD46AwB
                          

                          I cannot help pressing F5 in the forum...
                          Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

                          1 Reply Last reply Reply Quote 1
                          • UrsBollhalder
                            UrsBollhalder @ustk last edited by UrsBollhalder

                            @ustk said in Gain Value Curve:

                            @UrsBollhalder It is not a panel but it's the same thing since the slider uses a 0-1 linear value:

                            Yeah... That's how I set it up now... right?
                            Still, it sounds a bit jumpy... But the convolution fx is a tough one to control level-wise... So maybe it's also there that I need to solve that problem.

                            inline function onPanel1Control(component, value)
                            {
                            	WetGain0.setAttribute(WetGain0.Gain, Engine.getDecibelsForGainFactor(param3/100));
                                    DryGain0.setAttribute(DryGain0.Gain, Engine.getDecibelsForGainFactor(1-(param3/100)));
                            }
                            
                            Content.getComponent("Panel1").setControlCallback(onPanel1Control);
                            
                            
                            

                            www.ursbollhalder.com
                            www.Instagram.com/urs_bollhalder_composer

                            ustk 1 Reply Last reply Reply Quote 0
                            • ustk
                              ustk @UrsBollhalder last edited by ustk

                              @UrsBollhalder That's exactly it. Effectively you have to manage the gain for each convolution file since the difference in level certainly comes from it...

                              I cannot help pressing F5 in the forum...
                              Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

                              14
                              Online

                              982
                              Users

                              6.6k
                              Topics

                              60.8k
                              Posts