Skip to content
@DiffAPF

DiffAPF

Supplementary materials and source code for the paper "Differentiable All-pole Filters for Time-varying Audio Systems".

Differentiable All-pole Filters for Time-varying Audio Systems

Chin-Yun Yu, Christopher Mitcheltree, Alistair Carson, Stefan Bilbao, Joshua D. Reiss, and György Fazekas

arXiv Listening Samples Plugins License

Abstract

Infinite impulse response filters are an essential building block of many time-varying audio systems, such as audio effects and synthesisers. However, their recursive structure impedes end-to-end training of these systems using automatic differentiation. Although non-recursive filter approximations like frequency sampling and frame-based processing have been proposed and widely used in previous works, they cannot accurately reflect the gradient of the original system. We alleviate this difficulty by re-expressing a time-varying all-pole filter to backpropagate the gradients through itself, so the filter implementation is not bound to the technical limitations of automatic differentiation frameworks. This implementation can be employed within audio systems containing filters with poles for efficient gradient evaluation. We demonstrate its training efficiency and expressive capabilities for modelling real-world dynamic audio systems on a phaser, time-varying subtractive synthesiser, and feed-forward compressor. We make our code and audio samples available and provide the trained audio effect and synth models in a VST plugin.


Citation

Accepted to the 27th International Conference on Digital Audio Effects (DAFx24), Guildford, United Kingdom, 3 - 7 September 2024.

@inproceedings{ycy2024diffapf,
    title={Differentiable All-pole Filters for Time-varying Audio Systems},
    author={Chin-Yun Yu and Christopher Mitcheltree and Alistair Carson and Stefan Bilbao and Joshua D. Reiss and György Fazekas},
    booktitle={International Conference on Digital Audio Effects (DAFx)},
    year={2024}
}

Pinned Loading

  1. EHX-SmallStone EHX-SmallStone Public

    Phaser experiments source code for "Differentiable All-pole Filters for Time-varying Audio Systems".

    Python 6

  2. TB-303 TB-303 Public

    Time-varying subtractive synth experiments source code for "Differentiable All-pole Filters for Time-varying Audio Systems".

    Python 26

  3. LA-2A LA-2A Public

    Feed-forward compressor experiments source code for "Differentiable All-pole Filters for Time-varying Audio Systems".

    Python 16 1

  4. torchlpc torchlpc Public

    Python 51 3

  5. torchcomp torchcomp Public

    Differentiable dynamic range controller in PyTorch.

    Python 45 1

Repositories

Showing 7 of 7 repositories
  • web Public

    Website for "Differentiable All-pole Filters for Time-varying Audio Systems".

    DiffAPF/web’s past year of commit activity
    2 0 0 0 Updated Oct 19, 2024
  • torchlpc Public
    DiffAPF/torchlpc’s past year of commit activity
    Python 51 MIT 3 6 1 Updated Oct 19, 2024
  • torchcomp Public

    Differentiable dynamic range controller in PyTorch.

    DiffAPF/torchcomp’s past year of commit activity
    Python 45 MIT 1 0 0 Updated Sep 11, 2024
  • TB-303 Public

    Time-varying subtractive synth experiments source code for "Differentiable All-pole Filters for Time-varying Audio Systems".

    DiffAPF/TB-303’s past year of commit activity
    Python 26 MPL-2.0 0 0 0 Updated Jun 19, 2024
  • .github Public

    Github organization README file.

    DiffAPF/.github’s past year of commit activity
    0 0 0 0 Updated Jun 17, 2024
  • EHX-SmallStone Public

    Phaser experiments source code for "Differentiable All-pole Filters for Time-varying Audio Systems".

    DiffAPF/EHX-SmallStone’s past year of commit activity
    Python 6 MPL-2.0 0 0 0 Updated Jun 10, 2024
  • LA-2A Public

    Feed-forward compressor experiments source code for "Differentiable All-pole Filters for Time-varying Audio Systems".

    DiffAPF/LA-2A’s past year of commit activity
    Python 16 MPL-2.0 1 0 0 Updated Jun 10, 2024

Top languages

Loading…

Most used topics

Loading…