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 @ustk
      last edited by

      @ustk said in Custom Compressor module in Scriptnode:

      Yes it is possible, you'll have to find how such an algorithm is made though…
      The most obvious reason to me is that everyone's plugin doesn't have the same effects. Imagine if everyone use the same reverb, comp or saturation just by creating a UI and connect it to stock modules…
      Of course they can be good to add a bit of this or that in an instrument that does not use effects as center piece. But for FX plugins it is a whole other matter if people commercialise just a gui with nothing but a stock module behind imo

      @iamlamprey said in Custom Compressor module in Scriptnode:

      I suppose you could make one using various math nodes and the envelope follower node, I'd have no idea how to approach it but.

      Is there any starting point for this?

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

        @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.

        FortuneF 1 Reply Last reply Reply Quote 1
        • 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