HISE Logo Forum
    • Categories
    • Register
    • Login

    New Feature: SuspendOnSilence

    Scheduled Pinned Locked Moved General Questions
    43 Posts 12 Posters 2.6k 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.
    • ustkU
      ustk @Lindon
      last edited by ustk

      @Lindon Basically, you create a buffer and just copy the incoming stream into it. Since processBlock is continually firing, just set a flag (here the recordIndex is used as a flag) to tell when you want it to record the buffer.

      reg recBuffer = Buffer.create(yourLength);
      reg recordIndex = -1;
      
      function processBlock(channels)
      {
      	if (recordIndex != -1)
      	{
      		local numSamples = Math.min(recBuffer.length - recordIndex, channels[0].length);
      		local temp = Buffer.referTo(recBuffer, recordIndex, numSamples);
      		
      		if (numSamples == channels[0].length)
      		{
      			channels[0] >> temp;
      		}
      		else
      		{
      			local s = Buffer.referTo(channels[0], 0, numSamples);
      			s >> temp;
      		}
      		
      		recordIndex += numSamples;
      		
      		if (recordIndex >= recBuffer.length)
      			recordIndex = -1;
      	}
      }
      

      A simpler version to understand would simply be to copy the samples one by one in a for loop, but it's a bit greedy on cpu cycles. So this version Christoph gave me is much lighter since the copy process is made per block.

      Bear in mind that you can't test this in Hise standalone because the inputs aren't activated.
      Though I don't use the Hise plugin version for this, it should work (and the same for the exported project of course, it can't work in standalone unless activating the inputs)

      Can't help pressing F5 in the forum...

      Christoph HartC LindonL 2 Replies Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart @ustk
        last edited by

        Bear in mind that you can't test this in Hise standalone because the inputs aren't activated.

        I think you can test it by dragging an audio file into the HISE Controller DAW timeline...

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

          @ustk said in New Feature: SuspendOnSilence:

          @Lindon Basically, you create a buffer and just copy the incoming stream into it. Since processBlock is continually firing, just set a flag (here the recordIndex is used as a flag) to tell when you want it to record the buffer.

          reg recBuffer = Buffer.create(yourLength);
          reg recordIndex = -1;
          
          function processBlock(channels)
          {
          	if (recordIndex != -1)
          	{
          		local numSamples = Math.min(recBuffer.length - recordIndex, channels[0].length);
          		local temp = Buffer.referTo(recBuffer, recordIndex, numSamples);
          		
          		if (numSamples == channels[0].length)
          		{
          			channels[0] >> temp;
          		}
          		else
          		{
          			local s = Buffer.referTo(channels[0], 0, numSamples);
          			s >> temp;
          		}
          		
          		recordIndex += numSamples;
          		
          		if (recordIndex >= recBuffer.length)
          			recordIndex = -1;
          	}
          }
          

          A simpler version to understand would simply be to copy the samples one by one in a for loop, but it's a bit greedy on cpu cycles. So this version Christoph gave me is much lighter since the copy process is made per block.

          Bear in mind that you can't test this in Hise standalone because the inputs aren't activated.
          Though I don't use the Hise plugin version for this, it should work (and the same for the exported project of course, it can't work in standalone unless activating the inputs)

          cool.. I must find some time to look at this... Thanks.

          HISE Development for hire.
          www.channelrobot.com

          1 Reply Last reply Reply Quote 0
          • T
            tomekslesicki
            last edited by

            This is perfect! I can't see the option to turn the suspend on silence on my scriptnode chains, though. It works on the snippet that Christoph provided. Is there anything extra I need to do to have this? I'm on the latest Develop build, compiled today.

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

              @tomekslesicki It's in the same place as the allow compilation option. Make sure you have no nodes selected.

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

              T 1 Reply Last reply Reply Quote 0
              • T
                tomekslesicki @d.healey
                last edited by tomekslesicki

                @d-healey It should be there when I right-click on a chain, right? !https://imgur.com/a/Gdkyge3

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

                  @tomekslesicki I think if you open networks that have been saved before the addition of this feature, you need to save the network and reload it again - the property editor is being built from the XML data and it needs a resave to add the properties.

                  T ustkU 2 Replies Last reply Reply Quote 1
                  • T
                    tomekslesicki @Christoph Hart
                    last edited by

                    @Christoph-Hart thanks! I added it manually to the xml and it's working like a charm now :-)

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

                      @Christoph-Hart Digging up that SuspendOnSilence not appearing in ScriptFX property
                      It seems the properties that are not in their default state, or just set (it's not clear to me) are purely removed from the value tree.

                      Screenshot 2024-10-22 at 14.21.44.png

                      Can't help pressing F5 in the forum...

                      orangeO 1 Reply Last reply Reply Quote 0
                      • orangeO
                        orange @ustk
                        last edited by orange

                        @ustk Does SuspendOnSilence will be the cure for the peak meter lock when the signal is off?

                        PPPP.gif

                        develop Branch / XCode 13.1
                        macOS Monterey / M1 Max

                        clevername27C 1 Reply Last reply Reply Quote 2
                        • orangeO orange referenced this topic on
                        • clevername27C
                          clevername27 @orange
                          last edited by clevername27

                          @orange Dope meter. I use a timer that periodically checks for that.

                          orangeO 1 Reply Last reply Reply Quote 0
                          • orangeO
                            orange @clevername27
                            last edited by

                            @clevername27 Thanks. It uses timer too. The problem here is that when there is no signal from the display buffer, the display buffer gets stuck at the last value. Do you have a method for that?

                            develop Branch / XCode 13.1
                            macOS Monterey / M1 Max

                            clevername27C 1 Reply Last reply Reply Quote 0
                            • clevername27C
                              clevername27 @orange
                              last edited by

                              @orange That's a good point. I don't have suspend on silence activated for most of the plugin. (I don't trust it, lol.)

                              orangeO 1 Reply Last reply Reply Quote 0
                              • orangeO
                                orange @clevername27
                                last edited by orange

                                @clevername27 Ehehe, I haven't used it yet. Does it crash or something?

                                develop Branch / XCode 13.1
                                macOS Monterey / M1 Max

                                clevername27C 1 Reply Last reply Reply Quote 0
                                • clevername27C
                                  clevername27 @orange
                                  last edited by

                                  @orange No crash, it just felt a little sus to me – there are often issues with those types of algorithms (such as that which you are experiencing). Love that meter.

                                  orangeO 1 Reply Last reply Reply Quote 1
                                  • orangeO
                                    orange @clevername27
                                    last edited by

                                    @clevername27 said in New Feature: SuspendOnSilence:

                                    Love that meter.

                                    Thanks. Meter of this: https://noiseash.com/prestige-racks/

                                    develop Branch / XCode 13.1
                                    macOS Monterey / M1 Max

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

                                      @orange said in New Feature: SuspendOnSilence:

                                      @clevername27 said in New Feature: SuspendOnSilence:

                                      Love that meter.

                                      Thanks. Meter of this: https://noiseash.com/prestige-racks/

                                      mate they continue to look really really nice...

                                      HISE Development for hire.
                                      www.channelrobot.com

                                      orangeO 1 Reply Last reply Reply Quote 0
                                      • orangeO
                                        orange @Lindon
                                        last edited by

                                        @Lindon Thanks mate, your stuff looks nice too

                                        develop Branch / XCode 13.1
                                        macOS Monterey / M1 Max

                                        ustkU 2 Replies Last reply Reply Quote 1
                                        • ustkU
                                          ustk @orange
                                          last edited by ustk

                                          @orange Yeah it looks really nice!
                                          And that must have been thousands of hours to get all these DSP emulations! Congrats

                                          Can't help pressing F5 in the forum...

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

                                            @orange As for the meter, I don't see where it could be related to SuspendOnSilence but I'm limited on the topic... Looks more like a timer stopping. If the level is gated gated at the output, how could the meter say there's a signal if we hear nothing? The peak meter probably gets it's level directly from the output signal path so...

                                            Can't help pressing F5 in the forum...

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

                                            40

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            102.1k

                                            Posts