juce-framework / JUCE

JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
https://juce.com
Other
6.55k stars 1.73k forks source link

[Bug]: Possible Typo in Juce Ladder Filter BPF12 coefficients #1408

Closed jmelas closed 1 month ago

jmelas commented 3 months ago

Detailed steps on how to reproduce the bug

case Mode::BPF12:   A = {{ SampleType (0), SampleType (0), SampleType (-1), SampleType (1),  SampleType (0) }}; comp = SampleType (0.5);  break;

What is the expected behaviour?

According to Vesa Välimäki paper the coefficients for BPF12 should be

case Mode::BPF12:   A = {{ SampleType (0), SampleType (1), SampleType (-1), SampleType (0),  SampleType (0) }}; comp = SampleType (0.5);  break;

NB: All other coefficients in A table for the other Modes seem to follow the paper correctly.

Operating systems

Windows

What versions of the operating systems?

Windows 11

Architectures

x86_64

Stacktrace

No response

Plug-in formats (if applicable)

No response

Plug-in host applications (DAWs) (if applicable)

No response

Testing on the develop branch

The bug is present on the develop branch

Code of Conduct

szarvas commented 2 months ago

Just to be sure, could you please quote the full title of the Valimaki paper you're referring to?

jmelas commented 2 months ago

Sure it's "Oscillator and Filter Algorithms for Virtual Analog Synthesis" 2006, page 29!

szarvas commented 1 month ago

A fix has been released on develop. Thank you for reporting the issue. https://github.com/juce-framework/JUCE/commit/c1ae3ab7aef8c6876e9ea09cf323531d244946fc

jmelas commented 1 month ago

Thank you very much for the fix!