From 733d100c246d55e4aa23f7ef9f9608b54f1e0ce0 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sat, 13 Feb 2010 16:23:12 +0000 Subject: renamed to standard name svn path=/trunk/externals/smlib/; revision=13170 --- README.txt | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ readme.txt | 127 ------------------------------------------------------------- 2 files changed, 127 insertions(+), 127 deletions(-) create mode 100644 README.txt delete mode 100644 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 diff --git a/readme.txt b/readme.txt deleted file mode 100644 index 12da712..0000000 --- a/readme.txt +++ /dev/null @@ -1,127 +0,0 @@ - ----------------------------------------- - - 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