Dynamic Filter Plugin
© 2001-2003, Russell Borogove
Breather: Dynamic Filter Plugin
Inputs/Outputs: 2 in, 2 out
Parameters:
Parameter Name | Description | Range |
Filter Mode (Mode) | Type of filtering to apply | Bypass, 12dB/octave Lowpass, Highpass, Bandpass, or Notch, 24dB/octave Lowpass |
Live Filters (Live) | Number of independent filters used | 1 to 4 |
Synchronization Mode (Sync) | Clock source | Host or Internal |
Beat Divisor (Div) | Breath duration | 32nd Note to Double Whole Note |
Tempo | Breath cycle tempo in internal clock mode | 1 to 250 beats per minute |
Cycle Steps (Steps) | Number of Breath steps before cycle repeats | 1 to 32 steps |
Repeat Count (Count) | Number of times Breath cycle is repeated before shifting | 1 to 32 repeats |
Resonance (Reso) | Degree of filter resonance | 0.0 (no resonance) to 1.0 (self-oscillation) |
Minimum Frequency (Min) | Minimum filter cutoff frequency | 20Hz to 10000Hz |
Maximum Frequency (Max) | Maximum filter cutoff frequency | 20Hz to 10000Hz |
Sweep Speed (Sweep) | Speed of filter sweep at each Breath step | 0.0 (slow) to 1.0 (fast) |
General Description
Breather drives up to four independent, parallel filters in either lowpass, highpass, bandpass, or notch mode whose center frequencies shift in a cyclic pattern at the specified tempo, randomly moving between the specified minimum and maximum frequencies. After the pattern repeats for a specified number of times, a new pattern is generated.
When Sync is set to "Host", Breather synchronizes itself to the tempo of the VST host app, and if the Steps and Div controls are set properly, it will "breathe on the beat". When Sync is "Internal", Breather will "free-run" according to its Tempo control instead of syncing with the host.
The Steps and Div controls effectively set the time signature of the cycle: Div of "4th" and Steps of 3 are 3/4 time, etc. The Count control determines how many times the cycle is repeated before changing.
Each input channel is routed independently through the filters to the corresponding output channel. The filters sweep randomly between the specified minimum and maximum frequencies; with more filters enabled via the Live control, each filter sweeps through its own pattern. This may best be appreciated with the filters set to bandpass mode. Higher resonance settings will make the filter more "squeaky", to the point of self-oscillation at extreme settings.
At each step, the filter begins to sweep its cutoff frequency in a curve which starts off fast and slows as it approaches its target frequency. The Sweep control sets the overall sweep speed.
Development Notes, Known Bugs, and Limitations
Breather supersedes both Breathe Beat and Filter Swamp. It improves on the earlier plugins in that offers from 1 to 4 active filters, four different filtering modes, and stereo processing. Additionally, it allows a wider frequency sweep range and should be more stable at high frequencies.
Breather has not been tested in a wide variety of VST hosts. If it doesn't work right, please let me know so I can try to fix it.
Breather Revision History
v0.5 - Initial Release.
v0.6 - 2002/11/14 - GUI, Fixed active filters control.
- Added a custom interface.
- Fixed a bug which caused only one filter to be active regardless of the "active" setting.
- Reduced some parameter ranges for better precision.
- Added 24dB/octave lowpass filter.
v0.61 - 2002/11/15 - Bug Fix.
- Fixed a bug that prevented Breather working in some VST
hosts including Tracktion. I suspect this will fix problems
with it in Cubase as well but cannot test at this time.
v0.7 - 2003/2/18 - Host Sync.
- Added host sync (Sync) and time-signature (Div/Count)
capabilities.
- Fixed various GUI bugs.
- Internal clocking system entirely rewritten.
v0.71 - 2003/3/5 - Mono-Stereo Bridging.
- Breather now cooperates with hosts such as Orion to
bridge mono inputs to stereo; this makes it usable as an
insert effect with mono synths, for example.
v0.8 - 2003/3/27 - Sweep speed, denorm fix, performance improvements.
- Sweep speed control added.
- Denormalization bug fixed, eliminating CPU usage jump when processing silence. On a P3-800, usage could go well over 50%.
- Performance improvements in core loop. On a P3-800, went from 8% usage to 2% usage.
Terms
Breather is free to take and use as you will. If you like it, or if you don't like it, please drop me an e-mail telling me so.
If you make music with it, and make that music available to others, tell me that the music is available. That means if you sell CDs of your stuff, you tell me how to buy a CD; if you let people download MP3s for free, tell me where I can do the same.
This software may contain bugs, errors and other problems that could cause system or other failures and data loss. Consequently, it is provided to you as-is, and I disclaim any warranty or liability obligations of any kind.
If you wish to redistribute the software, please distribute it in its packaged .zip-file form, or another archive format, along with this documentation.
You have the right to decompile, disassemble, reverse-engineer, and modify the software for personal research and for fair-use purposes such as adapting the software for interoperation with other systems. I don't believe that I can legally take this right away from you, though some large companies might try. If you'd like access to the source code, it's possible we can work something out; drop me a line.
You do not have the right to reverse-engineer or modify the program in order to violate my copyright on the software, e.g. to distribute a version with "the serial numbers filed off".
Legals
Breather is copyright © 2001-2003 Russell Borogove.
http://www.tinygod.com/
VST™ is a trademark of Steinberg Soft- und Hardware GmbH.
http://www.steinberg.net/
AudioMulch is copyright ©1997-2003 Ross Bencina
http://www.audiomulch.com/