Skip to content

Implementing an official All Pass  #78

Description

@pixmusix

Hello.

According to the documentation there is not an official AllPass filter for processing-sound available to the user.
There does appear to be some code for one in the source from 2018 used to implement other effects.

If we are interesting in creating one, I think it should be based on this object from jsyn.
http://www.softsynth.com/jsyn/docs/javadocs/com/jsyn/unitgen/FilterOnePoleOneZero.html

Using the already implemented lowpass filter as a guide, I propose something like the below.

packageprocessing.sound;
importcom.jsyn.unitgen.FilterOnePoleOneZero;
importprocessing.core.PApplet;
publicclassAllPassextendsEffect<FilterOnePoleOneZero> {
publicAllPass(PAppletparent) {
super(parent);
//init some reasonable values for a0, a1, b1.
}
@OverrideprotectedFilterOnePoleOneZeronewInstance() {
returnnewFilterOnePoleOneZero();
}
publicvoidcoeffs(floatinputCoeff, floatdelayedInputCoeff, floatdelayedOutputCoeff) {
//Some safety checks to ensure inputs are in a reasonable range.this.left.a0.set(inputCoeff);
this.left.a1.set(delayedInputCoeff);
this.left.b1.set(delayedOutputCoeff);
}
publicvoidprocess(SoundObjectinput, floata0, floata1, floatb1) {
this.coeffs(a0, a1, b1);
this.process(input);
}
}

Would the processing-sound team be interested in an allpass filter for processing-sound?

Thank you for your time and I'm looking forward to hearing from you.
Warm Regards, PixMusix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions