HISE Logo Forum
    • Categories
    • Register
    • Login

    Frequency masking plugin advice/help

    Scheduled Pinned Locked Moved Newbie League
    8 Posts 4 Posters 342 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.
    • J
      JC
      last edited by

      Hey, im pretty new to HISE and a complete beginner to coding or software development but im having fun so far!

      I'd really like to make a very simple frequency masking plugin to show where two instruments frequencies overlap. In my mind, the plugin would be a simple EQ (or even just a spec analyser) placed on one track, with another instance of the plugin placed on another track and somehow you'll be able to see both tracks frequencies overlapping each other in one, or both of the instances.

      Am I right in thinking that sidechaining would play a big role here in achieving this? Also, what would be a good place to start with this? Ive had a look at the two sidechain example snippets, but cant get my head round them. I tried exporting them as a VST3, but once in Ableton, neither exported plugin had an option for sidechain. Any tips or help in the right direction would be greatly appreciated!

      griffinboyG HISEnbergH 2 Replies Last reply Reply Quote 0
      • griffinboyG
        griffinboy @JC
        last edited by

        @JC

        Just to let you know, that's not necessarily very simple, but in theory you should be able to get a basic version working.
        Hise doesn't have a particularly amazing realtime FFT spectrum analyser so if you want it to be nice looking or accurate you'd have to create a custom one.

        That aside, yes, the sidechaining is the main thing here. I've not done that in Hise before. But someone here will know how to do it.

        What you'll need to do is feed the sidechained signal and the live signal into separate analysers.
        I'm not quite sure how that routing works in Hise.

        J ustkU 2 Replies Last reply Reply Quote 1
        • HISEnbergH
          HISEnberg @JC
          last edited by

          @JC You need to make some edits to the HISE source code in order to expose a sidechain buffer for HISE to use. Once you do that it's pretty simple to use the routing matrix in HISE to establish your input and sidechain signals.

          The rest is as @griffinboy mentions. You feed the sidechained signal into one analyzer, the input signal into another analyser, and then you can overlap them on the interface. If you cast the analyser data out into a panel, you can possibly merge the two signals or get creative with how their paths interact, merge and ultimately displayed.

          Link Preview Image
          FFT Analyser Path - Need help drawing the magnitude to height

          @Consint I kind of gave up on it and used HISE's stock FFT instead, I couldn't risk the issue coming up again. So in short I never tested moving it to a back...

          favicon

          Forum (forum.hise.audio)

          All this being said, you can definitely do this in HISE but it might not be the most intuitive. I'd argue this is a project that would be better done in JUCE as there are plenty of tutorials on FFT and sidechaining.

          J 1 Reply Last reply Reply Quote 1
          • J
            JC @HISEnberg
            last edited by

            @HISEnberg Im too much of a beginner i think to be going in and messing with the HISE source code. From what you've said it sounds like maybe it's a bit too much for me to do at my current level unfortunately. I thought it would be simpler as there's already a sidechain template built in, but I guess not. Thanks for your reply!

            1 Reply Last reply Reply Quote 0
            • J
              JC @griffinboy
              last edited by

              @griffinboy I'd be perfectly happy with the HISE spec analyser to be honest, from the answers to my post so far though it seems like it's a bit difficult to do at my current level though. I appreciate your reply!

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

                @griffinboy

                Hise doesn't have a particularly amazing realtime FFT spectrum analyser so if you want it to be nice looking or accurate you'd have to create a custom one.

                In what way? Since you can set almost every aspect of it, what is it lacking?

                Hise made me an F5 dude, browser just suffers...

                griffinboyG 1 Reply Last reply Reply Quote 0
                • griffinboyG
                  griffinboy @ustk
                  last edited by griffinboy

                  @ustk

                  It's pretty raw isn't it?

                  I like my FFT analysers to be multiresolution. Lower detail for the lower frequencies and more resolution for the higher frequencies. I personally find it to be a cleaner and more practically useful representation. And then if you smooth the diagram a little in time, you can reduce noise. Small window, with smoothing afterwards, rather than using a longer window to slow things down, feels less flickery.
                  I also like to tilt the entire graph towards pink noise rather than being truly flat.

                  That being said it's been a while since I looked at the source I could be misremembering, and maybe it's doing some of these things under the hood? I felt like it wasn't.

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

                    @griffinboy Yeah it is.
                    If by multi-resolution you mean multiple FFTs with different window sizes that would consume quite some CPU...
                    A while ago I did something like a downsampling for higher bins in order to remove some details here but keep details in the low end. I don't remember how I did exactly...
                    I've also made a tilt that the users can set to whatever slope they need
                    Smoothing is a parameter already, or maybe it does not perform the same exact thing you're describing.
                    At that time it all happened in the script UI though which is so slow... I would definitely change this nowadays!

                    Hise made me an F5 dude, browser just suffers...

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

                    33

                    Online

                    1.9k

                    Users

                    12.5k

                    Topics

                    109.0k

                    Posts