Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Smooth linear filter parameter change #1432

Merged
merged 15 commits into from
Dec 1, 2024
Merged

Smooth linear filter parameter change #1432

merged 15 commits into from
Dec 1, 2024

Conversation

derselbst
Copy link
Member

@derselbst derselbst commented Nov 16, 2024

This PR implements a smooth change of the IIR filter parameters fres (=filter cutoff frequency) and Q. It is meant as a proper replacement for the previous linear smoothing of the individual filter coefficients, see #1345.

This PR is supposed to fix the clicks and pops heard in those related issues:

Fixes #1415
Fixes #1417
Fixes #1424

PR Depends on:
#1429
#1430

Open TODOs:

fres is clearly given in absolute cents. it is later combined with fres_mod, which is given in relative cents
interpolation for Q still missing, updating the coeffs when Q changes still missing
@derselbst derselbst added the bug label Nov 16, 2024
@derselbst derselbst added this to the 2.4 milestone Nov 16, 2024
@derselbst derselbst marked this pull request as ready for review November 23, 2024 16:41
Copy link
Contributor

@spessasus spessasus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, should release this ASAP as it fixes modEnv filter which I consider a major (commonly used) SF2 feature.

@derselbst
Copy link
Member Author

Thanks for the feedback, I'm on it.

@derselbst derselbst merged commit 9a19ab2 into master Dec 1, 2024
76 of 78 checks passed
@derselbst derselbst deleted the iir-param-smoothing branch December 1, 2024 13:14
DominusExult added a commit to DominusExult/fluidsynth-sans-glib that referenced this pull request Dec 27, 2024
* master: (66 commits)
  Add portamento test files
  Restore discovery of libsndfile on Ubuntu (FluidSynth#1454)
  Fix crash on startup when there are no MIDI devices  (FluidSynth#1447)
  Replace VERSIONINFO resource cmake macro (FluidSynth#1449)
  Fix filter processing order in DSP chain (FluidSynth#1444)
  Render the nervous filter with additional soundfonts
  Add Christian's SF2 spec test to regression tests
  Bump testdata ref
  Migrate test files from LFS to submodule
  Delete test files from Git LFS
  Bump to 2.4.1
  Smooth linear filter parameter change (FluidSynth#1432)
  Reenable AWE32 NRPN 23 and 24 (FluidSynth#1430)
  indentation issue
  Disable chorus for Uplift - it's too noisy in the middle part
  Add Klerg's renderings of Altitude and Uplift
  updated cmake build system * debug output for libsndfile, quieter output for pulseaudio * enhanced build summary report * revised building win32 binaries without unicode support
  add cmake output for sndfile issues
  Fix CI builds (FluidSynth#1435)
  Add test files for AWE32 NRPN (FluidSynth#1434)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants