-
-
Notifications
You must be signed in to change notification settings - Fork 50
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
Implementing an official All Pass #78
Comments
Hello, thanks for your message, an all-pass filter would certainly be a welcome addition to the library! If you wanted to make a pull-request based on your code I'd be happy to merge it. If you're too busy to do it yourself, we will probably commit a good chunk of time to overhauling the library and adding new features over the next few months, in which case I'd be able to add your code (with attribution of course) myself. Best, |
Hi Kevin. Thanks for getting back to me. I'd be happy to write the code. With Processing-Sound being a popular library I'd appreciate it if you, or someone experienced with the package, ran a second pair of eyes over my the code before it is merged. Would that be OK? |
That would be great if you could also add an example! No worries we'd certainly go over all the code before it's packaged up and distributed. As you might have noticed, the library documentation on the Processing website is actually automatically generated from the Javadoc comments in the source files, so if you were feeling inspired you could already add appropriate Javadoc comments to your code, broadly following other effects classes e.g. https://github.com/processing/processing-sound/blob/master/src/processing/sound/BandPass.java Absolutely no worries if not, as I said we have a substantial codebase overhaul coming up, where documentation would be addressed anyway. |
Fantastic. DocsAh, I was wondering what @webref was all about. That's cool! Using a different jsyn objectChoosing musical coeffs for OnePoleOneZero was quite challenging even when I knew where to start. Advice for naming a method.Jsyn's FilterAllPass calls its unitport "gain" which makes sense from a digital signal processing perspective. I think gain may be confused with amplitude, especially since many processing users are not expected to have background in audio. package processing.sound;
import com.jsyn.unitgen.FilterAllPass;
import processing.core.PApplet;
public class AllPass extends Effect<FilterAllPass> {
public AllPass(PApplet parent) {
super(parent);
}
@Override
protected FilterAllPass newInstance() {
return new FilterAllPass();
}
public void drive(float g) {
this.left.gain.set(g);
this.right.gain.set(g);
}
public void process(SoundObject input, float g) {
this.drive(g);
this.process(input);
}
} |
Received note that this Allpass has been merged into main. I'm keen to have a look at how the documentation turns out based on the files from my branch. I'm still not quite sure how that's meant to update to the website but I'm sure it will turn up soon. Thanks again @kevinstadler for all your hard work. |
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.
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.
The text was updated successfully, but these errors were encountered: