Forum

    • Register
    • Login
    • Search
    • Categories

    Custom Compressor module in Scriptnode

    General Questions
    4
    20
    214
    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.
    • Fortune
      Fortune last edited by

      Is it possible to make a custom compressor module in scriptnode (without using scriptnode's native compressor module)?

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

        Any help would be appreciated. Any ideas?
        @Christoph-Hart @ustk @orange @d-healey @dustbro @iamlamprey

        1 Reply Last reply Reply Quote 0
        • iamlamprey
          iamlamprey last edited by

          Is there any reason for wanting a different compressor? Isn't knee the only parameter that changes within the actual compression algorithm?

          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.

          Music - Instruments

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

            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

            Tired to press F5 in the forum...
            Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

            Fortune 1 Reply Last reply Reply Quote 1
            • Fortune
              Fortune @iamlamprey last edited by

              @iamlamprey said in Custom Compressor module in Scriptnode:

              Is there any reason for wanting a different compressor? Isn't knee the only parameter that changes within the actual compression algorithm?

              Yeah I think knee factor (not ratio) is the cause. When I adjust thje same attack time and compare it with other plugins, the compressor behaviour is not the same. ı can't capture the same tone just like the hardware I like.

              1 Reply Last reply Reply Quote 0
              • Fortune
                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?

                iamlamprey 1 Reply Last reply Reply Quote 0
                • iamlamprey
                  iamlamprey @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.

                  Music - Instruments

                  Fortune 1 Reply Last reply Reply Quote 1
                  • Fortune
                    Fortune @iamlamprey 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?

                    iamlamprey 1 Reply Last reply Reply Quote 0
                    • iamlamprey
                      iamlamprey @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!

                      Music - Instruments

                      Fortune 1 Reply Last reply Reply Quote 1
                      • iamlamprey
                        iamlamprey 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.

                        Music - Instruments

                        1 Reply Last reply Reply Quote 1
                        • Fortune
                          Fortune @iamlamprey 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
                          • ustk
                            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

                            Tired to press F5 in the forum...
                            Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

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

                                Tired to press F5 in the forum...
                                Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

                                  @ustk Understood, thank you! 👍

                                  1 Reply Last reply Reply Quote 0
                                  • Dan Korneff
                                    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

                                    iamlamprey Fortune 2 Replies Last reply Reply Quote 2
                                    • iamlamprey
                                      iamlamprey @Dan Korneff last edited by

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

                                      Music - Instruments

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

                                        @iamlamprey 😈

                                        Dan Korneff - Producer / Mixer / Audio Nerd

                                        1 Reply Last reply Reply Quote 0
                                        • Fortune
                                          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 Korneff 1 Reply Last reply Reply Quote 0
                                          • Dan Korneff
                                            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

                                            12
                                            Online

                                            855
                                            Users

                                            5.7k
                                            Topics

                                            53.0k
                                            Posts