/Puredata-abstractions

Some abstractions for Puredata that I find useful

Primary LanguagePure Data

Abstractions for Puredata 
-------------------------

This is a collection of abstractions that I have made for Puredata. I use
the Pd convention for adding a trailing tilde (~) to all objects, that
output or process audio. A lot of objects have accompaning help patches.

303-saw~: a sawtooth oscillator and envelope following low pass filter
for acid sounds, but unfortunately not really similar to 303.

bangonce: outputs only one bang, if the inlet receives a series of
1s. Useful for filtering MIDI data or data coming a comport object like
an arduino.

between: outputs a random float between two pre-defined values

bitcrusher~: simple bitcrusher effect.

bpmtoms: converts beats per minute to milliseconds for each beat,
inverse of mstobpm.

distortion~: simple distortion effect.

hoover~, hoover2~, hoover3~, hoover-phasor~: simple bass synth objects
for Dubstep basslines.

mstobpm: converts milliseconds for a beat to beats per minute, inverse
of bpmtoms.

mstofreq: converts milliseconds to a frequency.

normalize~: normalizes the sound and removes offset.

note-vel-filter: filters a stream of MIDI data to only capture MIDI on,
off and velocity.

note-vel-looper: records and plays back MIDI loops with adjustable
start and stop, can be synchronized with other instances of itself and
sample-looper~ instances.

phaser~: simple phaser effect, not to be confused with the built-in
sawtooth oscillator (phasor~)

pitchshift~, pitchshift2~: simple pitchshifter, each with its own
residual effects.

pulsewidth~: pulse oscillator with pulsewidth modulation.

rec_play_switch: two switches for starting recording and playing loops
for note-vel-looper and sample-looper~

sample-looper~: records and plays back audio loops with adjustable start,
stop and playback speed, can be synchronized with other instances of
itself and note-vel-looper instances.

shift-router: routes input to one of six outlets with another input
for switching the outlets, useful for usage with push-buttons on an
arduino etc.

squarewave~: squarewave oscillator.

switch-bang: outputs bang alternatively on two outlets when receiving
a bang.

switch-matrix-6x6: routes 6 inlets to 6 outlets. Rows correspond to
outlets, columns to inlets, so the toggle in row 1 column 2 routes the
input from inlet 2 to outlet 1, e.g. useful for toggling synchronization
of sample-looper~ instances.

switch-spigot: outputs 1 and 0 alternatively on the two outlets, useful
for switching two spigot objects.

timer-to-freq: measures the time between a bang on the left side and
the right side and converts the timespan to frequency.

timestretch~: stretches time of a sample while preserving the pitch,
may have granular sounds as a side effect.

trigger-filter: filters a stream of 0s and 1s and only outputs a value
when a change is occuring.