Hacker News new | ask | show | jobs
by evo 505 days ago
I imagine the lossy encoding process could use a bunch of stacked filters to cut away imperceptible frequencies, but filters in the general case are implemented by summing delayed copies of the input and can smear the output in the phase domain. (There’s a branch of filters that avoid this but require computing the introduced delay and shifting the output to compensate.)

It’s a noticeable problem in audio production if e.g. a filtered kick drum goes out of phase and sucks amplitude when mixed with the original.

1 comments

Is it possible to run the recorded input through the filters twice, doing the second pass in reverse to cancel out the phase shift?
Yeah, I think that’s traditionally the route when you’re not running with near-real-time constraints. I’m out of practice with DSP/filter math but I think there’s a constraint such that any theoretical filter that doesn’t impact phase must be symmetrical around the time axis such that it requires “knowledge from the future” that’s not available in real time.

EDIT: And I think with the two-pass approach you need to calculate the filter such that you get the desired effect after two applications instead of one.