Hi all,
In an effort to get organized and share work more effectively, I made git repos for some ongoing projects and some new ones. I've gotten to a stopping place for now, and uploaded the following items to deken. Note that these were packaged with deken 4.0, so you may need to update to find them. Here's a quick rundown:
******** [convolve~]: a partitioned impulse response convolution reverb - version 0.11 uses FFTW for non-power-of-2 window sizes and therefore finer control over delay. It includes an "eq" method for shaping the spectrum of the reverb in 25 Bark-frequency bands. It also accepts a second argument to specify an IR array for analysis at creation.
https://github.com/wbrent/convolve_tilde.git ********
******** [DRFX]: a dynamic routing system for DSP effects. (Pd-vanilla abstraction) - [DRFX] automatically creates a signal routing system and associated controls (routing matrix) based on inputs and effect modules that you specify. This allows you to make any type of series or parallel connection chain between your inputs and effects, and change routing on the fly. It also saves/loads complex routing presets, including effect parameter settings.
https://github.com/wbrent/DRFX.git ********
******** [martha~]: an oscillator bank designed to accept output from [sigmund~]'s sinusoidal tracking function. (Pd-vanilla abstraction) - Version 0.6 adds an option to toggle between oscillators and band-pass filtered white noise, and vibrato functionality.
https://github.com/wbrent/martha_tilde.git ********
******** [missive~]: a vector synth object. (Pd-vanilla abstraction) - [missive~] is a vector synth object that uses a wavetable index to crossfade between neighboring wavetables in a set. Wavetable sets can have an arbitrary number of wavetables, and are composed of individual .wav files that each contain one wavetable cycle. The length of each wavetable can be arbitrary because [missive~] adds the extra guard points required for Pd's 4-point interpolation scheme.
https://github.com/wbrent/missive_tilde.git ********
******** [streamStretch~]: a time-stretching/pitch-shifting/layering pastiche effect. (Pd-vanilla abstraction) - [streamStretch~] buffers multiple copies of incoming live audio and creates overlapping streams of time-stretched & transposed output that trail the input to achieve a variety of results.
https://github.com/wbrent/streamStretch_tilde.git ********
******** [timbreID]: an audio analysis and classification library - version 0.7.3 adds a few methods to the [tabletool] object: NRT overlap-add, permutations, and sequential output of table contents (like [list-drip] for tables). As of version 0.7, timbreID uses FFTW to allow for large and non-power-of-2 window sizes. Several basic time-domain objects were also added at 0.7.
https://github.com/wbrent/timbreID.git ********
******** [timeStretch~]: a polyphonic time compression/expansion sample player. (Pd-vanilla abstraction) - [timeStretch~] is built around the I07.phase.vocoder.pd example patch from Pd's built-in documentation, and adds functionality for changing sample arrays on the fly, 16-voice polyphony, predetermined playback duration, and indefinitely suspending time post-transient until a "release" command is issued.
https://github.com/wbrent/timeStretch_tilde.git ********
******** [tune~]: a real-time pitch correction object. (Pd-vanilla abstraction) - [tune~] tunes an input signal to any desired MIDI pitch while keeping formant structure relatively intact. It is an adaptation of the built-in Pure Data documentation patch I10.phase.bash.pd. While the original patch demonstrates the technique in separate analysis and playback stages, [tune~] is designed for real-time pitch correction.
https://github.com/wbrent/tune_tilde.git ********