HISE Logo Forum
    • Categories
    • Register
    • Login

    Custom reactive audio animation

    Scheduled Pinned Locked Moved Scripting
    6 Posts 4 Posters 68 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.
    • B
      bwoogie
      last edited by

      Hi, I'm new and creating my first plugin in hise.

      I'm trying to create an animation that reacts to the playing sample of my plugin. I'm able to draw the animation, but getting the audio has been a chore. Essentially I'm trying to make a custom audio analyzer panel. In my interface script i'm drawing on a panel, but how do i get the audio coming from my sampler?

      Some direction would be appreciated, thanks.

      Oli UllmannO 1 Reply Last reply Reply Quote 0
      • Oli UllmannO
        Oli Ullmann @bwoogie
        last edited by Oli Ullmann

        @bwoogie

        You can put a simple gain in your signal chain and then use .getCurrentLevel for your animation.

        https://docs.hise.audio/scripting/scripting-api/effect/index.html#getcurrentlevel

        Update the animation with the panel's timer. 40ms are 25 fps what should be enough.

        If you want to draw an analyser it is also possible to get this data with scriptnode. I can post some demo code when I'm back on my computer.

        From the simple gain you'll only get volume data. No frequency data. For this you'll need the scriptnode analyser demo code.

        B 1 Reply Last reply Reply Quote 0
        • B
          bwoogie @Oli Ullmann
          last edited by

          @Oli-Ullmann Ok i get it!
          I looked at the Scriptnode Visualisation 101 snippet. It shows how to use global cables. So for my animation, i'd like to split the signal maybe 6 ways, then bandpass each signal into a peak and then it's own global cable.

          I was looking through the filters and didn't see what i needed. I might need to use a highpass and a lowpass for each band?

          The most important thing is, if i bandpass these how can i just "throw the signal away" when i'm done with it? I don't want to affect the signal since this is purely for visuals only.

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

            @bwoogie Use a split node with two chains inside that will be your dry chain and your bands chain. In the band chain, insert another split with as many chains as you want bands inside. End that bands chain with a clear node so it’s not adding to the original dry chain signal of the outer split.
            In all "chain bands" place a filter and a global cable

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

            1 Reply Last reply Reply Quote 1
            • B
              bwoogie
              last edited by

              Well I got it working but my project got overwritten by the snippet.. πŸ‘πŸ‘πŸ‘

              i absolutely hate hise's project management.

              ChazroxC 1 Reply Last reply Reply Quote 0
              • ChazroxC
                Chazrox @bwoogie
                last edited by

                @bwoogie bruhhhh. You definitely did it wrong, but thats not totally your fault because nobody explained to you. I've done this before, thankfully not far into my build so it wasnt so devastating but It did suck.

                @Christoph-Hart I think there should be a warning of some sort of 'where' or 'what' is happening to the snippet if the user tries to import. Options could be 'interface' or 'user-defined script editor' would be a cool choice option window.

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

                46

                Online

                2.1k

                Users

                12.9k

                Topics

                112.2k

                Posts