Re: AU - does Latency imply equal TailTime?
Re: AU - does Latency imply equal TailTime?
- Subject: Re: AU - does Latency imply equal TailTime?
- From: Chris Rogers <email@hidden>
- Date: Tue, 28 Jan 2003 19:27:10 -0800
Marc,
I was thinking of the latency and tail properties as specifying separate
things. The latency gives an input to output latency which may occur
due to buffering, use of FFTs, etc. Most AudioUnits should not have
any latency. Effects which use delays as part of the effect itself
such as multi-tap delays, reverbs, choruses, etc. would not report
a latency since the delay is intended to be heard as part of the effect.
The tail time is independent of the latency property and is intended to
report the length of reverb tails (and impulse response die-down of
ringing/resonant IIR filters, etc.).
It IS possible for an AudioUnit to have both latency and a tail.
Lets consider a hypothetical convolution-based reverb, which has an
inherent latency due to the necessary buffering used in order to
do FFT-based convolution. Perhaps the latency is very large,
so there's a fairly large delay before we hear output after
applying audio to the input. This is buffering latency delay
and is in addition to any addition inherent delays in the reverb
effect itself and is reported by the latency property.
Now, consider the same reverb, but imagine it has no buffering latency
at all (there still may be short initial delay due to early reflection,etc.
but this is part of the intended effect and doesn't count as latency).
If you apply a short impulse as audio input, then measure the amount
of time for the reverb's output to die down (nearly) to silence then
this is the tail time.
Now, looking at the reverb having BOTH the latency and tail time,
the length of time between applying an impulse to the input and
the output dying down to silence would equal:
latency + tail_time
Thus, you should NOT add the latency time to the tail time when reporting
the tail time. Some effects may have a latency but no tail time at all.
I think this is what you're saying. I just wanted to elaborate a bit
with this example to (hopefully) make it clear to everyone...
Chris Rogers
Core Audio
Apple Computer
Does a value for the kAudioUnitProperty_Latency property imply that, at
the end of the input signal, there will still be output for an equal
amount of time? Or is an Audio Unit expected to return that same value
for the kAudioUnitProperty_TailTime property in such a case? To me,
latency means latency all the way through: it starts late and it ends
late. And then if there is an additional tail on top of the already
expected delay (from the latency), then that additional value would be
returned from the kAudioUnitProperty_TailTime property.
Are my assumptions correct, or should AUs add the Latency into the
TailSize?
Thanks,
Marc
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.