Due to Github's determination to be the "world’s leading AI-powered developer platform" I will move my projects to Codeberg
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.
For all abstractions to load without any error you need the following libraries, available via deken:
- iemguts
- cyclone
- zexy
[bitcrusher~]: simple bitcrusher effect.
[distortion~]: simple distortion effect.
[normalize~]: normalizes the sound and removes offset.
[pan~]: equal volume pan for mono.
[pitchshift~], [pitchshift2~]: simple pitchshifter, each with its own
residual effects.
[vol-env~]: 16 step volume envelope with bypass.
[waveshaper~]: render incoming sound to base sounds.
[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
[bpmtoms]: converts beats per minute to milliseconds for each beat,
inverse of [mstobpm].
[integral]: integrates float values.
[mstobpm]: converts milliseconds for a beat to beats per minute, inverse
of [bpmtoms].
[mstofreq]: converts milliseconds to a frequency.
[note-vel-filter]: filters a stream of MIDI data to only capture MIDI on,
off and velocity.
[rec_play_switch]: two switches for starting recording and playing loops
for [note-vel-looper] and [sample-looper~].
[s2f]: converts symbol atoms to float atoms.
[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.
[switch-bang]: outputs bang alternatively on two outlets when receiving
a bang.
[switch-matrix]: routes inlets to 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.
Can be initialized with the number of inlets and outlets with up to 15, defaults to 4.
[switch-spigot]: outputs 1 and 0 alternatively on the two outlets, useful
for switching two spigot objects.
[symbollen]: gets the length of a symbol atom.
[timer-to-freq]: measures the time between a bang on the left side and
the right side and converts the timespan to frequency.
[trigger-filter]: filters a stream of 0s and 1s and only outputs a value
when a change is occuring.
[unwrap]: wraps around values at specified lower and upper bound, e.g.
useful for rotation data.
[breakbeat~]: loads a stereo sample of 8 beats length, slices it and plays
it back as a breakbeat with adjustable playback speed and pitch.
[live-sampler~]: records a sample and play it back as loops with MIDI notes.
Pitch of recorded loop is set to note 60, contains ADSR envelope, modulation
of playback pitch.
[live-sampler-box~]: a combination of [live-sampler~] and [sample-looper-box]
[note-vel-looper], [note-vel-looper-box]: records and plays back MIDI loops
with adjustable start and stop, can be synchronized with other instances
of itself and [sample-looper~] instances.
[sample-looper~], [sample-looper-box~]: records and plays back audio loops
with adjustable start, stop, playback speed and pitch, can be synchronized with
other instances of itself and [note-vel-looper] instances.
[pulsewidth~]: rectangle oscillator with pulsewidth modulation.
[triangle~]: Triangle wave oscillator.