DescriptionCompute the tail time for an IIRFilter from its coefficients
For an IIRFilterNode the tail time is currently set to infinity, which is
mathmatically true, but impractical because that keeps the IIRFilter
alive even if the output is very small.
Instead, compute a tail time based on the coefficients of the IIR
filter. The tail time is the estimated time where the impulse response
is sufficiently small that we can say that output is essentially
zero.
By doing so, an IIRFilterNode can disconnect itself from downstreams
nodes, reducing complexity of the graph. Without this, downstream
nodes stay alive processing silence.
BUG=612215
TEST=iirfilter.html
Review-Url: https://codereview.chromium.org/2851873003
Cr-Commit-Position: refs/heads/master@{#472845}
Committed: https://chromium.googlesource.com/chromium/src/+/7615be681fe875bc5e6e5715e1455bbffa0a5eb3
Patch Set 1 #Patch Set 2 : Implement IIR tail-time with tests #Patch Set 3 : More tests #Patch Set 4 : Rebase #Patch Set 5 : Adjust threshold #Patch Set 6 : Rebase #
Total comments: 12
Patch Set 7 : Address review comments #Patch Set 8 : Rebase #
Messages
Total messages: 25 (11 generated)
|