HISE Logo Forum
    • Categories
    • Register
    • Login

    Mono delay

    Scheduled Pinned Locked Moved General Questions
    9 Posts 6 Posters 100 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.
    • pcs800P
      pcs800
      last edited by

      The Hise delay is a stereo delay. How can I create a mono delay plugin?
      Secondly, the tempo sync button doesn't work right. If you test a simple plugin in a daw, engaging temposync does not work. It causes two different delay times on L/R

      HISEnbergH DanHD LindonL 3 Replies Last reply Reply Quote 0
      • HISEnbergH
        HISEnberg @pcs800
        last edited by

        @pcs800 most modules will take and process as many channels as you send them. You can check out the routing matrix and channel routing to control this.

        The tempo sync works well enough in scriptnode have you tried this? You can solve both your issues with a simple network.

        1 Reply Last reply Reply Quote 0
        • DanHD
          DanH @pcs800
          last edited by

          @pcs800 I think there's a ping pong delay example in the snippets browser that might give you better control than the stock Hise delay module.

          1 Reply Last reply Reply Quote 1
          • LindonL
            Lindon @pcs800
            last edited by

            I still think merging 2(or more) audio channels in scriptNode is a pain, unless someone has a nice simple example???

            HISE Development for hire.
            www.channelrobot.com

            ustkU DanHD HISEnbergH 3 Replies Last reply Reply Quote 1
            • ustkU
              ustk @Lindon
              last edited by

              @Lindon a SNEX/C++ node that you create only once perhaps?

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

              1 Reply Last reply Reply Quote 0
              • DanHD
                DanH @Lindon
                last edited by DanH

                This post is deleted!
                1 Reply Last reply Reply Quote 0
                • HISEnbergH
                  HISEnberg @Lindon
                  last edited by

                  @Lindon Can't you just use the routing matrix or am I missing something?

                  Screenshot 2025-09-09 084226.png

                  HiseSnippet 1759.3oc6XszbaaCDFzxzOSaSZSlzi5PO37XzHIqXkN8f0CaknXKaUQEmjdIAlDThVj.rjf1VsSu2a8bt0eB8X5s7en26jeB4eP5B9vhzR1VRIwsclHOiGhcwiOr62t.Xa5vTIttLGjzRs6aSPRWQVoOk2sZWrAEUeCjzmK2.6xINoCDUouM10kngjjR8.g.oEmE4+6sqWAahopjAhPn8XFpjsMrL3Cj1rzVFll0vZj1FVw5cgR0UYzpLSlGfmTxYQ1X0d3NjcvhtMiL5gX2tHoaKqpse9U0Jnlu.4aWknW39Eykundt72qXg730JT.zQJtFNORZtM0L3LGENlSbgIsBSquRW1QzfEXOCWi8MIhF4PJvJGHFUsqgoVyHiiKBII2bfoJUfo55xMLzLNQ9.S1U8UjdvHhazjl47fTtI.RRwfzrAP5ZxJpNF17AZD3YY45TvCpiAeSbnDzWjzqkqxfNP4Yrv8H0bfFmLfUVKa16lF92s9NcOpJ2fQSyn6v3jcoqbqk94kVboeYozmVkt9H0IVFGloIwYjpEzAmyafqP8r1m3b2zGhM8HmzQX6mzlN23YSUC10w5HiVmZv20lD1tFyTSXqDeOrG.EZ1fudb8MvbrvoDJC5mMwgaHfizFjCgvf.WzhxaPb6wY1PfvP9Of4vz7Lw7jzIQfVnBvdjvGJbTTWCd+3AhS.GK64xwFWHdM4lFb0tiFiyLBLBVpOFXLLx7yj2TWmnxG.vYkq8zoMLL6DGFtTXXHrlhE+JgMSW6o4FY.3uJOfra6PrwNj1rll39q3hsrMIs.Ld2z6axT6oX7SjgiPrCfPEQOVQsKlRIltSSfzbefRNgZw73FzNMvbGiigzm63Yo.40UIUCQGHSZFQLTP6rh1BdgBgp423cvuPk4DskBUlKRYrvucH7iXN87cGgeijVPX6WTlx3cAjfJaZxNpJyx1HjhBN.eYMYl8s6xnFpBQA8HBlksXdvJDh0A76JQ9hHXCGM0FaXJn6JdtPBDscoJv73ednTp8HNt9q47xYy.+Az+cXZfp4pgUACd+lXdWQbjHmDPZINYTOg7NXODm7Dbp3.ch4K5vy.LAaEKg8QbzoTpXYjBHshVPH4LATz5t6IzphMQ6IHEhch+bJ5dDXEccA4i0gytcPIP9U8QNPsxDpcXndx.mHjNyoP5WHnRMwNvTBGQ4FA1.GD5TcdNQxJRTeVPdavxhc.dzQhzUswNcHb+EItfvr3ThePiaxlg1h5ZhIuivCcBVBj4eoHzzLey6Oe4F8DFaGK7dQsfMUCCZ39aPx0F3iOkr2ttBmXGvXGzOkdjiBbiw6ovxMubvDzlbLuMy+a.zGB1Vwhtr7ioZDcvZpgFZg1fni8L4CAJTLRz7xt1lvkBOS1ef5gIQQCbR3PijFOubP.1ED+MJDDn4xJdKjlk.mKC3zgjoynQX3Ht..NSBSTB9UpX7qEGle8rWOL+B3RI4W+9Ke4et9P7qW24OtQofckOudhoWHzYQuJ6wYVvwV9W4.MwQHk9sRi0N3Ee0F+05A2pVwhEl6ch2FEJM5sQgRW.x+PX6uhbKhKgOkA3msG.k3TBqfi9O0oDNA2KHSn1QcJQnpIg9NT70mKuIbAGM3x692KODpD4h4yrJ69UdzcZsU89EakO+Fawna+i5kq8rrds52X0ha4ROPIagsassWwVMr5V9Q0L19nLU2NSOux5qV8fspV15GzXYL6emxUzeDqyC2h04vCNnbF87OMamdIikR1HgAxOMRtIOAzIi7iYFHoDoJ6LLRO+TPQC4S4f9TNnK2bPmcvWhFUXrdVX+mL7d+38aFnbY4mfOj3W9L+qseC+15LGqzOf.AzhmLm6rJf1Kd2se03V.M6wt.Z6pxAHz1AScsYtjbI7WDKi1LJwMgzSMh7ibD4S5I3dzjScfnD8RXJpAlhX865khDFqmKTpIllKNWCZGS+yJ0P7dR+lu46e0eu9lTL7hTEBry010UELL3Scc1ldltjmXnw6FadeSLw4iK9gXGMvGplnVEoR9r3YGumEmrrMw5+Hphvberpu3riWgMtfJc8e+RUknNLKFgQECQ8S1DxoXBgz9X7KkCycDIMYLYCFkEUMfALfVD3NIc5PR9NoQsgJy4X0dwY4sHlDrar3zuoTv6P8ea5zYKl7RCOR+0WKG.2zhDIoee7aWpzrysbioFqxM9AGuSeoGujiPg7m++wSeSYHmd9z9t6z+66uuLpp4kwZXgUcXOOrhchDFK3KA12zvpJ1PzNcNzgm9BVVvQOOWUM4TMz.yOsCb0ocfEl1AduocfqMsCr3zNv6ewCTbyfvWgHhSfGYzbS+a2JIEbSI+PFz+.c8c+1.
                  
                  ustkU 1 Reply Last reply Reply Quote 0
                  • ustkU
                    ustk @HISEnberg
                    last edited by

                    @HISEnberg it can quickly become a mess with multiple channels, but still easy to use...

                    Here's a C++ node:

                    template <typename T> void process(T& data)
                    {
                        // Get the actual number of channels from the data
                        int numChannels = data.getNumChannels();
                        int numSamples = data.getNumSamples();
                        
                        // Calculate dynamic gain compensation
                        float gainCompensation = 1.0f / static_cast<float>(numChannels);
                        
                        // Process sample by sample for mono summation
                        for (int sample = 0; sample < numSamples; ++sample)
                        {
                            // Sum all channels for this sample
                            float monoSum = 0.0f;
                            
                            for (int ch = 0; ch < numChannels; ++ch)
                            {
                                monoSum += data[ch][sample];
                            }
                            
                            // Apply gain compensation and distribute to all channels
                            float compensatedMono = monoSum * gainCompensation;
                            
                            for (int ch = 0; ch < numChannels; ++ch)
                            {
                                data[ch][sample] = compensatedMono;
                            }
                        }
                    }
                    
                    template <typename T> void processFrame(T& data)
                    {
                        static const float gainCompensation = 1.0f / static_cast<float>(data.size());
                        
                        // Sum all channels in the frame
                        float monoSum = 0.0f;
                        
                        // Accumulate all channel values
                        for (int ch = 0; ch < data.size(); ++ch)
                        {
                            monoSum += data[ch];
                        }
                        
                        // Apply gain compensation
                        float compensatedMono = monoSum * gainCompensation;
                        
                        // Set all channels to the compensated mono sum
                        for (int ch = 0; ch < data.size(); ++ch)
                        {
                            data[ch] = compensatedMono;
                        }
                    }
                    

                    makeMono.gif

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

                    ChazroxC 1 Reply Last reply Reply Quote 4
                    • ChazroxC
                      Chazrox @ustk
                      last edited by

                      @ustk The generosity of the man.

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

                      23

                      Online

                      1.9k

                      Users

                      12.4k

                      Topics

                      108.4k

                      Posts