From da1f0065d07250b86b9a761b012987e4825f491f Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 28 Nov 2005 16:53:25 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r4068, which included commits to RCS files with non-trunk default branches. svn path=/trunk/externals/smlib/; revision=4069 --- readme.txt | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 readme.txt (limited to 'readme.txt') 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 -- cgit v1.2.1