HISE Logo Forum
    • Categories
    • Register
    • Login

    Dynamics Comp Makeup values

    Scheduled Pinned Locked Moved C++ Development
    26 Posts 3 Posters 7.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.
    • SteveRiggsS
      SteveRiggs @Dan Korneff
      last edited by SteveRiggs

      @dustbro Ah, I see it. Thanks.

      It looks to be laid out slightly different to the comp one.

      Do these 3 lines need adding into the limiters 'if' section?

      (I'm thinking there might be a duplicate declaration problem if it's done this way?)

      auto attenuation = limiter.getThresh();
      auto ratio = limiter.getRatio();
      auto gainDb = log2((1.0 - ratio) * attenuation * -1.0 + 0.1) + log2(attenuation * -1.0);
      

      www.anarchyaudioworx.com

      www.facebook.com/groups/audioworx/

      1 Reply Last reply Reply Quote 0
      • SteveRiggsS
        SteveRiggs @Dan Korneff
        last edited by SteveRiggs

        @dustbro Hey man. I just got around to trying changing the comp line in the .cpp for the makeup gain but it seems to still make it get really loud when the threshold is pulled down. Is that what it's supposed to do?

        I'm trying to find a way so that the level stays as even as possible when changing the threshold with no huge jumps or drops in volume. Is there a way to do that using the same method?

        www.anarchyaudioworx.com

        www.facebook.com/groups/audioworx/

        Dan KorneffD 1 Reply Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff @SteveRiggs
          last edited by

          @SteveRiggs Technically speaking, keeping the level even would just be another compressor. All of the makeup gain math I've seen is a formula of the threshold and ratio settings. If your input signal is really low, you'll have to crank down the threshold to start compressing, but doing so will increase the makup gain level. You can tinker with the formula to find something that works for your situation.

          And just to be sure, once you changed this line, you recompiled HISE and used the new version, right?
          Changing the code alone in Dynamics.cpp will not work.

          Dan Korneff - Producer / Mixer / Audio Nerd

          SteveRiggsS 1 Reply Last reply Reply Quote 0
          • SteveRiggsS
            SteveRiggs @Dan Korneff
            last edited by

            @dustbro said in Dynamics Comp Makeup values:

            And just to be sure, once you changed this line, you recompiled HISE and used the new version, right?

            Ahhh, that I didn't do 🤣 My bad! I will try it. Thanks.

            @dustbro said in Dynamics Comp Makeup values:

            keeping the level even would just be another compressor

            I was thinking if maybe that was an easier option. Hopefully, it wouldn't add any noticeable latency if running a few dynamics modules. I'll experiment with a few things. Thanks man

            www.anarchyaudioworx.com

            www.facebook.com/groups/audioworx/

            1 Reply Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff
              last edited by

              Did a little more tinkering

              if (compressorMakeup)
              		{
              			if (compressor.getThresh() >= 0.1f)
              			{
              				auto attenuation = compressor.getThresh();
              				auto ratio = compressor.getRatio();
              				auto gainDb = log2f(-attenuation / ratio);
              				compressorMakeupGain = (float)Decibels::decibelsToGain(gainDb);
              			}
              			else
              			{
              				compressorMakeupGain = 1.0f;
              			}
              		}
              		else
              			compressorMakeupGain = 1.0f;
              

              Dan Korneff - Producer / Mixer / Audio Nerd

              SteveRiggsS 1 Reply Last reply Reply Quote 1
              • SteveRiggsS
                SteveRiggs @Dan Korneff
                last edited by

                @dustbro Cool! Hows it sounding?

                www.anarchyaudioworx.com

                www.facebook.com/groups/audioworx/

                Dan KorneffD 1 Reply Last reply Reply Quote 0
                • Dan KorneffD
                  Dan Korneff @SteveRiggs
                  last edited by

                  @SteveRiggs My favorite so far. Nice and even output.

                  Dan Korneff - Producer / Mixer / Audio Nerd

                  SteveRiggsS NatanN 2 Replies Last reply Reply Quote 1
                  • SteveRiggsS
                    SteveRiggs @Dan Korneff
                    last edited by

                    @dustbro Skills mate! I'll recompile and try it this eve.

                    I had a go at doing it for the limiter as well but the code is laid out slightly differently for the limiter section so I'm not sure how it would work for that part. Any ideas?

                    www.anarchyaudioworx.com

                    www.facebook.com/groups/audioworx/

                    Dan KorneffD 1 Reply Last reply Reply Quote 0
                    • NatanN
                      Natan @Dan Korneff
                      last edited by

                      @dustbro Sir, Could You Please Upload The Dynamics.cpp File! So We Can Swap Them!!!🙏

                      Because I'm All New To This And Don't Want To Mess Up The Codes
                      Thanks

                      SteveRiggsS 1 Reply Last reply Reply Quote 0
                      • SteveRiggsS
                        SteveRiggs @Natan
                        last edited by

                        @Natanr

                        Here you go 👍

                        Dynamics.cpp.zip

                        I haven't compiled it and tested it yet so make a copy of the original Dynamics.cpp file and put it to one side before you change it in the source code, just in case.

                        www.anarchyaudioworx.com

                        www.facebook.com/groups/audioworx/

                        NatanN 1 Reply Last reply Reply Quote 1
                        • Dan KorneffD
                          Dan Korneff @SteveRiggs
                          last edited by

                          @SteveRiggs I'm gonna look at the limiter code next

                          Dan Korneff - Producer / Mixer / Audio Nerd

                          SteveRiggsS 1 Reply Last reply Reply Quote 2
                          • SteveRiggsS
                            SteveRiggs @Dan Korneff
                            last edited by

                            @dustbro Awesome :)

                            www.anarchyaudioworx.com

                            www.facebook.com/groups/audioworx/

                            1 Reply Last reply Reply Quote 0
                            • NatanN
                              Natan @SteveRiggs
                              last edited by

                              @SteveRiggs Thanks Steve, I Really Appreciate You Man

                              SteveRiggsS 1 Reply Last reply Reply Quote 1
                              • SteveRiggsS
                                SteveRiggs @Natan
                                last edited by

                                @Natanr No worries mate :clinking_beer_mugs:

                                www.anarchyaudioworx.com

                                www.facebook.com/groups/audioworx/

                                1 Reply Last reply Reply Quote 1
                                • Dan KorneffD
                                  Dan Korneff
                                  last edited by

                                  and my final resting place:

                                  if (compressorMakeup)
                                  		{
                                  			auto attenuation = compressor.getThresh();
                                  			auto ratio = compressor.getRatio();
                                  			auto gainDb = (1.0 - ratio) * (attenuation * -1.0) * 0.7;
                                  
                                  			compressorMakeupGain = (float)Decibels::decibelsToGain(gainDb);
                                  		}
                                  		else
                                  			compressorMakeupGain = 1.0f;
                                  

                                  Dan Korneff - Producer / Mixer / Audio Nerd

                                  SteveRiggsS 1 Reply Last reply Reply Quote 1
                                  • SteveRiggsS
                                    SteveRiggs @Dan Korneff
                                    last edited by

                                    @dustbro Nice! Even smoother now?

                                    www.anarchyaudioworx.com

                                    www.facebook.com/groups/audioworx/

                                    Dan KorneffD 1 Reply Last reply Reply Quote 0
                                    • Dan KorneffD
                                      Dan Korneff @SteveRiggs
                                      last edited by

                                      @SteveRiggs for now..... 😂 😂

                                      Dan Korneff - Producer / Mixer / Audio Nerd

                                      SteveRiggsS 1 Reply Last reply Reply Quote 1
                                      • SteveRiggsS
                                        SteveRiggs @Dan Korneff
                                        last edited by

                                        @dustbro 🤣

                                        www.anarchyaudioworx.com

                                        www.facebook.com/groups/audioworx/

                                        Dan KorneffD 2 Replies Last reply Reply Quote 0
                                        • Dan KorneffD
                                          Dan Korneff @SteveRiggs
                                          last edited by Dan Korneff

                                          @SteveRiggs

                                          * 0.7;  
                                          

                                          changed to

                                          *0.2;
                                          

                                          Dan Korneff - Producer / Mixer / Audio Nerd

                                          1 Reply Last reply Reply Quote 0
                                          • Dan KorneffD
                                            Dan Korneff @SteveRiggs
                                            last edited by

                                            @SteveRiggs the limiter makeup gain is set exactly to the inverse of the threshold control.

                                            (limiter.getThresh() * -1.0);
                                            

                                            You could divide into that equation to dull down the limiter makeup gain.
                                            maybe something like:

                                            ((limiter.getThresh() * -1.0) * 0.2);
                                            

                                            That would give you 20% of the existing value as makeup gain.

                                            Dan Korneff - Producer / Mixer / Audio Nerd

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

                                            17

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.0k

                                            Posts