Zerberus: 2-pole filters have high resonance

• Jun 8, 2018 - 16:41
Reported version
2.3
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Zerberus' 2-pole filters add around 8.5 dB of resonance at the cutoff point, making them sound very artificial when filtering acoustic sound sources.

The attached zip contains a test that can be loaded into MuseScore (follow the directions at the top of the score), which will play white noise through both lpf and hpf 2-pole filters with the cutoff set to 3,000 Hz. The last two notes play reference recordings made with sforzando for easy comparison.

The zip file also contains the following spectrum analysis screenshots:
. lpf_2p-sforzando.png - This is how the lpf_2p filter appears in sforzando, with no resonance.
. lpf_2p-zerberus.png - This is the lpf_2p filter in Zerberus. You can see a distinct "bump" at the cutoff point (3,000 Hz) which is equivalent to about 8.5 dB resonance.
. lpf_2p-resonance_8.5dB-sforzando.png - This is the lpf_2p filter in sforzando with "resonance=8.5" set in the SFZ file. This looks almost identical to the Zerberus analysis, which suggests to me that perhaps there is a resonance level hard-coded into Zerberus' filter implementation?
. hpf_2p-sforzando.png & hpf_2p-zerberus.png - same as above but with the highpass filter instead.

The frequency analysis was performed by recording the audio from Zerberus and sforzando and using Audacity's "Analyze" -> "Plot Spectrum" feature. You can see the settings I used at the bottom of the screenshots.

Attachment Size
Zerberus_filter_test_02.zip 371.75 KB

Comments

Status (old) active fixed
Status active fixed

Fixed in branch 2.3, commit c2daef6112

fix #273171: incorrect resonance in 2 pole filters

Removed hardcoded resonance.
Fix tests after changing resonance calculation
Commented out test which tests sfz wav samples until I understand how to
record new (correct) reference

Fixed in branch master, commit 1f72be576f

fix #273171: incorrect resonance in 2 pole filters

Removed hardcoded resonance.

Fix test after changing resonance calculation
Commented out test which tests sfz wav samples until I understand how to
record new (correct) reference