HISE Logo Forum
    • Categories
    • Register
    • Login

    Custom Compressor module in Scriptnode

    Scheduled Pinned Locked Moved General Questions
    20 Posts 4 Posters 947 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.
    • FortuneF
      Fortune @A Former User
      last edited by

      @iamlamprey said in Custom Compressor module in Scriptnode:

      @Fortune said in Custom Compressor module in Scriptnode:

      Is there any starting point for this?

      I just tried some things and didn't get anywhere, sorry. If you know C++ you can always delve into the code of the actual node and see if you can identify and modify the knee there.

      Do you know the location of the scriptnode compressor C++ file?

      ? 1 Reply Last reply Reply Quote 0
      • ?
        A Former User @Fortune
        last edited by

        @Fortune

        [HISEFOLDER]/hi_modules/nodes

        I think the compressor files are DynamicsNode.cpp and DynamicsNode.h.

        I'm seeing a

        p.range.setSkewForCentre(50.0);
        

        In the attack and release sections which might be what you're looking for, but honestly edit these at your own risk I'm just spitballing here πŸ˜…

        There's also a reference to chunkware_simple::SimpleComp which is found at

        [HISEFOLDER]/hi_modules/effects/fx/chunkware_simple_dynamics which I'd also take a look at :)

        Good luck!

        FortuneF 1 Reply Last reply Reply Quote 1
        • ?
          A Former User
          last edited by

          You could also wait for the SNEX Workbench that was mentioned by Christoph recently, a lot of us DSP guys are hyped for that.

          1 Reply Last reply Reply Quote 1
          • FortuneF
            Fortune @A Former User
            last edited by

            @iamlamprey said in Custom Compressor module in Scriptnode:

            @Fortune

            [HISEFOLDER]/hi_modules/nodes

            I think the compressor files are DynamicsNode.cpp and DynamicsNode.h.

            I'm seeing a

            p.range.setSkewForCentre(50.0);
            

            In the attack and release sections which might be what you're looking for, but honestly edit these at your own risk I'm just spitballing here πŸ˜…

            There's also a reference to chunkware_simple::SimpleComp which is found at

            [HISEFOLDER]/hi_modules/effects/fx/chunkware_simple_dynamics which I'd also take a look at :)

            Good luck!

            I will check Thank you! πŸ™‚

            1 Reply Last reply Reply Quote 0
            • ustkU
              ustk
              last edited by

              A skew factor is used to determine the center value of a knob, it has nothing to do with a knee… The stock comp seems to have a simple hard knee so it's not customizable, somewhat a very simple code. When above the threshold, it just multiply with the ratio. A simple ramp/saw test can show you the hard knee

              Can't help pressing F5 in the forum...

              FortuneF 1 Reply Last reply Reply Quote 1
              • FortuneF
                Fortune @ustk
                last edited by Fortune

                @ustk said in Custom Compressor module in Scriptnode:

                A skew factor is used to determine the center value of a knob, it has nothing to do with a knee… The stock comp seems to have a simple hard knee so it's not customizable, somewhat a very simple code. When above the threshold, it just multiply with the ratio. A simple ramp/saw test can show you the hard knee

                I see that the Compressor module uses Simple Envelope too. Maybe the hard knee factor is directly related to this?

                Also in SimpleComp.cpp file (line 70);

                	// simple compressor with RMS detection
                	//-------------------------------------------------------------
                	SimpleCompRms::SimpleCompRms()
                		: ave_( 5.0 )
                		, aveOfSqrs_( DC_OFFSET )
                	{
                	}
                
                

                Might it be RMS detection smoothness value?

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

                  @Fortune RMS stands for Root Mean Square, it is a way to average the signal because you probably don't want the compressor to act on every samples that pass above the threshold. So you average it's envelope for a smoother response, nothing to do with the knee either. A knee factor is a way to have an variable ratio depending how much the signal exceeds the threshold. The RMS detection or average envelope smoothes out the compressor reaction, or makes it less erratic

                  Can't help pressing F5 in the forum...

                  FortuneF 1 Reply Last reply Reply Quote 1
                  • FortuneF
                    Fortune @ustk
                    last edited by

                    @ustk Understood, thank you! πŸ‘

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

                      @Fortune When I first started, I did exactly what you are doing now. Look thru the code, figure out what everything does, then modify to suit your needs.

                      Dan Korneff - Producer / Mixer / Audio Nerd

                      ? FortuneF 2 Replies Last reply Reply Quote 1
                      • ?
                        A Former User @Dan Korneff
                        last edited by

                        @dustbro I also did this only I also added in bricking my HISE multiple times :)

                        Dan KorneffD 1 Reply Last reply Reply Quote 0
                        • Dan KorneffD
                          Dan Korneff @A Former User
                          last edited by

                          @iamlamprey 😈

                          Dan Korneff - Producer / Mixer / Audio Nerd

                          1 Reply Last reply Reply Quote 0
                          • FortuneF
                            Fortune @Dan Korneff
                            last edited by Fortune

                            @dustbro said in Custom Compressor module in Scriptnode:

                            @Fortune When I first started, I did exactly what you are doing now. Look thru the code, figure out what everything does, then modify to suit your needs.

                            Do you prefer to use scriptnode comp or Hise's Dynamics FX unit (not scriptnode)?

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

                              @Fortune The source code is exactly the same for those 2 modules

                              Dan Korneff - Producer / Mixer / Audio Nerd

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

                              22

                              Online

                              1.7k

                              Users

                              11.8k

                              Topics

                              102.8k

                              Posts