Need help creating sound filters/effects

Hello Audaciters!



For the past few months I was working on an open-source program called Flanger, a sound effects creation (and editing) program, in a non linear nodes GUI - each node takes input (or create it), manipulate and send it through it’s output port.
Sound creation and manipulation is done by creating and connecting various nodes of different types, each takes it’s input stream, and output a modified audio stream to the connected nodes, allows the creation of complex effects in an intuitive way.
Flanger also support “Expressions” (as in After Effects), which let the user use scripting in node properties. For example, the node “Wave” (creates a waveform) has a property called “Hz” which is the “cycle” length. Instead of a constant value, by using expression the Hz can be set to a variable number depends on time which would cause a change in pitch over time (as can be seen here, each wave’s Hz is changed over time according to the wave output of another node).

Current State
The platform is at a pretty advanced state, allowing the user to manage nodes and connections, play the result and save the project. Main feature still missing is loops (for example, ‘input file → [delay → add → loop 5 times] → output’ would create an echo).

Technical
Flanger is using QT for GUI, synchronization, scripting and more. Also uses PortAudio for playing, libsndfile for reading and writing files and libsamplerate (Secret Rabbit Code :wink: ) for samplerate conversion.
The sourcecode is hosted on Sourceforge: http://sourceforge.net/p/flanger/
Note: There is NO binary in Sourceforge, but if you download the source you can run ‘qmake && make’.


Why am I posting it here?
I think Flanger has a lot of potential, but currently, there are very few sound filters/effects (it even lacks some basic ones as low/high/band filters). I’m a C++ developer, not a DSP specialist. I need the help of you, people who knows some sound processing, to help me write more plugins (e.g. node types).
If you have a pseudo-code or an algorithm in your mind of a sound filter or effect, please send me it (here, or to my mail: vbCrLf at GMail). Please devote a few minutes to write the algorithm and I’ll do the rest of the plugin coding (interface, etc). Will appreciate any help!


Thank you,
Ori.

Would it be appropriate to build in support for DSP plug-ins?
Audacity currently supports LADSPA plug-ins, VST effects (Windows) and Audio Units (Mac).
Audacity also has “Nyquist” built in. Nyquist is a high level scripting language, available in the stand-alone version from here: http://www.cs.cmu.edu/~music/music.software.html

There are many GPL v2 Nyquist scripts available from here: http://audacityteam.org/download/nyquistplugins and here: http://wiki.audacityteam.org/wiki/Download_Nyquist_Plug-ins and some additional ones have been posted in this forum here: http://forum.audacityteam.org/viewforum.php?f=39

There is an introduction to Nyquist programming here: http://audacityteam.org/help/nyquist
and some information about writing Nyquist plug-ins for Audacity here: http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/devel/audacity-nyquist-en.htm

With a little understanding of Nyquist programming it should be quite easy to take apart some of the Audacity/Nyquist plug-ins to examine the algorithms. For a more in depth understanding of how this is implemented you may want to look at the Nyquist source code.

For information about LADSPA plug-ins, see here: http://www.ladspa.org/
and for the successor of LADSPA, see LV2 plug-ins: http://lv2plug.in/