HISE Logo Forum
    • Categories
    • Register
    • Login

    EQ curve from object.

    Scheduled Pinned Locked Moved Scripting
    23 Posts 6 Posters 1.2k 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.
    • d.healeyD
      d.healey @orange
      last edited by d.healey

      @orange It's not possible to perform the analysis I'm doing using HISE. I'm trying to recreate Kontakt's AET filter.

      @Christoph-Hart Is there a way to add nodes to the eq programmatically?

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

      Christoph HartC 1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart @d.healey
        last edited by

        @d-healey Why don't you use scriptnode for it?

        d.healeyD 1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @Christoph Hart
          last edited by

          @Christoph-Hart Because I'm a noob :) can I load in curves from external analysis into a scriptnode filter?

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

          Christoph HartC 1 Reply Last reply Reply Quote 1
          • Christoph HartC
            Christoph Hart @d.healey
            last edited by

            @d-healey Sure, it's called scriptnode for a reason. You can grab references to every node and set the parameter programatically.

            d.healeyD 1 Reply Last reply Reply Quote 2
            • d.healeyD
              d.healey @Christoph Hart
              last edited by

              @Christoph-Hart I have some learning to do :)

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

              Dan KorneffD 1 Reply Last reply Reply Quote 0
              • Dan KorneffD
                Dan Korneff @d.healey
                last edited by

                @d-healey Can't wait for the Patreon video πŸ™ƒ

                Dan Korneff - Producer / Mixer / Audio Nerd

                Christoph HartC 1 Reply Last reply Reply Quote 3
                • Christoph HartC
                  Christoph Hart @Dan Korneff
                  last edited by

                  @Dan-Korneff Everybody is waiting for this video and I really don't know why it takes so long for this guy to learn scriptnode :)

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

                    I can't see a node that is like the EQ, are you suggesting I add individual filters for every band? Is this more/less efficient than the using the stock EQ?

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

                    Dan KorneffD 1 Reply Last reply Reply Quote 0
                    • Dan KorneffD
                      Dan Korneff @d.healey
                      last edited by

                      @d-healey I believe it's only 1 band per node.

                      Dan Korneff - Producer / Mixer / Audio Nerd

                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @Dan Korneff
                        last edited by d.healey

                        @Dan-Korneff And if I wanted to add 30 or so bands, any idea how the efficiency would compare to the EQ effect? And how would it compare to just adding 30 filter effects?

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

                        Matt_SFM 1 Reply Last reply Reply Quote 0
                        • Matt_SFM
                          Matt_SF @d.healey
                          last edited by

                          @d-healey I can be wrong but : Talking only about using 30 1-band EQ nodes, I would guess that once your ScriptFX is compiled into a HardcodedFX, there won't be much of a difference than using an EQ module with 30 bands.

                          Develop branch
                          Win10 & VS17 / Ventura & Xcode 14. 3

                          Christoph HartC 1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @Matt_SF
                            last edited by

                            Yes itβ€˜s pretty much the same.

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

                              Excellent. Is the clone control node thing working properly?

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

                              Christoph HartC 1 Reply Last reply Reply Quote 0
                              • Christoph HartC
                                Christoph Hart @d.healey
                                last edited by

                                @d-healey A simple test for your use case works, but the entire concept is a little unstable (it's basically the child panels of scriptnode) so I'm not sure I would recommend it at this point.

                                HiseSnippet 1557.3oc6a0saaaCElJNxoNscHEqO.Fn2jh1Y3eRiSvtXNwIt0qKIdUtoc6lLVI5XNKQpJQ6D2gc01E8tALz89zGfVfAzmf8FrAr61EcGJIaIG63lnkM3EHGf.cN7PxOd346ix.zMb35DWWtCRISy91Djx0T05yDsq1FSYn5agT9H0cvtBhSVeWa12F65RLPJJotuzgRl4Qde98OaSrIloSBcgP6yo5jufZQEgdaT4gTSyZXCRSpUjnWoRccNqJ2j2EvSJ07HardG7gjcwxvlSEojdaCpf6nIvBhKDylbi9Zs4Gw7ieepK8YlDoQAjFLP9tQUaSMMZLXs5hPJy2HbkmxekeS0cnFzg9Cy.K40P1vdDMGnL2zfTgyAjTh.o48gzMT0zcn1hvVj34pp0YvFRKLjpiBE+XQJuVsJGBfIxYg6Pp4.FC6vxqlO+cyB+61eZqtLcAkyxxY6xEj8XKe6E+tEyr32uX1S1TqVSrM4z3vMMINSrY4tqyz53xrtVOi3b2r8vlcICCDV9ilSSe1xo59q5HAxY0YTwd1j.6ZbSCYtR9736.nfzF7ziquEVfkaJA9f3rINBpDNJaQ5AU09aQYT2h31Qvsg55w1+fJGtQWSrXzxIIuInAHeLxdnbih4RE8ixqNYM17md9Hej7wGX0dFg6MTaPE5smLdmaB3ExZ+ai2.F60U2tUKhtHDryqV6oSkddg.kIQUWLfpByuDHWKvLasmVXhjzWpFRHrcH1XGRSdCSb+kcwV1ljGA38tYelIWuiF8EjwYQ19PXSYDKq2FyXDS23P1ReAIfgdDuqfxNbGrvgdLRQc2tVZfTtNoZ.5.eJyI4Y914k1x5EMByvy38vmfFKHsUBZrvfFiPQ2kHNh6zwa6H3YXs3m6c8RxGz53BnMLM4GUkaYSCpdg8.OeM3l8sayYTcoK+HFfzMr3cgII.tO.61DSMkk66Sbb8FjETymC9CJ02ka.IG0ZXcHI1uAVzVxYjZQPQIwIm9vhyQvUzZB4PL3XO+LB.GK4xz6PuTQDe7q8jV.iaN+Qst69xV0wln8k6sRfhjioL7TA3yOTcSNibf7XUzH.9ld.FpRxEIhyADmOJDQgZEMwNGRDtABoLht+VfWRqNLvWQ0sWqCHOG0.6.GxCGRI8dU0ZNjm2kvz66MO.c33A5wZlTChSC.etiZJSGLCxwCJU1Fp1M.RrWGUxqVpXtMrd7Qq0rfAYkpq8skr2qXuGr558vFOtr1SbeT+8Vu55MuS45a2espnPDImm4FZA0X6PYA44PI5cvGeBe4qnIH1Rtaz3z5PNxOyG0q+o5.eopL66hFa3QSe9gT9XyOLWiM+.a5Tm+ET8Gfwm6HUPWORETgY4RnzdGxdgV87j897xq+B5lOYsp4xkis2Wa9U0tSiCe98WUZmKGXatdOilkJmT8LV0yB9A4UZfNcsRulO6EMxioBVzflmzJRdG7DGoyTCkNuxDJ70km5g9.h8m1BHS5W8pW89KV8ckHfbHUXD7sjZKpoLijKn03dzyIIS07G1vGmNIBFuQoEoiTVtv3kkqTYrxxW9tJmoxxJ+f0aCnEgmjL5PU4mprQWA2BdoGuWjcZbjJkJ8tSxQe8adysNafAcq+3W8.SJ0uLDD+xaeX2e9O+qQ3lSHIT70iyMKV47wMCzBGi0elW++yzH9lOdq2ErYnYw4h1v6HNBXp7au3GiiF0RmSMxzxudyXRTKU4BZoOsoNi51LL7VzFSSbVRwhvl+nnRNElU0bxDn4THQzIQzIQz4RknSwYcQmhIhNIhNIhNWpDcJMqK5TJQzIQzIQz4RknyJy5hNqjH5jH5jH5boRz4dy5hN2KQzIQzIQz4Rknypy5hNqlH5jH5jH5boRzo7rtnS4DQmDQmDQm+WJ5D2qZkpxUj49KpqYU13jTPmy8iqqpYaREZzCYgZagSvnIlM47NVXuqHa7tP6+Wbgdsv5N7CBt5fd25JOO.0m48q9Hi5NR6rEP8B11j27VjE0fdftt7Fe+IEPnI2mhwnOkhQeVIF84dwnOqFi9TNF8Yso1G4OFl.cP4MwDbzXa+iqTFvXk2ht+1nh0wh
                                
                                d.healeyD 1 Reply Last reply Reply Quote 1
                                • ?
                                  A Former User
                                  last edited by

                                  Could this be a use-case for Faust when it's ready?

                                  Christoph HartC 1 Reply Last reply Reply Quote 1
                                  • d.healeyD
                                    d.healey @Christoph Hart
                                    last edited by

                                    @Christoph-Hart Thank you, I'll play around with it.

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

                                    1 Reply Last reply Reply Quote 0
                                    • Christoph HartC
                                      Christoph Hart @A Former User
                                      last edited by

                                      @iamlamprey said in EQ curve from object.:

                                      Could this be a use-case for Faust when it's ready?

                                      No, not really, Faust is not really suited for spectral processing, it shines in circuit simulation and physical modeling.

                                      Actually I also think that using 30+ bands of peak EQs is not the 100% right way to simulate AET as this amount of filters will smear the phase and is not super efficient (especially if it's per voice). The proper solution would be writing a FFT filter that applies interpolated gain reduction for each FFT bin based on the analysis of the loudest and softest sample:

                                      1. Create a samplemap with two layers (ff and pp)
                                      2. For each note / sample, do an FFT, and compare the gain factor for each bin (should be <1.0 so it only works subtractive)
                                      3. Write that gain factor array into a data file. You can just use audio files to store that, then you can load the data as SFZ into the realtime processor.
                                      4. Ditch the pp layer.
                                      5. Write a FFT processor that applies the gain factor on each bin (the FFT size of the analysis and of the realtime processor must be the same, so you need to find a compromise between latency and frequency resolution).

                                      Everything from 1-4 can be done inside HISE, but for 5. you need to write (or commission) a custom C++ module, but I would say that's rather beginner level spectral processing. Then you need to tweak the parameters to match your use case (FFT window, FFT size, smoothing between bins, etc).

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

                                      26

                                      Online

                                      1.7k

                                      Users

                                      11.8k

                                      Topics

                                      102.3k

                                      Posts