Disabling processing when input is silent. Worth it?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Kingston wrote:
tony tony chopper wrote:the test we're talking about, you could run thousands and not notice it
got me curious. do you just look at the input, see if a bunch of zeros come in, and bypass the process (or reversed when turning it back on)? the way I see it, this is a few adds and a call to bypass - takes practically no CPU cycles. or are there some other considerations as well?
I think the problem is that branches can be very expensive when mispredicted, somtimes >100 cycles on a P4. So there is a general myth that all branches should be avoided at all costs. When realy only branchs that are likely to be frequently mispredicted should be avoided. Ones that a likely to switch randomly. The overwhelming majority of branches are corectly predicted on modern CPUs, i've read that they get it right close to 99% of the time.

But, the point is, most of the time the programer know what the branch is going to do. Checking for silence is almost always going to have input or silence for very long periods of time. It will be perfectly well predicted >99% of the time. Which means in region of 5-10 cycles taking into acount ocaisional mispredictions, maybe even less.

Post

And do you think your company wouldn't be talking to a lawyer if someone stole your graphics for their product, THE ACTUAL GRAPHICS
It happened/happens and I don't think IL ever sued anyone. Personally I don't care AT ALL, and others at IL only cared enough to ask the authors to stop doing it.
Lawyers.. that's only if you like to waste your own money to prove you're an ass.

Post

grymmjack wrote:you have made several threats, i've not seen one threat from gol.
WHERE? At worst all I've said is "watch it".

you have made several insults, i've not seen one time gol call you any names.
So he can lie and post bad demos of my stuff, and accuse me if being drunk (if that's what he meant by that last post in the X-mod thread, I couldn't make head nor tail of it, I suspect the drunk was him, considering the timezone shift) and I can't call him a twit?

lastly, i am certain that flstudio is in no way related to your own scamp or synth product so it's not competitive or wrong to simply talk things out developer to devloper in a public eye is it? after all, regardless of how you personally FEEL about what gol and others have said, you certainly have to respect their opinions as their own and not threaten legal action when they disagree with your own ideals and such? i mean where do you draw the line for that kind of thing? is it ok to say "scamp sucks" but it's not ok to list facts like 'it takes 15% of cpu on my amd3500+'? he isn't doing anything illegal by simply stating a fact, regardless of if he took the time to read docs or not, right?
Right. So why did he jump on MY product when i was only suggesting it as a way to understand a basic synthesis feature that he's too stubborn to want to understand? I NEVER THREATEDNED LEGAL ACTION!!!! READ THE GODDAMNED POSTS! If you believe tonys LIES, then yes, you're going to think I'm a bad guy. But as I see it, I've been needlessly attacked by an agent from another company. READ THE THREADS I REFERENCED IN THEIR ENTIRETY.


tbh, i find it humorous when people threaten legal action for messages on a forum. 'ill sue you f**ker!' huhuhuuh... :roll: someone in another thread was getting to that point just for being called names and stuff. it's ridiculous.
What are you talking about?

we're all adults here (well most of us, this is kvr after all), etc. has it occured to you also that gol is helping you in some way? from where i stand it seems like he's been offering you advice, and even posted a snipet of ASM which you could use to your benefit.
And for that I'm always grateful. I can hate someone's guts and still work with them as well, learn from them, and admit when they have a point. I'm arbitrary like that. I'm not like HIM. I don't think I'm better than Bob Moog (who tony seems to think wasted modulation routings on useless featuires).

CHRIST!
Last edited by AdmiralQuality on Thu Jul 20, 2006 5:43 pm, edited 2 times in total.

Post

tony tony chopper wrote: (better use a test so that you can at least bypass it after the first sample most of the time)
You cant do that, you have to check every sample frame so you know when to turn the process back on. You will get buffers that are silent at the start and have audio later on. If you just bail out without checking the whole block then you are going to have audio input that doesnt get processed, and more than likely nasty clicks when the process comes back on.

chris

Post

tony tony chopper wrote:
And do you think your company wouldn't be talking to a lawyer if someone stole your graphics for their product, THE ACTUAL GRAPHICS
It happened/happens and I don't think IL ever sued anyone. Personally I don't care AT ALL, and others at IL only cared enough to ask the authors to stop doing it.
Lawyers.. that's only if you like to waste your own money to prove you're an ass.
You don't care at all because you probably didn't personally spend months of time building graphics for a product for a company that you own. You're a developer, right? Someone else does the graphics?

Or of you don't mind giving your work it away, how about you send me all your code then?

Point taken?

And again, this was in response to you mis-quoting me on the lawyer comment. Which wasn't about ME protecting MY intellectual property, but about all of us... and possible reasons to not want to use more portable graphics in the product. I've said this like 5 times.
Last edited by AdmiralQuality on Thu Jul 20, 2006 5:45 pm, edited 1 time in total.

Post

So he can lie and post bad demos of my stuff
oh sure, I first kindly asked you to post a demo of your own stuff, which I knew you wouldn't do, with the cunning plan of posting bad-sounding demo's of your plugin I knew nothing about, by feeding it with a standard, bad-sounding sawtooth.

Don't you know, that's how we destroy the competition! First we check who our competitors are, and obviously we found your Scamp plugin, that highly competes with FL. Then for months we prepared an evil plan to destroy you (I mean your company because it sounds more like you're a company), by telling lies. Damn us 'twits'.

I NEVER THREATEDNED LEGAL ACTION!!!!
he may be referring to this
But wondering if your comments are the official position of Image-Line Software, or if I need to send a letter to someone there informing them of your activities, putting down and spreading misinformation about other company's products

Post

I'm not saying it was a smart strategy tony. Just the opposite. I think Fruitloops has a stubborn developer who doesn't know much about the history of sound synthesis (in fact, I think that point is irrefutable at this stage.)

And oh, that was threatening to call your boss and tell them what you were using their webserver for. Yup.

Post

so you know when to turn the process back on
you just stop when you find 1 non-zero sample. That's why you need a test, because a big part of the time there will be input.
You will process the whole buffer.. usually when it's all silent. But since you're gonna win a lot more CPU by bypassing, it doesn't matter.

Post

AdmiralQuality wrote:I'm not saying it was a smart strategy tony. Just the opposite. I think Fruitloops has a stubborn developer who doesn't know much about the history of sound synthesis (in fact, I think that point is irrefutable at this stage.)

And oh, that was threatening to call your boss and tell them what you were using their webserver for. Yup.
:lol:


I'm gonna tell on you
Image
Now with improved MIDI jitter!

Post

who doesn't know much about the history of sound synthesis
That's very true, I hardly ever touched one. But that didn't prevent me from making softsynths.
You're a developer, right? Someone else does the graphics?
I do my own graphics (or I wouldn't have bothered posting in that thread about GUI - but yes we all know I replied there only to annoy you), and spent years on them.
Or of you don't mind giving your work it away, how about you send me all your code then?
I wouldn't give a shit, and others at IL would probably ask you not to. Don't worry, there would be no lawyer involved (except Fred who works with me and studied law).

Post

tony tony chopper wrote:
so you know when to turn the process back on
you just stop when you find 1 non-zero sample. That's why you need a test, because a big part of the time there will be input.
You will process the whole buffer.. usually when it's all silent. But since you're gonna win a lot more CPU by bypassing, it doesn't matter.
Sorry, i misunderstood what you wrote, i thought you were sugesting to check for silence, and then bypassing the process as soon as. But you're absolutely right, checking for non-zero and then doing the process soon as would be more economical. ;-)

chris

Post

two possible ways to do it.

1) check entire block pre-process and process chunks at a transistion from the last false to true to a true to false, or the end of the block.

2) check if you want to process per-sample. only works well if you're doing your processing per-sample anyway.

with both methods, i would use:

float integrator;
float rates[2] = {1.0, 1.0 / sample_rate};
float threshold = 1E-4; //-80db

float delta = signal - integrator;
int sign = sign_of(delta); //zero for positive, one for negative
integrator += rates[sign] * delta;
sign = sign_of(integrator - threshold);
if (sign)
{
do processing...
}

Post

AdmiralQuality wrote:
tony tony chopper wrote:
And do you think your company wouldn't be talking to a lawyer if someone stole your graphics for their product, THE ACTUAL GRAPHICS
It happened/happens and I don't think IL ever sued anyone. Personally I don't care AT ALL, and others at IL only cared enough to ask the authors to stop doing it.
Lawyers.. that's only if you like to waste your own money to prove you're an ass.
You don't care at all because you probably didn't personally spend months of time building graphics for a product for a company that you own. You're a developer, right? Someone else does the graphics?
no he does the graphics too.

re: my post, you are acting obnoxious and school-yard, that was my point, and you asserted this point with your reply to me shouting and ranting as you did. i've done nothing wrong to you, i'm an innocent observer, caught in the crossfire i guess, hoping to help end this nonsense by trying to show you that your own actions and words are much more severe than gols are. i've only read the graphics thread and now this one, i don't care about the other threads, your behaviour is enough in these two threads alone to give me enough understanding of what the others may have been like. the moment someone disagrees you fly off the handle and get emotional.

c'mon a frootloops box? :roll: this is what i mean. this outburst of school-yard antics has no relation to anything else, you just decided 'oh i know i'm going to post a frootloops box because the company gol works for had a run in with kellogs, huhuhuhu' :roll:

what does that kind of thing do for you? does it make you feel better? it certainly doesn't help any other way.

i'm going to stay out of this now, because i've done my best trying to help you see the err of your ways, which you obviously dont understand and probably dont know that your actions are obnoxious and uncalled for. some people, and this is not an attack, will never understand that their actions are wrong because they are so strongly and passionately commited to their own ideals that they cannot fathom anothers perspective.

Post

"will never understand that their actions are wrong"

because they are

"so strongly and passionately commited to their own ideals that they cannot fathom anothers perspective"

just wanted to point out that statement discribes itself..

Post

This thread's great. The users (and even Monsieur Chopper) continue to have a rational discussion regarding the actual topic name, while Admiral Stick-up-his-ass continues to actively lose potential customers by acting like a twat. Brilliant.

Post Reply

Return to “DSP and Plugin Development”