Disabling processing when input is silent. Worth it?
-
Jason Brian Merrill Jason Brian Merrill https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=87372
- KVRAF
- 2694 posts since 11 Nov, 2005 from http://maps.google.com/maps?oi=map&q=Massena,+NY --(on the Canadian border)
blablablablabla...
get over it, youre wrong.
get over it, youre wrong.
check my profile for contact info.
msn messenger is my email as well.
msn messenger is my email as well.
-
- KVRist
- 83 posts since 11 Apr, 2004
I figure its just developer lazyness...AdmiralQuality wrote:Then why do so few plugs-ins do this? I can't think of a single one that does. (Talking about effects of course, it's common for most synths to kill silent voices.)
I think many synthedit based fx do save power since this function is build into all standard modules that comes with SE.
Last edited by Mr Smith on Sun Jul 23, 2006 11:34 pm, edited 1 time in total.
-
AdmiralQuality AdmiralQuality https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=83902
- Banned
- Topic Starter
- 6657 posts since 10 Oct, 2005 from Toronto, Canada
Now THAT's mature. (And again, your stubborn attitudes illustrate exactly how you GOT to be so stupid.) I'm wrong. Native Instruments is wrong. Arturia is wrong. Kjaerhus is wrong. TC is wrong. PSP is wrong. Ohmforce is wrong... (and on and on it goes.)Jason Brian Merrill wrote:blablablablabla...
get over it, youre wrong.
So who's RIGHT?
-
Jason Brian Merrill Jason Brian Merrill https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=87372
- KVRAF
- 2694 posts since 11 Nov, 2005 from http://maps.google.com/maps?oi=map&q=Massena,+NY --(on the Canadian border)
ME.
btw, the host can do it by itself. The plugin doesnt need to support it.
btw, the host can do it by itself. The plugin doesnt need to support it.
check my profile for contact info.
msn messenger is my email as well.
msn messenger is my email as well.
-
AdmiralQuality AdmiralQuality https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=83902
- Banned
- Topic Starter
- 6657 posts since 10 Oct, 2005 from Toronto, Canada
And who are you anyway?Jason Brian Merrill wrote:ME.
btw, the host can do it by itself. The plugin doesnt need to support it.
I'm not talking about hosts. Topic is plug-ins. Any host is free to do as it wants.
So... instead of being a little Nazi, how about you refute any single point I've made. Or provide an example of any professional plug-in developers who are following your orders, boss.
-
Jason Brian Merrill Jason Brian Merrill https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=87372
- KVRAF
- 2694 posts since 11 Nov, 2005 from http://maps.google.com/maps?oi=map&q=Massena,+NY --(on the Canadian border)
and so, do you use plugins by themselves?
I dont think so.
nice to have both sides suppport it, for sure. But your obsessive following of this thread shows your attitude for sure.
little nazi?
actually im a big nazi.
I dont think so.
nice to have both sides suppport it, for sure. But your obsessive following of this thread shows your attitude for sure.
little nazi?
actually im a big nazi.
check my profile for contact info.
msn messenger is my email as well.
msn messenger is my email as well.
-
AdmiralQuality AdmiralQuality https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=83902
- Banned
- Topic Starter
- 6657 posts since 10 Oct, 2005 from Toronto, Canada
Obsessive following of a thread that I started, asking for votes and opinions on a legitimate question? Yeah, speaking of lazy, us developers obviously don't care at all what any users think, that's why we do research and tolerate this shit from self admitted big Nazis.Jason Brian Merrill wrote:and so, do you use plugins by themselves?
I dont think so.
nice to have both sides suppport it, for sure. But your obsessive following of this thread shows your attitude for sure.
little nazi?
actually im a big nazi.
I don't care how big you think you are. You're puny.
-
Jason Brian Merrill Jason Brian Merrill https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=87372
- KVRAF
- 2694 posts since 11 Nov, 2005 from http://maps.google.com/maps?oi=map&q=Massena,+NY --(on the Canadian border)
actually, i really do need to lose some weight. Im quite the chubby little nazi.AdmiralQuality wrote:Obsessive following of a thread that I started, asking for votes and opinions on a legitimate question? Yeah, speaking of lazy, us developers obviously don't care at all what any users think, that's why we do research and tolerate this shit from self admitted big Nazis.Jason Brian Merrill wrote:and so, do you use plugins by themselves?
I dont think so.
nice to have both sides suppport it, for sure. But your obsessive following of this thread shows your attitude for sure.
little nazi?
actually im a big nazi.
I don't care how big you think you are. You're puny.
check my profile for contact info.
msn messenger is my email as well.
msn messenger is my email as well.
- KVRAF
- 12615 posts since 7 Dec, 2004
it isnt possible for a host to do it for multiple reasons, and if you can not see that, you need to spend more time thinking about the problem.
i've already outlined a simple implementation that is applicable to an effect which has a zero length tail. what about effects with a fixed length tail? the issue is complicated more if the effect has a dynamic length tail.
for some effects it is impossible to implement this kind of feature without using more processing power in overhead than the original effect would require. for other effects it is extremely difficult to create an implementation where the processing result remains unmodified by the bypass.
should a simple compressor or gate effect use bypass? usually not, since there will be so little savings that the overhead of the bypass will become difficult to justify. would you rather run an effect at 5% cpu constantly, or run it at 10% while active with 1% during silence?
should a reverb effect implement bypass? it depends upon how accurately the tail of the reverb can be calculated. a impulse based reverb could implement bypass, but a reverb like xhip reverb, or one with modulation of parameters may be extremely difficult to impossible to deal with.
should other effects like phaser/chorus, eq/filter, ringmod/distortion implement bypass? generally not, although it depends upon the specific implementation.
the problem is more complex than you may be able to comprehend.
i've already outlined a simple implementation that is applicable to an effect which has a zero length tail. what about effects with a fixed length tail? the issue is complicated more if the effect has a dynamic length tail.
for some effects it is impossible to implement this kind of feature without using more processing power in overhead than the original effect would require. for other effects it is extremely difficult to create an implementation where the processing result remains unmodified by the bypass.
should a simple compressor or gate effect use bypass? usually not, since there will be so little savings that the overhead of the bypass will become difficult to justify. would you rather run an effect at 5% cpu constantly, or run it at 10% while active with 1% during silence?
should a reverb effect implement bypass? it depends upon how accurately the tail of the reverb can be calculated. a impulse based reverb could implement bypass, but a reverb like xhip reverb, or one with modulation of parameters may be extremely difficult to impossible to deal with.
should other effects like phaser/chorus, eq/filter, ringmod/distortion implement bypass? generally not, although it depends upon the specific implementation.
the problem is more complex than you may be able to comprehend.
-
deaf dunderkwac deaf dunderkwac https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=78199
- KVRAF
- 5247 posts since 15 Aug, 2005 from RainLand featuring RAinRAinRAin
I don't know how I wandered into this thread bu the way i compose I would find it a big timesaver to have VST effects turn themselves of during silent parts.
I end up doing it manually all the time.
(since you're asking for input)

I end up doing it manually all the time.
(since you're asking for input)
for entertaining porpoises only
-
- KVRist
- 83 posts since 11 Apr, 2004
is it really that difficult? to me, two options is straightforward, case 1: lets say reverb time is set to 2 secs, once plug recieves silence, it it waits 2 secs before going to sleep ( SE termshould a reverb effect implement bypass? it depends upon how accurately the tail of the reverb can be calculated. a impulse based reverb could implement bypass, but a reverb like xhip reverb, or one with modulation of parameters may be extremely difficult to impossible to deal with.
case 2: simple feedback path, if both input and output is zero, turn off processing...
-
AdmiralQuality AdmiralQuality https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=83902
- Banned
- Topic Starter
- 6657 posts since 10 Oct, 2005 from Toronto, Canada
Case 1. There's no way for the host to know it's a reverb, much less what the "time" control is set to (or which control is FOR the time, or how to interpret its value). It's a black box to the host. Yes, as pointed out above there IS a function in the VST spec that communicates the tail length, but it isn't implemented by 99% of plug-ins. Also, a loud sound's reverb tail will go longer than a quiet one. And they NEVER really decay to zero. So there has to be some threshold. Getting complicated now.Mr Smith wrote:is it really that difficult? to me, two options is straightforward, case 1: lets say reverb time is set to 2 secs, once plug recieves silence, it it waits 2 secs before going to sleep ( SE termshould a reverb effect implement bypass? it depends upon how accurately the tail of the reverb can be calculated. a impulse based reverb could implement bypass, but a reverb like xhip reverb, or one with modulation of parameters may be extremely difficult to impossible to deal with.)
case 2: simple feedback path, if both input and output is zero, turn off processing...
Case 2. What about a delay line? You'll potentially chop off echoes because there could be completely silent bits inbetween (and it will never reactivate from output, because you've disabled its processing - a chicken and egg problem.) There's other issues here too, particularly with effects that can generate audio on their own with no input.
No, it's not strictly impossible. (I wouldn't have asked if it was.) But... is it worth it? To me, at this point of thinking about it for several days, I'd still say no. And again, I don't feel there's much value to having them turn off (IMHO the potential problems far outweigh the advantages). If I want a track to give up the CPU it's using, I'll spend 15 seconds automating a bypass during the part I want it off. But then, I'm like that... don't like the computer making decisions for me. I like the host to model a real studio, and in reality, the effects stay on until I turn them off.
Can you explain more about how you work and how you perceive this feature would be helpful? Same question to whoever mentioned film scoring. (To me that's conceptually the same as any song. Perhaps it's a methodology thing? I know I wouldn't expect to do much of anything without freezing tracks and/or other explicit methods of reducing CPU load. Like automating bypass of entire tracks during their dead sections.)
-
- KVRist
- 111 posts since 1 Dec, 2003 from Denmark
Hi, I haven't read the entire topic, so forgive me if I'm writing something that has been discussed already.
I found huge speed improvements after implementing check for silence. Both zPEQ and zReverb use close to no CPU when input is silent. zReverb usage off course drops gradually depending on decay time. I find this optimization useful in many situations:
In zReverb I've even implemented zero-optimization in the different parts of the algorithm. The ER module (which is the heavy computational part) can go silent before the diffusion module etc. Furthermore I use the zero buffer detection to check whether the IIR filters should be reset if they have become sufficiently silent, and I thereby don't have to add time-consuming denormal checks in the actual IIR filter code.
Frits
I'm mainly a host developer (Podium), but I've made two effect plugins that you can add to the list: zPEQ and zReverb.AdmiralQuality wrote:Plug-ins that bypass processing during silence:
- Not a single one that I know of. (Add to the list please. I'm curious.)
I found huge speed improvements after implementing check for silence. Both zPEQ and zReverb use close to no CPU when input is silent. zReverb usage off course drops gradually depending on decay time. I find this optimization useful in many situations:
- If you work in the host program and playback is stopped, there is more CPU available to edit actions, file loading etc.
- I find it a great relief not to worry about automating plugin bypass parameters to try to gain more free CPU.
- If you have tracks that sporadically have silent passages in them, then the combined plugin CPU load is much lower than if all plugins always were processing. If CPU usage suddenly spikes during a passage where all plugins are working, then the spike would have been there anyway (constantly) if the plugins were processing silence.
In zReverb I've even implemented zero-optimization in the different parts of the algorithm. The ER module (which is the heavy computational part) can go silent before the diffusion module etc. Furthermore I use the zero buffer detection to check whether the IIR filters should be reset if they have become sufficiently silent, and I thereby don't have to add time-consuming denormal checks in the actual IIR filter code.
Frits
-
- KVRist
- 83 posts since 11 Apr, 2004
if all effects used this feature, my CPU load would be generally smaller, in my tracks, the biggest hog is the without doubt the effects, one effect might not use much power but summed up they use loads of cpu. let's say I use waves doubler (a hoggy fx) on a track in my intro, once the intro is over, this effect will process zeros for the remaining 5 minutes of my tune, a complete waste of cpu... I can automate it yes, but i never do since I'm lazyAdmiralQuality wrote:Mr Smith wrote:is it really that difficult? to me, two options is straightforward, case 1: lets say reverb time is set to 2 secs, once plug recieves silence, it it waits 2 secs before going to sleep ( SE termshould a reverb effect implement bypass? it depends upon how accurately the tail of the reverb can be calculated. a impulse based reverb could implement bypass, but a reverb like xhip reverb, or one with modulation of parameters may be extremely difficult to impossible to deal with.)
case 2: simple feedback path, if both input and output is zero, turn off processing...Ah, I was referring to doing this in the plug rather than the host, sorry if I misunderstoodCase 1. There's no way for the host to know it's a reverb,
I figure you always have to check silence for a period of time since audio always crosses 0 at regular basis etc, in this case a peroid > delay time might do the trick?Case 2. What about a delay line? You'll potentially chop off echoes because there could be completely silent bits inbetween (and it will never reactivate from output, because you've disabled its processing - a chicken and egg problem.)
obviouslyThere's other issues here too, particularly with effects that can generate audio on their own with no input.
Can you explain more about how you work and how you perceive this feature would be helpful? Same question to whoever mentioned film scoring. (To me that's conceptually the same as any song. Perhaps it's a methodology thing? I know I wouldn't expect to do much of anything without freezing tracks and/or other explicit methods of reducing CPU load. Like automating bypass of entire tracks during their dead sections.)
Also, ive noticed many plugs leak memory, even "pro" ones. Please devs, correct your memory leaks, I need my memory.
frits has some good points above.
-
Zaphod (giancarlo) Zaphod (giancarlo) https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=111268
- KVRAF
- 2610 posts since 23 Jun, 2006
I prefer constant-load plugs. Some host crashes if cpu is greater than 100%, so a constant-load works better for me. If I load correctly plug play will be stable. This my opinion
btw: here someone is a bit too offensive, this hurts me. Slow down please.
btw: here someone is a bit too offensive, this hurts me. Slow down please.

