pure data abstractions
Clone or download
Latest commit c4ee130 Oct 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
counter don't signal end count on reset Jan 24, 2018
fft arg switch, bugfixes Apr 8, 2018
filters adding wooden Aug 22, 2018
gate smaller grains Feb 26, 2018
line adding lines May 11, 2018
markov fixing analysis input Feb 8, 2018
math_audio adding zerox Oct 6, 2018
math_control add dkselsort May 25, 2018
misc adding drumtrig Apr 18, 2018
mux adding vmux6/7/8 Dec 30, 2017
not-vanilla adding dkls Sep 21, 2018
osc adding curvesaw Aug 28, 2018
pulsar adding phase inlet Dec 18, 2017
structure simplifying dkfor Dec 30, 2017
sync add new syncs May 10, 2018
text adding textloop May 20, 2018
txt rename, port to text Feb 7, 2018
util rename to n prefix, add size argt Sep 26, 2018
LICENSE.txt did this not have a license before? Jan 5, 2018
README.md adding zerox Oct 6, 2018
dkattqpt.pd disable dump on start Dec 21, 2017
dkautowah~.pd fixing argts Nov 19, 2017
dkbangroute.pd more sensical trig order Jan 24, 2018
dkbitcrush~.pd fixing rate Mar 12, 2018
dkbitred~.pd moving pdkm abbstractions to here Mar 14, 2017
dkblkmn~.pd moving pdkm abbstractions to here Mar 14, 2017
dkchangebang~.pd adding changebang Jan 10, 2018
dkchoprd~.pd fix argt Feb 6, 2018
dkchorus~.pd bugfix Apr 8, 2018
dkcliktrak~.pd updating bc new vanctr Jan 10, 2018
dkcoinflip.pd adding coinflip Feb 26, 2018
dkcomppan~.pd adding dkcomppan~, dklinpan~ Apr 18, 2017
dkcospan~.pd adding dkcomppan~, dklinpan~ Apr 18, 2017
dkdelbank~.pd change defaults Jan 28, 2018
dkdellopbank~.pd change defaults Jan 28, 2018
dkdistort~.pd fixing div0 Jan 15, 2018
dkdownsamp~.pd moving pdkm abbstractions to here Mar 14, 2017
dkfbdel~.pd change defaults Jan 28, 2018
dkfbvdel~.pd change defaults Jan 28, 2018
dkflanger~.pd simplify inlets Feb 11, 2018
dkflipflop.pd add flipflop May 10, 2018
dkfor.pd fix order in dkfor/add dksndload-text Aug 17, 2018
dkfreqshift~.pd little cleanup Nov 20, 2017
dkgainenv~.pd moving pdkm abbstractions to here Mar 14, 2017
dkhamm~.pd moving pdkm abbstractions to here Mar 14, 2017
dkhannblock~.pd removing -1, sounds better? Feb 26, 2018
dkhannmaker.pd moving pdkm abbstractions to here Mar 14, 2017
dkhannnorm~.pd moving pdkm abbstractions to here Mar 14, 2017
dkhann~.pd adding dkhann~ Aug 18, 2017
dkincwritepos~.pd moving pdkm abbstractions to here Mar 14, 2017
dkincwrite~.pd moving pdkm abbstractions to here Mar 14, 2017
dkincwr~.pd moving pdkm abbstractions to here Mar 14, 2017
dkint~.pd moving pdkm abbstractions to here Mar 14, 2017
dkkarplus~.pd moving pdkm abbstractions to here Mar 14, 2017
dkkeysend.pd fixing dkkeysend Mar 26, 2017
dkkeytonum.pd adding keytonum Dec 28, 2017
dklinpan~.pd adding dkcomppan~, dklinpan~ Apr 18, 2017
dklisttoclone.pd adding listtoclone Jan 23, 2018
dkliverev~.pd adding liverev~ Apr 16, 2018
dklooper~.pd clearing looper on record Apr 16, 2018
dkloopgrn~.pd adding array argt Jan 12, 2018
dkloopwin~.pd moving pdkm abbstractions to here Mar 14, 2017
dkmbang.pd adding count Feb 3, 2018
dkmbang_r.pd more sensible inlet order Jan 11, 2018
dkmidirt.pd moving pdkm abbstractions to here Mar 14, 2017
dkmiditonote.pd adding miditonote Feb 9, 2018
dknarray.pd rename to n prefix, add size argt Sep 26, 2018
dknobu~.pd code cleanup Apr 5, 2018
dknot.pd moving pdkm abbstractions to here Mar 14, 2017
dknotetomidi.pd rename note2midi Jan 3, 2018
dknsndload.pd rename to n prefix, add size argt Sep 26, 2018
dkoneShotM.pd moving pdkm abbstractions to here Mar 14, 2017
dkoneShotS.pd moving pdkm abbstractions to here Mar 14, 2017
dkoutput~.pd dkoutput~: adding mute Mar 21, 2017
dkpaulstretch~.pd moving pdkm abbstractions to here Mar 14, 2017
dkphaser~.pd fixing argts Nov 19, 2017
dkphasevoc~.pd moving pdkm abbstractions to here Mar 14, 2017
dkphsrd~.pd adding array size outlet Jan 12, 2018
dkpitchwrite~.pd pitchwrite incomplete Oct 1, 2017
dkpolargraph~.pd dkpolargraph~: adding inlet Apr 8, 2017
dkpolyish1.pd moving pdkm abbstractions to here Mar 14, 2017
dkpshift~.pd change argt default Feb 6, 2018
dkpulsewidth~.pd moving pdkm abbstractions to here Mar 14, 2017
dkroute2~.pd adding route2 Nov 25, 2017
dkschroeder1~.pd adding dkschroeder2~ May 8, 2017
dkschroeder2~.pd adding dkschroeder2~ May 8, 2017
dkselector.pd moving pdkm abbstractions to here Mar 14, 2017
dkseqgen1.pd moving pdkm abbstractions to here Mar 14, 2017
dksfm~.pd oops Nov 22, 2017
dksisascl~.pd adding dkloopgrn~, dksisascl~ Nov 5, 2017
dksndchopgrn~.pd fixing arg Apr 20, 2018
dksndchop~.pd adding symbolcheck Mar 17, 2018
dksndload-text.pd get rid of print Aug 17, 2018
dksndtrig2~.pd adding sndtrig2~ May 25, 2018
dksndtriggrn~.pd adding float triggering Aug 31, 2018
dksndtrig~.pd adding float triggering Aug 31, 2018
dkspigot2~.pd adding dkspigot(2)~ Dec 31, 2017
dkspigot~.pd adding dkspigot(2)~ Dec 31, 2017
dkstbal~.pd rename dkstpan to bal, fix algo Aug 20, 2018
dkstrippoly.pd moving pdkm abbstractions to here Mar 14, 2017
dkstrippoly2.pd moving pdkm abbstractions to here Mar 14, 2017
dkstutter~.pd code cleanup Dec 31, 2017
dkswing.pd moving pdkm abbstractions to here Mar 14, 2017
dkswitch2~.pd adding switch2, adding transpose to syncgrn Nov 26, 2017
dksymbolcheck.pd shouldn't loadbang Jan 27, 2018
dksymbollen.pd adding symbollen Jan 23, 2018
dksyncb.pd moving pdkm abbstractions to here Mar 14, 2017
dksyncf.pd moving pdkm abbstractions to here Mar 14, 2017
dktaptempo.pd add taptempo, mstobpm Jan 26, 2018
dktimegate.pd adding timegate Feb 24, 2018
dktimer.pd adding dktimer Apr 20, 2018
dktport.pd moving pdkm abbstractions to here Mar 14, 2017
dktrgrnstr~.pd adding array argt Jan 12, 2018
dktrigrd~.pd rewrite Feb 21, 2018
dktukeymaker.pd moving pdkm abbstractions to here Mar 14, 2017
dkvanadsrexp~.pd fix issues with decay trig Aug 15, 2018
dkvanadsr~.pd fix issues with decay trig Aug 15, 2018
dkvandrk.pd moving pdkm abbstractions to here Mar 14, 2017
dkvanmbang.pd moving pdkm abbstractions to here Mar 14, 2017
dkvanphs~.pd moving pdkm abbstractions to here Mar 14, 2017
dkvbqar~.pd adding dkschroeder1~ May 2, 2017
dkvisclock.pd moving pdkm abbstractions to here Mar 14, 2017
dkvmetrox.pd adding 8th subdiv Jan 30, 2018
dkvmetrox_grp.pd adding reset Apr 1, 2018
dkvmetrox_grprcv.pd adding grprcv Feb 3, 2018
dkvmetrox_rcv.pd adding subdiv 8 Feb 3, 2018
dkvscaledeg.pd fixing negative degrees Feb 15, 2018
dkvuzi.pd fixes Nov 24, 2017
dkxgrn~.pd adding symbolcheck Mar 17, 2018
dkxor.pd moving pdkm abbstractions to here Mar 14, 2017

README.md

pdkvabs - released under gpl v3.0

vanilla abstractions

(before use, put subfolder contents besides the util folder into main pdkvabs folder)

(also note that this is for personal use and VERY subject to change/renaming so I suggest this repo mainly for educational use)

GENERAL

  • dkattqpt - record attack locations in a soundfile
  • dkautowah~ - automatic wah based on envelope following
  • dkbangroute - route bangs with bangs
  • dkbitcrush~ - bit-resolution/sample-rate reducer
  • dkblkmn~ - generates blackman window according to input from 0 to 1.
  • dkchangebang~ - bang when detecting changes in a signal
  • dkchoprd~ - triggered chopped array reader (analogue to dksndchop)
  • dkcliktrak~ - click track/metronome
  • dkcoinflip - output 1 a given pct of the time else 0
  • dkdelbank~ - delay bank
  • dkdellopbank~ - delay bank with lowpass filtering
  • dkdistort~ - distortion waveshaper
  • dkdownsamp~ - audio-signal downsampler.
  • dkfbdel~ - simple delay with fb
  • dkfbvdel~ - simple delay with fb (signal delay time)
  • dkfft/fftbinwipe~ - fft bin wiper ported from SuperCollider's PV_BinWipe
  • dkfft/fftcomp~ - spectral compressor based on 5.Spectral-Compressor by Alexander Torres Porres.
  • dkfft/fftconvolve~ - fft convolver
  • dkfft/fftcross~ - spectral cross-synthesis based on 1.Cross-Synthesis by Alexander Torres Porres.
  • dkfft/fftgain~ - spectral filter with traceable gain.
  • dkfft/fftgate~ - spectral gate (requires zexy).
  • dkflipflop - like a tgl but without graphics
  • dkfor - for loop
  • dkfreqshift~ - frequency shifter via single sideband modulation
  • dkgainenv~ - traceable gain envelope
  • dkincwr~ - incremental tabwriter
  • dkint~ - "typecast" signals to integer
  • dkincwritepos~ - incremental tabwrite~ with sample position table
  • dkkarplus~ - karplus-strong synth
  • dkkeysend - send globally via prefixed key
  • dkkeytonum - maps keys to numbers sequentially by row
  • dklisttoclone - distribute list to clone instances
  • dkliverev~ - live reverser
  • dklooper~ - looper
  • dkloopwin~ - signal-driven loop windowing
  • dkmbang - multiple banger
  • dkmbang_r - multiple banger (but randomly gated)
  • dkmiditonote - midi notes to note names
  • dkmidirt - abstraction to handle midi real-time message
  • dknarray - batch array definer
  • dknobu~ - sample chopper abstraction
  • dknot - control-rate bitwise not
  • dknotetomidi - note names (case-insensitive) to midi notes
  • dknsndload - batch loading of sound files into arrays
  • dkoneShotM - a one-shot sample player, left inlet takes a bang to trigger playback, right inlet takes a path for file.
  • dkoneShotS - stereo version
  • dkpaulstretch~ - slightly modified/cleaned up martin brinkmann's (mmb) small_paul1 paulstretcher for use as an abstraction. Unlike small_paul1, it rounds window sizes to the nearest power of 2 and accept signals as position input.
  • dkpshift~ - rotating tape head pitchshifter
  • dkphasevoc~ - a phase vocoder abstraction lifted from Miller Puckette's I07.phase.vocoder from the help files. Like tabread4~, hot signal inlet indexes by sample. First arg is array name, second is window size.
  • dkphsrd~ - phasor sound reader abstraction
  • dkpolargraph~ - graph a real fft analysis in polar coords
  • dkpolyish1 - polyish abs with no note off
  • dkpulsewidth~ - pulse width modulation
  • dkroute2~ - one to two signal router
  • dkselector - a row of 32 toggle boxes whose values are stored in an array (name passed by argument, requires cyclone)
  • dkseqgen1 - timed random sequence generator
  • dksisascl~ - SIne SAmple SCaLer
  • dksndchop~ - sound chopper
  • dksndchopgrn~ - granular sound chopper
  • dksndload-text - load from a [text]-based path/array manifest
  • dksndtrig~ - triggered sound player
  • dksndtrig2~ - triggered sound player with modulatable rate
  • dksndtriggrn~ - triggered granular sound player
  • dkspigot~ - control-rate spigot for audio signals
  • dkspigot2~ - audio-rate spigot for audio signals
  • dkstrippoly - a poly without noteoff messages (or zero velocity notes)
  • dkstutter~ - a delay-based stutter effect
  • dkswitch2~ - choose between 2 different signal inputs
  • dksymbolcheck - bangs for empty symbol, else passes symbol
  • dksymbollen - length of a symbol
  • dkswing - bang swinger
  • dksyncb - synchronized banger
  • dksyncf - synchronized floats
  • dktaptempo - deduce tempo from incoming bangs
  • dktimegate - limit messages to 1 per x time units
  • dktimer - simple wrapper around timer
  • dktport - a fancy counter with beats, subdivisions, and measures.
  • dktrigrd~ - triggered array reader
  • dkoutput~ - output abstraction
  • dkvanadsr~ - vanilla adsr envelope
  • dkvanadsrexp~ - vanilla exponential adsr envelope
  • dkvandrk - vanilla drunk random number generator
  • dkvanphs~ - vanilla 3-delay line phaser/chorus effect
  • dkvgcld~ - vanille grain cloud
  • dkvisclock - visual clock
  • dkvmetrox - vanilla metro divider
  • dkvmetrox_grp - grouper for dkvmetrox
  • dkvmetrox_rcv - receiver for dkvmetrox
  • dkvmetrox_grprcv - receiver for dkvmetrox_grp
  • dkvscaledeg - maps scale degrees to midi notes (borrowing from SC's Scale)
  • dkvuzi - vanilla uzi/multiple banger
  • dkxor - control-rate bitwise xor

COUNTER

  • dktimedctr- on bang, output floats counting up to x
  • dkvanctr - vanilla counter (can go both up and down)

DELAY-BASED

  • dkchorus~ - chorus
  • dkflanger~ - flanger
  • dkphaser~ - phaser

GATE

  • dklegate - let through floats lesser or equal to x
  • dkgegate - let through floats greater or equal to x
  • dkrgate - let through anything x% of the time
  • dknzgate - only let nonzero floats through

GRANULAR

  • dktrgrnstr~ - live granular stretcher (uses dksyncgrn~)
  • dkxgrn~ - granular stretcher
  • dkloopgrn~ - granular synchronized looper based on dksyncgrn~

FFT

  • dkfftgate~ - spectral gating (above or below)
  • dkfftconvolve~ - spectral non-partitioned convolution
  • dkfftcross~ - spectral cross-synthesis
  • dkfftdelay~ - spectral delay
  • dkfftfilt~ - spectral filtering
  • dkhannnorm~ - normalization for hann windowing (and overlapping) in an fft transform
  • dkvanpaul~ - vanilla paulstretcher
  • dkvanpvoc~ - vanilla phase vocoder

FILTERS

  • dkdecay~ - exponential decay (port of SuperCollider's Decay UGen)
  • dkdecay2~ - exponential attack+decay (port of SuperCollider's Decay2 UGen)
  • dkringer~ - two-pole resonating filter (zeroes at +/- 1) with ring time arg
  • dkringerbank~ - a bank of resonating filters (dkringer~), handy for modal synthesis
  • dkringerpreset - presets for dkringerbank~
  • dkvancomp~ - vanilla compressor/limiter
  • dkvap1o~ - first-order allpass filter (control inlet for cutoff)
  • dkvap1os~ - first-order allpass filter (signal inlet for cutoff)
  • dkvap1os~ - second-order allpass filter (control inlets for cutoff and q)
  • dkvhp1o~ - first-order highpass filter (control inlet for cutoff)
  • dkvhp1os~ - first-order highpass filter (signal inlet for cutoff)
  • dkvlp1o~ - first-order lowpass filter (control inlet for cutoff)
  • dkvlp1os~ - first-order lowpass filter (signal inlet for cutoff)
  • dkvbp2o~ - second-order bandpass filter (control inlets for cutoff and q)
  • dkvbr2o~ - second-order bandreject filter (control inlets for cutoff and q)
  • dkvapcomb~ - allpass filter from two combs
  • dkvfbcomb~ - feedback comb filter

LINE

dklineexp - exponential line dklineexp~ - exponential line~ dkvlineexp~ - exponential vline~

MARKOV

  • dkvmarkov1o - vanilla first-order markov analysis/generator
  • dkvmarkov2o - vanilla second-order markov analysis/generator

MATH (AUDIO)

  • dkcmult~ - multiplication of two complex signals.
  • dkcnorm~ - normalization of a complex.
  • dkcdiv~ - division of two complex signals.
  • dkeq~ - equal to
  • dkge~ - greater than or equal to
  • dkgt~ - greater than
  • dkle~ - less than or equal to
  • dklt~ - less than
  • dkne~ - not equal to
  • dknum~ - signal to float
  • dkrandom~ - abstraction simulating the output of the Max/MSP rand~ object.
  • dkrange~ - range mapping (audio rate)
  • dksin~ - signal-rate sine (input range 0-1)
  • dkzerox~ - detect zero crossings
  • dkzerox_tr~ - send bangs out for zero crossings

MATH (CONTROL)

  • dk0bltodec - binary list to base 10
  • dkdecto0bl - base 10 to binary list
  • dk2dto1d - 2d (x y) to 1d coords (successive rows of x)
  • dkaccum - running sum
  • dkbpmtoms - bpm to ms
  • dkdecrease - detect decreases
  • dkdrunk - a vanilla version of drunk
  • dkdrunk2 - drunk with floats
  • dkeqtemp - degree to equal temperament in Hz (EDO)
  • dkeqtemp_scl - specify custom scales for use with dkeqtemp (EDO scales)
  • dkexp_r - reciprocal exponential
  • dkfloor - floor float input
  • dkfround - round float
  • dkfdec - get decimal part of float
  • dkfdectol - pass float if within decimal tolerance of int
  • dkfreqtoms - frequency (Hz) to period in ms
  • dkhztorad - linear freq (Hz) to angular freq (rad/s)
  • dkincrease - detect increases
  • dkmstobpm - ms to beats per minute
  • dkmstosamp - ms to samples
  • dknearest - floor to the nearest grain
  • dknearest - round to the nearest grain
  • dknearpow2 - rounds input to a power of 2
  • dkrandi - random int within a given range
  • dkrange - range mapping (control rate)
  • dkrdiv - vanilla reverse division
  • dkround - rounds floats to nearest ints
  • dkpeakenv - peak envelope for float input stream
  • dkpow - vanilla reverse power
  • dkrrand - random number in a given range
  • dkrsub - vanilla reverse subtraction
  • dkrunmax - running maximum
  • dkrunmin - running minimum
  • dksamptoms - samples to ms
  • dkselsort - selection sort on a list of floats
  • dkunit2ms - ms calculator
  • dkunique - flag input as unique (or not)
  • dkvavg - vanilla float averager
  • dkvrgauss - vanilla random number generator with gaussian distribution (i think) using the Marsaglia polar method
  • dkwrap - wrap with argument (like zexy's wrap)

MODULATION

  • dksfm~ - simple/signal-inlet (for mod idx) frequency modulation synthesis

MUX

  • dkvmux - dynamically patched version of input multiplexing
  • dkvmux2/3/4/5/6/7/8 - vanilla multiplexer (control)

OSC

  • dkcurvesaw~ - sawtooth oscllator with curvature
  • dkoscdetune2~ - osc~ + detuned osc~
  • dkoscdetune3~ - osc~ + 2 detuned osc~s
  • dktaboscdetune2~ - tabosc4~ + detuned tabosc4~
  • dktaboscdetune3~ - tabosc4~ + 2 detuned tabosc4~s
  • dkvanssimp~ - triggered single-sample impulse
  • dksaw~ - saw oscillator
  • dksq~ - pulse-wave oscillator
  • dktri~ - triangle oscillator

REVERB

  • dkschroeder1~ - a schroeder reverb (1-in,4-out)
  • dkschroeder2~ - satrev chowning schroeder reverb (1-in, 2-out)

PANNING

  • dkcomppan~ - -4.5 dB panner (compromise panner)
  • dkcospan~ - cosine-based equal-power panner
  • dklinpan~ - linear panner
  • dkstbal~ - stereo-to-stereo panning (aka balance)

PULSAR SYNTHESIS

  • dkpulsar~ - pulsar synthesis (unwindowed)
  • dkpulsar-hann~ - pulsar synthesis with hann window

STRUCTURE

  • pdkst-init - clear scalars and init iterating over given element
  • pdkst-nth - get nth scalar of a structure
  • pdkst-textdefine - emulate [text define] methods for text struct member

SYNC

  • dkanysync - sync anything
  • dkbangsync - bang syncer
  • dkfloatsync - sync floats
  • dksymsync - sync symbols
  • dkptrsync - sync pointers

TEXT

-dktextlooper - looping sequencer built around [text sequence -g]

  • pdktext-getval - get value from associated key (treating text like a hash table)

WINDOWING

  • dkhamm~ - generates hamming window according to input 0 to 1.
  • dkhann~ - generates hann window according to input 0 to 1
  • dkhannmaker - constructs hann window. args are array name where window is stored, window size, and overlap.
  • dkhannnorm~ - normalizes an incoming signal according to hann window (usu. after an ifft~). args are window size and overlap.
  • dktukeymaker - tukey window constructor. ideal for grain envelopes.

MISC

  • dklogidy - abstraction to deal with default settings of logidy umi3
  • dkdrumtrig~ - detecting triggers from a contact-mic and mapping to usable parameters

NOT-VANILLA ABSTRACTIONS

  • dkamixer~ - abstraction over ggee/shell to set volume with amixer (Linux only)
  • dkls - grab contents of directory as list (requires ggee/shell)