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.