~ubuntu-branches/ubuntu/saucy/pd-smlib/saucy

« back to all changes in this revision

Viewing changes to README.txt

  • Committer: Bazaar Package Importer
  • Author(s): Hans-Christoph Steiner
  • Date: 2010-11-10 15:17:58 UTC
  • Revision ID: james.westby@ubuntu.com-20101110151758-3acjf69kiudo3gh4
Tags: upstream-0.12.1
ImportĀ upstreamĀ versionĀ 0.12.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
    -----------------------------------------
 
2
    - SMLib : Signal processing for Mapping -
 
3
    -----------------------------------------
 
4
 
 
5
                                                        v0.12 date 20021125
 
6
 
 
7
1. Introduction
 
8
---------------
 
9
 
 
10
SMLib is an external objects library for PD (pure data). It complements PD
 
11
with a set of objects for vector processing, vector analysis, vector
 
12
synthesis, number stream analysis, number stream filters.
 
13
 
 
14
I was missing objects that could do dsp-like operations on control signals.
 
15
PD is event-driven by nature (except the dsp-objects and [delay], [metro],
 
16
...). A slider that does not change does not transmit anything.  Event-driven
 
17
events can be sampled by eg. using a [float] with a [metro] on its main input,
 
18
and a slider on its right inlet. SMLib has objects designed to process such
 
19
streams.  Eg. [lavg] is a leaky integrator, it smoothes abrupt changes. Leaky
 
20
processes are interesting in mapping because our attention is also leaky.
 
21
Eg. [hp] is a high-pass filter (just like [hp~]), and it only passes changes,
 
22
and decays to zero when there are no changes. Likewise our attention shifts
 
23
towards remarkable changes in our environment.  You can detect 'events' in
 
24
float streams with [threshold].  A vector is a list of floats.
 
25
 
 
26
These objects are suitable for gesture and high-level music analysis
 
27
prototyping.
 
28
 
 
29
This library is written by Johannes Taelman (johannes.taelman@rug.ac.be). The
 
30
code is free+open (GNU GPL license).  I have only tested/compiled the code on
 
31
win32, but porting to linux or macOs should be easy.
 
32
 
 
33
2. List of objects
 
34
------------------
 
35
 
 
36
processing stream of floats (context) (float output)
 
37
 
 
38
  lavg        leaky average
 
39
  lmax        leaky maximum
 
40
  lmin        leaky minimum
 
41
  lrange      leaky range
 
42
  lstd        leaky standard deviation
 
43
  decimator   passes 1 in n input values
 
44
  threshold   detection with hysteresis
 
45
  hip         first order high-pass filter
 
46
  bp          second order (resonant) high-pass filter
 
47
 
 
48
analyzing stream of floats (vector output)
 
49
 
 
50
  hist        histogram
 
51
  lhist       leaky histogram, clips samples
 
52
  lhisti      leaky histogram, ignore samples
 
53
                outside bins
 
54
  itov        bin index to value (for the histograms
 
55
  prevl       previous floats in a list
 
56
  deltas      difference between last float and
 
57
                previous floats
 
58
 
 
59
immediate vector analysis (float output)
 
60
 
 
61
  vsum        sum of vector elements
 
62
  vcog        center of gravity
 
63
  vmax        maximum and its location
 
64
  vmin        minimum and its location
 
65
  vrms        root mean square
 
66
  vstd        standard deviation
 
67
 
 
68
vector processors (vector output)
 
69
 
 
70
  vv+         vector addition
 
71
  vv-         vector substraction
 
72
  vvconv      vector convolution
 
73
  vclip       clip elements
 
74
  vfmod       floating point modulo
 
75
  vpow        power
 
76
  vthreshold  detections with hysteresises
 
77
 
 
78
unit conversions on vectors
 
79
 
 
80
  vftom       frequency to midi
 
81
  vmtof       midi to frequency
 
82
  vdbtorms    dB to rms
 
83
  vrmstodb    rms to dB
 
84
 
 
85
vector synthesis (vector output)
 
86
 
 
87
  linspace    linearly spaced vector
 
88
 
 
89
vector stream processing (vector output) (context)
 
90
 
 
91
  vlavg       leaky averages
 
92
  vlmax       leaky maxima
 
93
  vlmin       leaky minima
 
94
  vlrange     leaky ranges
 
95
  vdelta      difference between successive vectors
 
96
 
 
97
 
 
98
3. Installation
 
99
---------------
 
100
 
 
101
Requires PD on the win32 platform (for now). Put SMLib.dll in a directory in
 
102
your PD path. Put the help patches in pd\doc\5.reference.  
 
103
 
 
104
Start PD with "-lib SMLib"
 
105
 
 
106
4. Getting started
 
107
------------------
 
108
 
 
109
Start PD. 
 
110
 
 
111
Create a new patch.
 
112
 
 
113
Create an object [SMLib]
 
114
 
 
115
Right-click on this object after creation. Choose help.
 
116
 
 
117
This gives you the main SMLib patch with all objects and a brief explanation
 
118
of them. Choose help for the objects to get details.  Have a look at the
 
119
example patches for design ideas.
 
120
 
 
121
5. References
 
122
-------------
 
123
 
 
124
PD headquarters:
 
125
http://crca.ucsd.edu/~msp/software.html
 
126
http://iem.kug.ac.at/pd/
 
127
http://www.puredata.info