Emphasis: add a different version of the FM emphasis
commite5b0793fc299e999a7478e1cc38fe36787b042e3
authorKrzysztof Foltman <wdev@foltman.com>
Sun, 26 Apr 2015 19:16:03 +0000 (26 20:16 +0100)
committerKrzysztof Foltman <wdev@foltman.com>
Sun, 26 Apr 2015 19:16:03 +0000 (26 20:16 +0100)
tree17e44a1f06a6c5af9be5003e969ad39f27cee8c0
parent6ceae920bb36cf585bfa99306759452d8cde4a95
Emphasis: add a different version of the FM emphasis

This is based on a high shelf filter fit to a theoretical analog filter
at three points:
- Nyquist frequency
- frequency that corresponds to square root of the gain at Nyquist
- cutoff frequency (corresponding to the original tau)

The advantage of this approach is that it avoids the infinite gain at
Nyquist, which I think may be causing numerical issues with floating
point representation, even if it's followed by another filter that
has a zero at Nyquist.

The main disadvantage is that it's no longer a straightforward digital
version of a single-pole analog filter. The Q calculation for the
shelf filter is based on manual curve-fitting - this should give
good enough results for the typical sample rates, but the cutoff
frequency isn't guaranteed to be spot on. That being said, no digital
filter can have a frequency response that is exactly like the analog
counterpart, for various reasons - aliasing/frequency warping.
src/calf/loudness.h
src/metadata.cpp