aboutsummaryrefslogtreecommitdiff
path: root/pd/doc
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc')
-rw-r--r--pd/doc/3.audio.examples/A07.frequency.mod.pd54
-rw-r--r--pd/doc/3.audio.examples/A08.review.pd41
-rw-r--r--pd/doc/3.audio.examples/F14.wave.packet.pd112
-rw-r--r--pd/doc/5.reference/0.INTRO.txt153
4 files changed, 112 insertions, 248 deletions
diff --git a/pd/doc/3.audio.examples/A07.frequency.mod.pd b/pd/doc/3.audio.examples/A07.frequency.mod.pd
deleted file mode 100644
index aedb1cc1..00000000
--- a/pd/doc/3.audio.examples/A07.frequency.mod.pd
+++ /dev/null
@@ -1,54 +0,0 @@
-#N canvas 92 96 760 640 12;
-#X obj 259 168 *~;
-#X floatatom 259 83 0 0 0 0 - - -;
-#X floatatom 169 118 0 0 0 0 - - -;
-#X obj 169 188 +~;
-#N canvas 0 0 450 300 graph1 0;
-#X array fm-output 441 float 0;
-#X coords 0 1.02 440 -1.02 200 130 1;
-#X restore 527 40 graph;
-#X msg 244 228 bang;
-#X text 286 228 <-- click to graph;
-#X obj 244 252 tabwrite~ fm-output;
-#X floatatom 281 138 0 0 0 0 - - -;
-#X text 166 75 carrier;
-#X text 165 93 frequency;
-#X text 244 59 frequency;
-#X text 245 42 modulation;
-#X text 33 8 FREQUENCY MODULATION ("FM") USING TWO OSCILLATORS;
-#X obj 168 232 osc~;
-#X text 52 214 "carrier";
-#X text 34 232 oscillator -->;
-#X text 47 149 add modulator;
-#X text 46 167 to carrier;
-#X text 44 186 frequency -->;
-#X text 320 150 index;
-#X text 322 131 modulation;
-#X obj 259 108 osc~;
-#X text 531 172 --- 0.01 seconds ----;
-#X text 53 443 To get the FM sound \, set all three of carrier frequency
-\, modulation frequency \, and modulation index in the hundreds. Note
-that you get a timbral change as you sweep modulation index \, because
-this changes the amplitudes of the components of the output sound but
-not their frequencies.;
-#X obj 167 270 output~;
-#X text 489 613 updated for Pd version 0.37;
-#X text 54 332 This patch shows the classical FM synthesis technique
-developed by John Chowning. It's nothing but an oscillator with vibrato
-controlled by another "modulation" oscillator. First \, to understand
-the patch \, set carrier frequency to 400 or so \, modulation frequency
-between 5 and 10 \, and try modulation index values between 0 and 400
-\, say. You'll hear a sine wave with vibrato.;
-#X text 55 526 The component frequencies are equal to the carrier frequency
-\, plus or minus multiples of the modulator frequency. A more complete
-discussion of FM occurs in part 5 of this series.;
-#X connect 0 0 3 1;
-#X connect 1 0 22 0;
-#X connect 2 0 3 0;
-#X connect 3 0 14 0;
-#X connect 5 0 7 0;
-#X connect 8 0 0 1;
-#X connect 14 0 7 0;
-#X connect 14 0 25 0;
-#X connect 14 0 25 1;
-#X connect 22 0 0 0;
diff --git a/pd/doc/3.audio.examples/A08.review.pd b/pd/doc/3.audio.examples/A08.review.pd
deleted file mode 100644
index 9b190a19..00000000
--- a/pd/doc/3.audio.examples/A08.review.pd
+++ /dev/null
@@ -1,41 +0,0 @@
-#N canvas 36 68 701 588 12;
-#X text 444 542 updated for Pd version 0.34;
-#X text 39 14 PART 1 REVIEW;
-#X obj 66 131 tabwrite~;
-#X obj 66 105 line~;
-#X obj 54 298 +;
-#X obj 66 79 +~;
-#X obj 66 209 cos~;
-#X obj 66 157 osc~;
-#X obj 66 183 phasor~;
-#X obj 54 324 pack;
-#X obj 52 511 r;
-#X obj 53 487 s;
-#X obj 54 408 inlet;
-#X obj 53 462 f;
-#X obj 53 436 t;
-#X obj 54 378 dbtorms;
-#X obj 97 351 mtof;
-#X obj 54 350 ftom;
-#X obj 105 408 outlet;
-#X obj 66 235 dac~;
-#X text 26 52 So far we've seen these audio ("tilde") objects:;
-#X text 123 104 -- ramp generator;
-#X text 157 131 -- sampler (which we've only used for graphing so far)
-;
-#X text 111 157 -- a cosine wave oscillator;
-#X text 139 183 -- phase generator for making your own oscillator;
-#X text 112 209 -- cosine waveshape lookup;
-#X text 112 236 -- audio output ("digital/analog converter" -- a misnomer)
-;
-#X text 31 266 ... and these "control" objects:;
-#X text 145 349 -- frequency to pitch conversion;
-#X text 126 378 -- decibel to amplitude conversion;
-#X text 167 409 -- input and output to a subpatch;
-#X text 90 437 ("trigger") -- message ordering and conversion;
-#X text 93 462 ("float") -- store a (floating point) number;
-#X text 90 488 ("send") -- wireless message sending;
-#X text 91 513 ("receive") ... and receiving;
-#X text 106 78 (etc.) -- arithmetic on audio signals;
-#X text 92 296 (etc.) -- arithmetic;
-#X text 99 323 -- combine two or more values in a single message;
diff --git a/pd/doc/3.audio.examples/F14.wave.packet.pd b/pd/doc/3.audio.examples/F14.wave.packet.pd
new file mode 100644
index 00000000..bb6c92b2
--- /dev/null
+++ b/pd/doc/3.audio.examples/F14.wave.packet.pd
@@ -0,0 +1,112 @@
+#N canvas 448 73 647 779 12;
+#X floatatom 272 241 4 0 127 0 - - -;
+#X text 268 203 center;
+#X obj 272 308 line~;
+#X obj 272 285 pack 0 50;
+#X floatatom 205 246 4 0 127 0 - - -;
+#X text 153 204 fundamental;
+#X floatatom 397 252 4 0 127 0 - - -;
+#X obj 397 323 line~;
+#X obj 132 586 *~;
+#X obj 397 300 pack 0 50;
+#X obj 132 635 cos~;
+#X obj 206 310 mtof;
+#X obj 294 333 expr 1/$f1;
+#X obj 272 261 mtof;
+#X text 267 218 freq.;
+#X obj 272 357 *~;
+#X text 394 231 bandwidth;
+#X obj 397 274 mtof;
+#X obj 396 366 *~;
+#X text 437 358 divide by fundamental;
+#X text 149 220 (MIDI units);
+#X obj 136 720 output~;
+#X text 91 2 WAVE PACKETS AS ALTERNATIVE TO PAF;
+#X obj 79 421 phasor~;
+#X obj 471 479 +~ 0.5;
+#X obj 471 504 wrap~;
+#X text 442 424 second phase signal;
+#X text 443 439 out of phase from;
+#X text 441 456 first one;
+#X obj 132 658 +~ 1;
+#X obj 78 522 -~ 0.5;
+#X obj 135 692 +~;
+#X obj 77 586 *~;
+#X obj 77 609 cos~;
+#X obj 214 556 samphold~;
+#X obj 126 555 samphold~;
+#X obj 76 634 *~;
+#X obj 132 610 clip~ -0.5 0.5;
+#X obj 372 597 *~;
+#X obj 372 646 cos~;
+#X obj 372 669 +~ 1;
+#X obj 318 533 -~ 0.5;
+#X obj 317 597 *~;
+#X obj 317 620 cos~;
+#X obj 454 567 samphold~;
+#X obj 366 566 samphold~;
+#X obj 316 645 *~;
+#X obj 372 621 clip~ -0.5 0.5;
+#X obj 396 390 max~ 1;
+#X obj 205 285 - 12;
+#X text 375 755 updated for Pd version 0.40.;
+#X text 20 122 The patch is almost exactly like B13 (the overlapping
+sample) except that \, instead of using tabread~ we just use cos~ \,
+and that we control pulse width (for bandwidth) as well as wavetable
+transposition (for center frequency).;
+#X text 18 23 The stretched wavetable method is an alternative to the
+PAF generator \, slightly more expensive in processing time but with
+two advantages: first \, it is not patent encumbered (PAF patent runs
+out in 2011) and second \, it can be generalized to use samples instead
+of sinusoids to make complex spectral shapes.;
+#X connect 0 0 13 0;
+#X connect 2 0 15 0;
+#X connect 3 0 2 0;
+#X connect 4 0 49 0;
+#X connect 6 0 17 0;
+#X connect 7 0 18 0;
+#X connect 8 0 37 0;
+#X connect 9 0 7 0;
+#X connect 10 0 29 0;
+#X connect 11 0 12 0;
+#X connect 11 0 23 0;
+#X connect 12 0 15 1;
+#X connect 12 0 18 1;
+#X connect 13 0 3 0;
+#X connect 15 0 35 0;
+#X connect 15 0 45 0;
+#X connect 17 0 9 0;
+#X connect 18 0 48 0;
+#X connect 23 0 24 0;
+#X connect 23 0 30 0;
+#X connect 23 0 35 1;
+#X connect 23 0 34 1;
+#X connect 24 0 25 0;
+#X connect 25 0 41 0;
+#X connect 25 0 45 1;
+#X connect 25 0 44 1;
+#X connect 29 0 36 1;
+#X connect 30 0 8 0;
+#X connect 30 0 32 0;
+#X connect 31 0 21 0;
+#X connect 31 0 21 1;
+#X connect 32 0 33 0;
+#X connect 33 0 36 0;
+#X connect 34 0 8 1;
+#X connect 35 0 32 1;
+#X connect 36 0 31 0;
+#X connect 37 0 10 0;
+#X connect 38 0 47 0;
+#X connect 39 0 40 0;
+#X connect 40 0 46 1;
+#X connect 41 0 38 0;
+#X connect 41 0 42 0;
+#X connect 42 0 43 0;
+#X connect 43 0 46 0;
+#X connect 44 0 38 1;
+#X connect 45 0 42 1;
+#X connect 46 0 31 1;
+#X connect 47 0 39 0;
+#X connect 48 0 34 0;
+#X connect 48 0 44 0;
+#X connect 49 0 11 0;
diff --git a/pd/doc/5.reference/0.INTRO.txt b/pd/doc/5.reference/0.INTRO.txt
deleted file mode 100644
index 8f935404..00000000
--- a/pd/doc/5.reference/0.INTRO.txt
+++ /dev/null
@@ -1,153 +0,0 @@
-The "reference" section of the documentation should contain a patch
-demonstrating how to use each of Pd's classes. As of version 0.29, a complete
-list of "object" classes follows. Not included in this list are messages,
-atoms, graphs, etc. which aren't typed into object boxes but come
-straight off the "add" menu.
-
----------------------------- GLUE --------------------------------
-bang - output a bang message
-float - store and recall a number
-symbol - store and recall a symbol
-int - store and recall an integer
-send - send a message to a named object
-receive - catch "sent" messages
-select - test for matching numbers or symbols
-route - route messages according to first element
-pack - make compound messages
-unpack - get elements of compound messages
-trigger - sequence and convert messagess
-spigot - interruptible message connection
-moses - part a numeric stream
-until - looping mechanism
-print - print out messages
-makefilename - format a symbol with a variable field
-change - remove repeated numbers from a stream
-swap - swap two numbers
-value - shared numeric value
------------------------------- TIME ----------------------------------
-delay - send a message after a time delay
-metro - send a message periodically
-line - send a series of linearly stepped numbers
-timer - measure time intervals
-cputime - measure CPU time
-realtime -measure real time
-pipe - dynamically growable delay line for numbers
------------------------------- MATH ----------------------------------
-+ - * / pow arithmetic
-== != > < >= <= relational tests
-& && | || % bit twiddling
-mtof ftom powtodb rmstodb dbtopow dbtorms convert acoustical units
-mod div sin cos tan atan atan2 sqrt log exp abs higher math
-random lower math
-max min greater or lesser of 2 numbers
-clip force a number into a range
------------------------------- MIDI ----------------------------------
-notein ctlin pgmin bendin touchin polytouchin midiin sysexin - MIDI input
-noteout ctlout pgmout bendout touchout polytouchout midiout - MIDI output
-makenote - schedule a delayed "note off" message corresponding to a note-on
-stripnote - strip "note off" messages
------------------------------- TABLES----------------------------------
-tabread - read a number from a table
-tabread4 - read a number from a table, with 4 point interpolation
-tabwrite - write a number to a table
-soundfiler - read and write tables to soundfiles
------------------------------- MISC ----------------------------------
-loadbang - bang on load
-serial - serial device control for NT only
-netsend - send messages over the internet
-netreceive - receive them
-qlist - message sequencer
-textfile - file to message converter
-openpanel - "Open" dialog
-savepanel - "Save as" dialog
-bag - set of numbers
-poly - polyphonic voice allocation
-key, keyup - numeric key values from keyboard
-keyname - symbolic key name
--------------------------- AUDIO MATH ----------------------------------
-+~ -~ *~ /~ arithmetic on audio signals
-max~ min~ - maximum or minimum of 2 inputs
-clip~ - constrict signal to lie between two bounds
-q8_rsqrt~ - cheap reciprocal square root (beware -- 8 bits!)
-q8_sqrt~ - cheap square root (beware -- 8 bits!)
-wrap~ - wraparound (fractional part, sort of)
-fft~ - complex forward discrete Fourier transform
-ifft~ - complex inverse discrete Fourier transform
-rfft~ - real forward discrete Fourier transform
-rifft~ - real inverse discrete Fourier transform
-framp~ - output a ramp for each block
-mtof~, ftom~, rmstodb~, dbtorms~, rmstopow~, powtorms~ - acoustic conversions
--------------------------- AUDIO GLUE ----------------------------------
-dac~ - audio output
-adc~ - audio input
-sig~ - convert numbers to audio signals
-line~ - generate audio ramps
-vline~ - deluxe line~
-threshold~ detect signal thresholds
-snapshot~ - sample a signal (convert it back to a number)
-vsnapshot~ deluxe snapshot~
-bang~ - send a bang message after each DSP block
-samplerate~ get the sample rate
-send~ - nonlocal signal connection with fanout
-receive~ - get signal from send~
-throw~ - add to a summing bus
-catch~ - define and read a summing bus
-block~ - specify block size and overlap
-switch~ - switch DSP computation on and off
-readsf~ - soundfile playback from disk
-writesf~ - record sound to disk
--------------------- AUDIO OSCILLATORS AND TABLES ------------------------
-phasor~ - sawtooth oscillator
-cos~ - cosine
-osc~ - cosine oscillator
-tabwrite~ - write to a table
-tabplay~ - play back from a table (non-transposing)
-tabread~ - non-interpolating table read
-tabread4~ - four-point interpolating table read
-tabosc4~ - wavetable oscillator
-tabsend~ - write one block continuously to a table
-tabreceive~ read one block continuously from a table
--------------------- AUDIO FILTERS ------------------------
-vcf~ - voltage controlled filter
-noise~ - white noise generator
-env~ - envelope follower
-hip~ - high pass filter
-lop~ - low pass filter
-bp~ - band pass filter
-biquad~ - raw filter
-samphold~ - sample and hold unit
-print~ - print out one or more "blocks"
-rpole~ - raw real-valued one-pole filter
-rzero~ - raw real-valued one-zero filter
-rzero_rev~ rzero~, time-reversed
-cpole~, czero~, czero_rev - corresponding complex-valued filters
--------------------- AUDIO DELAY ------------------------
-delwrite~ - write to a delay line
-delread~ - read from a delay line
-vd~ - read from a delay line at a variable delay time
------------------------------- SUBWINDOWS ----------------------------------
-pd - define a subwindow
-table - array of numbers in a subwindow
-inlet - add an inlet to a pd
-outlet - add an outlet to a pd
-inlet~, outlet~ - signal versions of inlet, outlet
------------------------------- DATA TEMPLATES -----------------------------
-struct - define a data structure
-drawcurve, filledcurve - draw a curve
-drawpolygon, filledpolygon - draw a polygon
-plot - plot an array field
-drawnumber - print a numeric value
------------------------------- ACCESSING DATA ----------------------------
-pointer - point to an object belonging to a template
-get - get numeric fields
-set - change numeric fields
-element - get an array element
-getsize - get the size of an array
-setsize - change the size of an array
-append - add an element to a list
-sublist - get a pointer into a list which is an element of another scalar
-scalar - draw a scalar on parent
------------------------------- OBSOLETE ----------------------------
-scope~ (use tabwrite~ now)
-namecanvas
-template (use struct now)