aboutsummaryrefslogtreecommitdiff
path: root/readme.txt
diff options
context:
space:
mode:
Diffstat (limited to 'readme.txt')
-rw-r--r--readme.txt127
1 files changed, 127 insertions, 0 deletions
diff --git a/readme.txt b/readme.txt
new file mode 100644
index 0000000..12da712
--- /dev/null
+++ b/readme.txt
@@ -0,0 +1,127 @@
+ -----------------------------------------
+ - SMLib : Signal processing for Mapping -
+ -----------------------------------------
+
+ v0.12 date 20021125
+
+1. Introduction
+---------------
+
+SMLib is an external objects library for PD (pure data). It complements PD
+with a set of objects for vector processing, vector analysis, vector
+synthesis, number stream analysis, number stream filters.
+
+I was missing objects that could do dsp-like operations on control signals.
+PD is event-driven by nature (except the dsp-objects and [delay], [metro],
+...). A slider that does not change does not transmit anything. Event-driven
+events can be sampled by eg. using a [float] with a [metro] on its main input,
+and a slider on its right inlet. SMLib has objects designed to process such
+streams. Eg. [lavg] is a leaky integrator, it smoothes abrupt changes. Leaky
+processes are interesting in mapping because our attention is also leaky.
+Eg. [hp] is a high-pass filter (just like [hp~]), and it only passes changes,
+and decays to zero when there are no changes. Likewise our attention shifts
+towards remarkable changes in our environment. You can detect 'events' in
+float streams with [threshold]. A vector is a list of floats.
+
+These objects are suitable for gesture and high-level music analysis
+prototyping.
+
+This library is written by Johannes Taelman (johannes.taelman@rug.ac.be). The
+code is free+open (GNU GPL license). I have only tested/compiled the code on
+win32, but porting to linux or macOs should be easy.
+
+2. List of objects
+------------------
+
+processing stream of floats (context) (float output)
+
+ lavg leaky average
+ lmax leaky maximum
+ lmin leaky minimum
+ lrange leaky range
+ lstd leaky standard deviation
+ decimator passes 1 in n input values
+ threshold detection with hysteresis
+ hip first order high-pass filter
+ bp second order (resonant) high-pass filter
+
+analyzing stream of floats (vector output)
+
+ hist histogram
+ lhist leaky histogram, clips samples
+ lhisti leaky histogram, ignore samples
+ outside bins
+ itov bin index to value (for the histograms
+ prevl previous floats in a list
+ deltas difference between last float and
+ previous floats
+
+immediate vector analysis (float output)
+
+ vsum sum of vector elements
+ vcog center of gravity
+ vmax maximum and its location
+ vmin minimum and its location
+ vrms root mean square
+ vstd standard deviation
+
+vector processors (vector output)
+
+ vv+ vector addition
+ vv- vector substraction
+ vvconv vector convolution
+ vclip clip elements
+ vfmod floating point modulo
+ vpow power
+ vthreshold detections with hysteresises
+
+unit conversions on vectors
+
+ vftom frequency to midi
+ vmtof midi to frequency
+ vdbtorms dB to rms
+ vrmstodb rms to dB
+
+vector synthesis (vector output)
+
+ linspace linearly spaced vector
+
+vector stream processing (vector output) (context)
+
+ vlavg leaky averages
+ vlmax leaky maxima
+ vlmin leaky minima
+ vlrange leaky ranges
+ vdelta difference between successive vectors
+
+
+3. Installation
+---------------
+
+Requires PD on the win32 platform (for now). Put SMLib.dll in a directory in
+your PD path. Put the help patches in pd\doc\5.reference.
+
+Start PD with "-lib SMLib"
+
+4. Getting started
+------------------
+
+Start PD.
+
+Create a new patch.
+
+Create an object [SMLib]
+
+Right-click on this object after creation. Choose help.
+
+This gives you the main SMLib patch with all objects and a brief explanation
+of them. Choose help for the objects to get details. Have a look at the
+example patches for design ideas.
+
+5. References
+-------------
+
+PD headquarters:
+http://crca.ucsd.edu/~msp/software.html
+http://iem.kug.ac.at/pd/
+http://www.pure-data.org