- Reestructuración de ficheros y directorios general
- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
This commit is contained in:
parent
c9adfd020b
commit
e85d191b46
3100 changed files with 775434 additions and 3073 deletions
10
pd-0.44-2/doc/3.audio.examples/A00.intro.pd
Normal file
10
pd-0.44-2/doc/3.audio.examples/A00.intro.pd
Normal file
|
@ -0,0 +1,10 @@
|
|||
#N canvas 440 252 579 286 12;
|
||||
#X text 87 6 INTRODUCTION TO THE PD AUDIO EXAMPLE PATCHES;
|
||||
#X text 328 257 updated for Pd version 0.37;
|
||||
#X text 34 45 This is the second of three tutorial series on Pd. This
|
||||
one shows the time-domain audio processing features. (The first one
|
||||
showed how to use Pd to do "control" computations \, and the third
|
||||
is about frequency-domain techniques.);
|
||||
#X text 33 125 These patches are accompanied by an ONLINE BOOK:;
|
||||
#X text 100 158 http://www.crca.ucsd.edu/~msp/techniques.htm;
|
||||
#X text 37 189 which develops the underlying theory.;
|
9
pd-0.44-2/doc/3.audio.examples/A00.intro.txt
Normal file
9
pd-0.44-2/doc/3.audio.examples/A00.intro.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
This is the second of three tutorial series on Pd. This one shows the
|
||||
time-domain audio processing features. (The first one showed how to use Pd to
|
||||
do "control" computations, and the third is about frequency-domain techniques.)
|
||||
|
||||
These patches are accompanied by an ONLINE BOOK:
|
||||
|
||||
http://www.crca.ucsd.edu/~msp/techniques.htm
|
||||
|
||||
which develops the underlying theory.
|
32
pd-0.44-2/doc/3.audio.examples/A01.sinewave.pd
Normal file
32
pd-0.44-2/doc/3.audio.examples/A01.sinewave.pd
Normal file
|
@ -0,0 +1,32 @@
|
|||
#N canvas 6 2 588 513 12;
|
||||
#X obj 108 109 osc~ 440;
|
||||
#X obj 108 168 dac~;
|
||||
#X text 187 111 <-- 440 Hz. sine wave at full blast;
|
||||
#X obj 108 138 *~ 0.05;
|
||||
#X text 202 3 MAKING A SINE WAVE;
|
||||
#X text 32 195 Audio computation can be turned on and off by sending
|
||||
messages to the global "pd" object as follows:;
|
||||
#X msg 98 239 \; pd dsp 1;
|
||||
#X msg 202 239 \; pd dsp 0;
|
||||
#X text 113 276 ON;
|
||||
#X text 222 276 OFF;
|
||||
#X text 29 297 You should see the Pd window change to reflect whether
|
||||
audio is on or off. You can also turn audio on and off using the "audio"
|
||||
menu \, but the buttons are provided as a shortcut.;
|
||||
#X text 30 368 When DSP is on \, you should hear a tone whose pitch
|
||||
is A 440 and whose amplitude is 0.05. If instead you are greeted with
|
||||
silence \, you might want to read the HTML documentation on setting
|
||||
up audio.;
|
||||
#X text 28 434 In general when you start a work session with Pd \,
|
||||
you will want to choose "test audio and MIDI" from the help window
|
||||
\, which opens a more comprehensive test patch than this one.;
|
||||
#X text 296 247 <-- click these;
|
||||
#X text 187 139 <-- reduce amplitude to 0.05;
|
||||
#X text 160 168 <----- send to the audio output device;
|
||||
#X text 32 23 Audio computation in Pd is done using "tilde objects"
|
||||
such as the three below. They use continuous audio streams to intercommunicate
|
||||
\, as well as communicating with other ("control") Pd objects using
|
||||
messages.;
|
||||
#X text 342 490 updated for Pd version 0.36;
|
||||
#X connect 0 0 3 0;
|
||||
#X connect 3 0 1 0;
|
37
pd-0.44-2/doc/3.audio.examples/A02.amplitude.pd
Normal file
37
pd-0.44-2/doc/3.audio.examples/A02.amplitude.pd
Normal file
|
@ -0,0 +1,37 @@
|
|||
#N canvas 73 190 702 512 12;
|
||||
#X obj 64 65 osc~ 440;
|
||||
#X obj 64 283 dac~;
|
||||
#X text 145 66 <-- 440 Hz. sine wave at full blast;
|
||||
#X msg 431 7 \; pd dsp 1;
|
||||
#X msg 514 7 \; pd dsp 0;
|
||||
#X text 456 45 ON;
|
||||
#X text 534 43 OFF;
|
||||
#X text 164 18 CONTROLLING AMPLITUDE;
|
||||
#X text 35 327 Amplitudes of audio signals can have any reasonable
|
||||
range \, but when you output a signal via the dac~ object \, the samples
|
||||
should range between -1 and +1. Values out of that range will be "clipped."
|
||||
;
|
||||
#X obj 64 202 *~ 0;
|
||||
#X floatatom 107 165 0 0 0 0 - - -;
|
||||
#X obj 95 132 dbtorms;
|
||||
#X floatatom 95 100 0 0 80 0 - - -;
|
||||
#X text 141 100 <-- set amplitude here in dB;
|
||||
#X text 211 133 <-- this converts dB to linear units;
|
||||
#X text 210 164 <-- this shows the linear gain;
|
||||
#X text 116 204 <-- multiply the sine wave by the gain \, reducing
|
||||
its amplitude. You can also use the "*~" object to multiply two signals.
|
||||
The "0" argument here instructs it that we'll just send it messages
|
||||
to set the multiplier.;
|
||||
#X text 35 396 Here we calculate a gain for the multiplier (*~) using
|
||||
a "dbtorms" object (acronym for "dB to RMS"). 100 dB is normalized
|
||||
to one \, and zero dB artificially outputs a true 0;
|
||||
#X text 34 452 Pd assumes you have a two channel audio system unless
|
||||
you tell it otherwise.;
|
||||
#X text 440 486 updated for Pd version 0.33;
|
||||
#X text 114 282 <-- and out. We're sending to both channels now.;
|
||||
#X connect 0 0 9 0;
|
||||
#X connect 9 0 1 0;
|
||||
#X connect 9 0 1 1;
|
||||
#X connect 11 0 9 1;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 12 0 11 0;
|
55
pd-0.44-2/doc/3.audio.examples/A03.line.pd
Normal file
55
pd-0.44-2/doc/3.audio.examples/A03.line.pd
Normal file
|
@ -0,0 +1,55 @@
|
|||
#N canvas 369 106 647 598 12;
|
||||
#X obj 56 79 osc~ 440;
|
||||
#X obj 56 309 dac~;
|
||||
#X msg 446 79 \; pd dsp 1;
|
||||
#X msg 538 79 \; pd dsp 0;
|
||||
#X text 467 112 ON;
|
||||
#X text 555 112 OFF;
|
||||
#X obj 56 269 *~;
|
||||
#X obj 72 243 line~;
|
||||
#X text 129 243 <--- ramp generator;
|
||||
#X text 132 78 <-- sine wave;
|
||||
#X msg 72 103 0.1 2000;
|
||||
#X msg 72 177 0 2000;
|
||||
#X msg 72 125 0.1 50;
|
||||
#X msg 72 199 0 50;
|
||||
#X msg 72 147 0.1;
|
||||
#X msg 72 221 0;
|
||||
#X text 274 124 ON;
|
||||
#X text 154 105 <-- slow;
|
||||
#X text 144 126 <-- fast;
|
||||
#X text 111 146 <-- instantly;
|
||||
#X text 271 197 OFF;
|
||||
#X text 136 178 <-- slow;
|
||||
#X text 129 199 <-- fast;
|
||||
#X text 109 219 <-- instantly;
|
||||
#X text 112 161 ----------------------;
|
||||
#X text 97 308 <-- out;
|
||||
#X text 103 7 CONTROLLING AMPLITUDE USING LINE~;
|
||||
#X text 38 342 Line~'s left inlet is a target value \; it reaches that
|
||||
target in the time specified (in milliseconds) to its right inlet.
|
||||
;
|
||||
#X text 34 495 The line~ object (and its control brother \, line) treat
|
||||
their right inlet specially. The inlets don't retain values the way
|
||||
other inlets do but revert to zero whenever a target is received.;
|
||||
#X text 14 27 In this patch \, the multiplier is configured to multiply
|
||||
two signals. The amplitude is now a signal computed by the line~ object.
|
||||
;
|
||||
#X text 37 395 (In this example \, message boxes with two numbers each
|
||||
are connected to line~'s left inlet. Except in some special cases \,
|
||||
Pd objects with more than one inlet will automatically distribute lists
|
||||
of numbers across their inlets. In this case \, "0 50" becomes \, "50
|
||||
at right and 0 at left.");
|
||||
#X text 386 557 updated for Pd version 0.36;
|
||||
#X text 93 268 <-- multiply the sine wave by the ramp. There's no longer
|
||||
a "0" argument-- this tells Pd to expect a signal here.;
|
||||
#X connect 0 0 6 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 6 0 1 1;
|
||||
#X connect 7 0 6 1;
|
||||
#X connect 10 0 7 0;
|
||||
#X connect 11 0 7 0;
|
||||
#X connect 12 0 7 0;
|
||||
#X connect 13 0 7 0;
|
||||
#X connect 14 0 7 0;
|
||||
#X connect 15 0 7 0;
|
59
pd-0.44-2/doc/3.audio.examples/A04.line2.pd
Normal file
59
pd-0.44-2/doc/3.audio.examples/A04.line2.pd
Normal file
|
@ -0,0 +1,59 @@
|
|||
#N canvas 30 68 949 754 12;
|
||||
#X obj 67 77 osc~ 440;
|
||||
#X obj 67 329 dac~;
|
||||
#X obj 67 242 *~;
|
||||
#X obj 86 180 line~;
|
||||
#X text 116 330 <-- out;
|
||||
#X text 124 9 LINES GRAPHED;
|
||||
#X text 24 33 Here again is a line~ controlling the amplitude of an
|
||||
osc~ \, but with the outputs graphed:;
|
||||
#X obj 149 89 r graphit;
|
||||
#X obj 151 179 r graphit;
|
||||
#X obj 151 246 r graphit;
|
||||
#X obj 86 149 r to-line;
|
||||
#X graph graph1 0 -1.02 44100 1.02 631 480 831 350;
|
||||
#X array product 44100 float 0;
|
||||
#X pop;
|
||||
#X graph graph1 0 -1.02 44100 1.02 631 150 831 20;
|
||||
#X array osc-output 44100 float 0;
|
||||
#X pop;
|
||||
#X graph graph1 0 -1.02 44100 1.02 631 315 831 185;
|
||||
#X array line-output 44100 float 0;
|
||||
#X pop;
|
||||
#X obj 149 119 tabwrite~ osc-output;
|
||||
#X obj 67 299 *~ 0.1;
|
||||
#X msg 38 401 \; pd dsp 1 \; to-line 0 \, 1 500 \; graphit bang;
|
||||
#X msg 210 401 \; pd dsp 1 \; to-line 1 \, 0 500 \; graphit bang;
|
||||
#X obj 151 209 tabwrite~ line-output;
|
||||
#X obj 151 276 tabwrite~ product;
|
||||
#X text 70 379 ramp up;
|
||||
#X text 235 378 ramp down;
|
||||
#X text 406 376 to 1/2;
|
||||
#X msg 375 400 \; pd dsp 1 \; to-line 0.5 1000 \; graphit bang;
|
||||
#X text 634 491 ------ 1 second ------;
|
||||
#X text 38 485 Click the message boxes above to try it. Note that in
|
||||
the first two boxes \, the line~ objects get two messages. The first
|
||||
one \, with no time value \, causes the line~ to jump immediately to
|
||||
the value. The third box takes line~'s previous value as a point of
|
||||
departure. What you see will depend on which box you last clicked and
|
||||
how long you waited between the two.;
|
||||
#X text 662 727 updated for Pd version 0.33;
|
||||
#X text 41 600 On most machines \, you will hear an interruption in
|
||||
the sound one second after you click on the first or third box. This
|
||||
is because the graphical updates are likely to eat more CPU time than
|
||||
your audio buffer has pre-buffered for. You can avoid this if you keep
|
||||
your graphs in sub-windows and open them only when you need them. In
|
||||
some future version of Pd this behavior will be improved. Until then
|
||||
\, you'll have to avoid having arrays getting re-drawn during music
|
||||
performances.;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 0 0 14 0;
|
||||
#X connect 2 0 15 0;
|
||||
#X connect 2 0 19 0;
|
||||
#X connect 3 0 2 1;
|
||||
#X connect 3 0 18 0;
|
||||
#X connect 7 0 14 0;
|
||||
#X connect 8 0 18 0;
|
||||
#X connect 9 0 19 0;
|
||||
#X connect 10 0 3 0;
|
||||
#X connect 15 0 1 0;
|
30
pd-0.44-2/doc/3.audio.examples/A05.output.subpatch.pd
Normal file
30
pd-0.44-2/doc/3.audio.examples/A05.output.subpatch.pd
Normal file
|
@ -0,0 +1,30 @@
|
|||
#N canvas 300 159 635 486 12;
|
||||
#X text 261 20 CONTROLLING OUTPUT AMPLITUDE;
|
||||
#X obj 32 27 osc~ 440;
|
||||
#X obj 54 55 osc~ 550;
|
||||
#X obj 54 116 osc~ 660;
|
||||
#X obj 32 88 +~;
|
||||
#X obj 32 142 +~;
|
||||
#X text 108 177 <-- this is a subwindow--right click on it;
|
||||
#X text 149 197 and select "open" to see inside.;
|
||||
#X text 30 401 The output control automatically starts DSP whenever
|
||||
you touch the level control. Hitting "mute" toggles between the current
|
||||
level and zero.;
|
||||
#X obj 32 173 output~;
|
||||
#X text 383 463 updated for Pd version 0.36;
|
||||
#X text 143 115 <-- Here we make an A major triad as a test signal.
|
||||
;
|
||||
#X text 31 250 In this and subsequent patches \, we'll use a subwindow
|
||||
\, "output" \, to control overall amplitude. The amplitudes are in
|
||||
decibels \, with 100 being full blast. In this example \, you can't
|
||||
actually push the output amplitude past 90 or so without clipping.
|
||||
You'll know you're clipping if \, instead of an A major chord \, you
|
||||
hear a single \, distorted tone two octaves down. The clipping happens
|
||||
at Pd's last stage of audio output. Audio signals internal to Pd have
|
||||
essentially no level limit.;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 4 1;
|
||||
#X connect 3 0 5 1;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 5 0 9 1;
|
61
pd-0.44-2/doc/3.audio.examples/A06.frequency.pd
Normal file
61
pd-0.44-2/doc/3.audio.examples/A06.frequency.pd
Normal file
|
@ -0,0 +1,61 @@
|
|||
#N canvas 8 17 693 642 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array osc-output 4410 float 0;
|
||||
#X coords 0 1.02 4410 -1.02 200 130 1;
|
||||
#X restore 473 167 graph;
|
||||
#X obj 98 261 tabwrite~ osc-output;
|
||||
#X msg 98 232 bang;
|
||||
#X floatatom 280 66 0 0 0 0 - - -;
|
||||
#X text 147 231 <-- click to graph;
|
||||
#X obj 15 206 r frequency;
|
||||
#X msg 280 37 set \$1;
|
||||
#X floatatom 6 66 0 0 0 0 - - -;
|
||||
#X obj 6 8 r frequency;
|
||||
#X msg 6 37 set \$1;
|
||||
#X obj 19 90 s frequency;
|
||||
#X obj 280 8 r pitch;
|
||||
#X obj 289 90 s pitch;
|
||||
#X obj 280 116 mtof;
|
||||
#X obj 280 145 s frequency;
|
||||
#X obj 6 145 s pitch;
|
||||
#X obj 6 116 ftom;
|
||||
#X text 105 66 <-- set frequency;
|
||||
#X text 372 65 <-- set MIDI pitch;
|
||||
#X text 15 429 Frequency and pitch are converted using the "ftom" and
|
||||
"mtof" objects. Frequency refers to the number of cycles per second.
|
||||
Pitch is "60" for Middle C \, 61 for C sharp \, 72 for the next C up
|
||||
\, and so on.;
|
||||
#X text 476 308 ---- 0.1 seconds ----;
|
||||
#X text 447 6 FREQUENCY AND PITCH;
|
||||
#X text 16 363 The osc~ object \, if you give it an argument \, expects
|
||||
floating-point messages to set its frequency. Without arguments \,
|
||||
its frequency is controlled by connecting an audio signal to its input.
|
||||
;
|
||||
#X text 14 496 Mtof and ftom work fine for microtones (non-integral
|
||||
"MIDI pitch" ) and don't have MIDI's range restriction-- for example
|
||||
\, MIDI -36 is about 1 Hz.;
|
||||
#X text 15 553 Note also the "set" messages going to the number boxes
|
||||
so that they can each update the other without bringing on an infinite
|
||||
loop. (get help on number boxes for details.);
|
||||
#X text 87 291 <-- output level;
|
||||
#X text 51 116 <-- convert frequency;
|
||||
#X text 106 134 to "MIDI" pitch;
|
||||
#X text 327 117 <-- convert "MIDI" pitch to frequency;
|
||||
#X obj 15 273 output~;
|
||||
#X text 437 619 updated for Pd version 0.36;
|
||||
#X obj 15 232 osc~;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 12 0;
|
||||
#X connect 3 0 13 0;
|
||||
#X connect 5 0 31 0;
|
||||
#X connect 6 0 3 0;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 7 0 16 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 7 0;
|
||||
#X connect 11 0 6 0;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 16 0 15 0;
|
||||
#X connect 31 0 1 0;
|
||||
#X connect 31 0 29 0;
|
||||
#X connect 31 0 29 1;
|
76
pd-0.44-2/doc/3.audio.examples/A07.fusion.pd
Normal file
76
pd-0.44-2/doc/3.audio.examples/A07.fusion.pd
Normal file
|
@ -0,0 +1,76 @@
|
|||
#N canvas 18 14 650 653 12;
|
||||
#X floatatom 32 60 0 0 0 0 - - -;
|
||||
#X obj 32 86 mtof;
|
||||
#X obj 32 323 output~;
|
||||
#X msg 32 34 60;
|
||||
#X text 67 63 <-- choose a pitch;
|
||||
#X text 68 34 <-- reset to middle C;
|
||||
#X obj 32 154 osc~;
|
||||
#X obj 73 130 * 2;
|
||||
#X obj 73 154 osc~;
|
||||
#X obj 137 154 osc~;
|
||||
#X obj 137 130 * 3;
|
||||
#X obj 201 155 osc~;
|
||||
#X obj 201 131 * 4;
|
||||
#X obj 137 179 *~ 0.2;
|
||||
#X obj 33 289 +~;
|
||||
#X obj 74 259 *~;
|
||||
#X obj 109 260 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 74 210 +~;
|
||||
#X obj 74 234 +~;
|
||||
#X text 133 7 Adding sinusoids to make a complex tone;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array tab.01.07 882 float 0;
|
||||
#X coords 0 1.02 881 -1.02 200 130 1;
|
||||
#X restore 426 222 graph;
|
||||
#X msg 116 295 bang;
|
||||
#X text 165 294 <-- click to graph;
|
||||
#X text 260 129 frequencies of harmonics;
|
||||
#X text 260 155 four oscillators;
|
||||
#X text 264 181 adjust amplitudes;
|
||||
#X text 109 233 add the three overtones together;
|
||||
#X obj 116 324 tabwrite~ tab.01.07;
|
||||
#X text 381 632 updated for Pd version 0.40.;
|
||||
#X text 429 360 ---- 0.02 seconds ----;
|
||||
#X obj 73 179 *~ 0.1;
|
||||
#X obj 201 179 *~ 0.5;
|
||||
#X text 129 259 <-- overtones ON/OFF;
|
||||
#X text 29 580 To hear the output \, choose a pitch (at top) \, optionally
|
||||
click the "overtones" control \, and mouse up the output volume. Click
|
||||
the "bang" message to graph it.;
|
||||
#X text 31 392 A simple way to build non-sinusoidal \, periodic musical
|
||||
tones is to sum a series of harmonically tuned sinusoids. Here the
|
||||
four oscillators have frequencies in a 1:2:3:4 ratio (the three "*"
|
||||
objects compute the second \, third \, and fourth one). The amplitudes
|
||||
are adjusted by the "*~ 0.1" \, etc. \, objects. Note that \, since
|
||||
the frequency (from the "mtof") is a message \, a "*" box suffices
|
||||
to operate on it \, but the oscillator's output \, being an audio signal
|
||||
\, needs "*~" instead. The control marked "overtones ON/OFF" is a toggle
|
||||
switch. Click to turn it on and off. Of the overtones are "off" you
|
||||
hear only a sinusoid from the forst oscillator. If on \, you hear all
|
||||
four.;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 1 0 10 0;
|
||||
#X connect 1 0 12 0;
|
||||
#X connect 3 0 0 0;
|
||||
#X connect 6 0 14 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 30 0;
|
||||
#X connect 9 0 13 0;
|
||||
#X connect 10 0 9 0;
|
||||
#X connect 11 0 31 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 13 0 17 1;
|
||||
#X connect 14 0 2 0;
|
||||
#X connect 14 0 2 1;
|
||||
#X connect 14 0 27 0;
|
||||
#X connect 15 0 14 1;
|
||||
#X connect 16 0 15 1;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 18 0 15 0;
|
||||
#X connect 21 0 27 0;
|
||||
#X connect 30 0 17 0;
|
||||
#X connect 31 0 18 1;
|
41
pd-0.44-2/doc/3.audio.examples/A08.beating.pd
Normal file
41
pd-0.44-2/doc/3.audio.examples/A08.beating.pd
Normal file
|
@ -0,0 +1,41 @@
|
|||
#N canvas 53 63 581 571 12;
|
||||
#X obj 31 212 output~;
|
||||
#X obj 32 178 +~;
|
||||
#X text 320 537 updated for Pd version 0.40.;
|
||||
#X obj 32 110 +~;
|
||||
#X obj 187 105 +~;
|
||||
#X obj 187 52 osc~ 440;
|
||||
#X obj 32 57 osc~ 330;
|
||||
#X obj 53 81 osc~ 330.2;
|
||||
#X obj 208 75 osc~ 440.33;
|
||||
#X obj 342 102 +~;
|
||||
#X obj 343 52 osc~ 587;
|
||||
#X obj 364 75 osc~ 587.25;
|
||||
#X obj 33 147 +~;
|
||||
#X text 133 7 Beating between closely tuned sinusoids;
|
||||
#X text 33 280 In each of the three pairs of oscillators above \, the
|
||||
two frequencies are within 1/3 Hz or closer (for example \, the leftmost
|
||||
ones are close to 330 Hz but separated by 1/5 Hz.) The result is a
|
||||
gradual change in amplitude as the phases of the two slip against each
|
||||
other. This is called beating. More complex beating pattenrs may be
|
||||
made by using three or more oscillators. Also their amplitudes need
|
||||
not be equal (as they are here).;
|
||||
#X text 31 407 They are all summed using "+~" boxes. They could have
|
||||
been summed in any order ("+~" is commutative for practical purposes)
|
||||
but here they are added in pairs to emphasize the relationships between
|
||||
them.;
|
||||
#X text 30 474 In contrast to the previous example \, the oscillators
|
||||
are not tuned to the overtone series (ratios 1:2:3:4...) and so the
|
||||
frequencies 330 \, 440 \, and 587 are heard separately.;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 1 0 0 1;
|
||||
#X connect 3 0 12 0;
|
||||
#X connect 4 0 12 1;
|
||||
#X connect 5 0 4 0;
|
||||
#X connect 6 0 3 0;
|
||||
#X connect 7 0 3 1;
|
||||
#X connect 8 0 4 1;
|
||||
#X connect 9 0 1 1;
|
||||
#X connect 10 0 9 0;
|
||||
#X connect 11 0 9 1;
|
||||
#X connect 12 0 1 0;
|
54
pd-0.44-2/doc/3.audio.examples/A09.frequency.mod.pd
Normal file
54
pd-0.44-2/doc/3.audio.examples/A09.frequency.mod.pd
Normal file
|
@ -0,0 +1,54 @@
|
|||
#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;
|
37
pd-0.44-2/doc/3.audio.examples/A10.review.pd
Normal file
37
pd-0.44-2/doc/3.audio.examples/A10.review.pd
Normal file
|
@ -0,0 +1,37 @@
|
|||
#N canvas 36 68 652 461 12;
|
||||
#X text 157 10 PART 1 REVIEW;
|
||||
#X obj 67 113 tabwrite~;
|
||||
#X obj 67 87 line~;
|
||||
#X obj 71 220 +;
|
||||
#X obj 67 61 +~;
|
||||
#X obj 67 139 osc~;
|
||||
#X obj 72 319 r;
|
||||
#X obj 72 295 s;
|
||||
#X obj 71 269 inlet;
|
||||
#X obj 114 245 mtof;
|
||||
#X obj 71 244 ftom;
|
||||
#X obj 122 269 outlet;
|
||||
#X obj 67 164 dac~;
|
||||
#X text 27 34 So far we've seen these audio ("tilde") objects:;
|
||||
#X text 124 86 -- ramp generator;
|
||||
#X text 158 113 -- sampler (which we've only used for graphing so far)
|
||||
;
|
||||
#X text 113 165 -- audio output ("digital/analog converter" -- a misnomer)
|
||||
;
|
||||
#X text 34 193 ... and these "control" objects:;
|
||||
#X text 162 243 -- frequency to pitch conversion;
|
||||
#X text 184 270 -- input and output to a subpatch;
|
||||
#X text 108 296 ("send") -- wireless message sending;
|
||||
#X text 109 321 ("receive") ... and receiving;
|
||||
#X text 107 60 (etc.) -- arithmetic on audio signals;
|
||||
#X text 109 218 (etc.) -- arithmetic;
|
||||
#X text 385 426 updated for Pd version 0.40.;
|
||||
#X text 112 139 -- sinusoidal oscillator;
|
||||
#X obj 74 418 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X text 97 416 -- toggle switch;
|
||||
#X floatatom 74 395 0 0 0 0 - - -;
|
||||
#X text 109 394 -- number box;
|
||||
#X msg 74 372;
|
||||
#X text 111 372 -- message box;
|
||||
#X text 43 346 ... and these other (non-object) boxes:;
|
50
pd-0.44-2/doc/3.audio.examples/B01.wavetables.pd
Normal file
50
pd-0.44-2/doc/3.audio.examples/B01.wavetables.pd
Normal file
|
@ -0,0 +1,50 @@
|
|||
#N canvas 19 22 722 608 12;
|
||||
#X floatatom 164 43 0 0 0 0 - - -;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array table10 259 float 1;
|
||||
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0.612 0.612 0.612 0.612 0.612 0.627692 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 -0.470769 -0.470769 -0.470769 -0.470769 -0.470769
|
||||
-0.470769 -0.470769 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0.627692 0.627692 0.627692 0.643385 0.643385 0.643385
|
||||
0.659077 0 -0.502154 -0.502154 -0.502154 -0.486462 -0.486462 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0.580615 0.596308 0.596308 0.596308 0.596308
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
|
||||
#X coords 0 1.02 258 -1.02 258 130 1;
|
||||
#X restore 445 47 graph;
|
||||
#X text 30 123 oscillator -->;
|
||||
#X text 456 587 updated for Pd version 0.34;
|
||||
#X text 33 8 WAVETABLE OSCILLATORS;
|
||||
#X text 36 106 wavetable;
|
||||
#X obj 164 70 mtof;
|
||||
#X floatatom 164 97 0 0 0 0 - - -;
|
||||
#X obj 164 123 tabosc4~ table10;
|
||||
#X text 94 42 pitch->;
|
||||
#X text 35 309 Note that I selected "save contents" in the properties
|
||||
dialog for table10 (right click on the table to see.) If this isn't
|
||||
set \, the waveform won't be remembered as part of the patch but will
|
||||
be reinitialized to zero when the patch is reopened.;
|
||||
#X msg 35 549 \; table10 cosinesum 256 0.2 -0.2 0.2 -0.2 0.2 -0.2 0.2
|
||||
;
|
||||
#X msg 578 240 \; table10 const 0;
|
||||
#X text 597 217 CLEAR TABLE;
|
||||
#X text 35 395 For efficiency's sake tabosc4~ requires that the table
|
||||
have a power of two plus three points (64+3=67 \, 128+3=131 \, 256+3=259
|
||||
\, etc.) If you want wraparound to work smoothly \, you should make
|
||||
the last three points copies of the first three. This is done because
|
||||
tabread4~ does 4-point interpolation.;
|
||||
#X text 38 494 If you want a specific sinusoidal composition \, you
|
||||
can send table10 a message \, as below (see 11.arrays in the control
|
||||
examples):;
|
||||
#X text 36 240 Here \, in place of the "osc~" cosine wave oscillator
|
||||
\, we introduce the tabosc4~ oscillator which produces an arbitrary
|
||||
waveform. You can draw in the waveform with the mouse.;
|
||||
#X obj 164 151 output~;
|
||||
#X connect 0 0 6 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 17 0;
|
||||
#X connect 8 0 17 1;
|
147
pd-0.44-2/doc/3.audio.examples/B02.two-wavetables.pd
Normal file
147
pd-0.44-2/doc/3.audio.examples/B02.two-wavetables.pd
Normal file
|
@ -0,0 +1,147 @@
|
|||
#N canvas 74 98 749 466 12;
|
||||
#X graph graph1 0 -1.02 258 1.02 475 298 733 168;
|
||||
#X array waveform11 259 float 1;
|
||||
#A 0 -0.0896033 0 0.0896033 0.178356 0.265425 0.350007 0.431348 0.508756
|
||||
0.58161 0.649372 0.711597 0.767935 0.818137 0.862053 0.89963 0.930912
|
||||
0.956028 0.975187 0.988669 0.996811 1 0.998655 0.993223 0.984158 0.971919
|
||||
0.956953 0.939691 0.920538 0.899867 0.878018 0.85529 0.831945 0.808204
|
||||
0.784252 0.760239 0.736284 0.712477 0.688888 0.665568 0.642553 0.619872
|
||||
0.59755 0.575607 0.554066 0.532953 0.512296 0.49213 0.472491 0.453419
|
||||
0.434957 0.417147 0.400027 0.383632 0.367992 0.353126 0.339046 0.32575
|
||||
0.313227 0.301453 0.290394 0.280002 0.270224 0.260995 0.252248 0.24391
|
||||
0.235908 0.22817 0.220628 0.213219 0.205888 0.198586 0.191278 0.183936
|
||||
0.176545 0.169098 0.1616 0.154063 0.146505 0.138954 0.131437 0.123987
|
||||
0.116636 0.109415 0.102354 0.0954784 0.0888083 0.08236 0.0761442 0.0701659
|
||||
0.0644253 0.0589178 0.0536354 0.0485669 0.0436994 0.0390194 0.0345135
|
||||
0.0301695 0.0259776 0.0219306 0.0180245 0.0142591 0.0106377 0.00716724
|
||||
0.00385775 0.000722025 -0.00222511 -0.0049675 -0.00748845 -0.00977153
|
||||
-0.0118014 -0.0135644 -0.0150493 -0.0162479 -0.0171551 -0.0177693 -0.0180928
|
||||
-0.0181312 -0.0178936 -0.017392 -0.0166417 -0.0156601 -0.0144666 -0.0130822
|
||||
-0.0115294 -0.00983114 -0.0080113 -0.00609396 -0.0041034 -0.00206402
|
||||
-2.23572e-07 0.00206358 0.00410297 0.00609353 0.00801089 0.00983075
|
||||
0.011529 0.0130819 0.0144663 0.0156599 0.0166416 0.0173919 0.0178935
|
||||
0.0181312 0.0180929 0.0177695 0.0171552 0.0162481 0.0150496 0.0135647
|
||||
0.0118018 0.009772 0.00748897 0.00496807 0.00222573 -0.000721367 -0.00385706
|
||||
-0.00716651 -0.010637 -0.0142583 -0.0180237 -0.0219297 -0.0259767 -0.0301686
|
||||
-0.0345125 -0.0390184 -0.0436984 -0.0485658 -0.0536343 -0.0589167 -0.0644241
|
||||
-0.0701647 -0.0761429 -0.0823587 -0.0888069 -0.0954769 -0.102353 -0.109414
|
||||
-0.116634 -0.123985 -0.131435 -0.138952 -0.146504 -0.154061 -0.161598
|
||||
-0.169097 -0.176543 -0.183935 -0.191276 -0.198584 -0.205886 -0.213218
|
||||
-0.220627 -0.228169 -0.235906 -0.243908 -0.252246 -0.260993 -0.270222
|
||||
-0.28 -0.290392 -0.301451 -0.313224 -0.325747 -0.339043 -0.353123 -0.367989
|
||||
-0.383629 -0.400023 -0.417143 -0.434954 -0.453415 -0.472486 -0.492125
|
||||
-0.512292 -0.532948 -0.554062 -0.575602 -0.597545 -0.619868 -0.642548
|
||||
-0.665563 -0.688883 -0.712472 -0.736279 -0.760234 -0.784247 -0.808199
|
||||
-0.83194 -0.855285 -0.878013 -0.899863 -0.920533 -0.939687 -0.956949
|
||||
-0.971916 -0.984156 -0.993221 -0.998655 -1 -0.996813 -0.988671 -0.975191
|
||||
-0.956033 -0.930918 -0.899638 -0.862061 -0.818147 -0.767947 -0.71161
|
||||
-0.649386 -0.581625 -0.508772 -0.431366 -0.350025 -0.265443 -0.178375
|
||||
-0.0896226 -1.94061e-05 0.089584;
|
||||
#X pop;
|
||||
#X floatatom 202 171 0 0 100;
|
||||
#N canvas 159 26 532 285 output 0;
|
||||
#X obj 338 160 t b;
|
||||
#X obj 338 110 f;
|
||||
#X obj 338 60 inlet;
|
||||
#X text 344 29 mute;
|
||||
#X obj 338 185 f;
|
||||
#X msg 426 180 0;
|
||||
#X msg 338 85 bang;
|
||||
#X obj 338 135 moses 1;
|
||||
#X obj 397 110 moses 1;
|
||||
#X obj 83 148 dbtorms;
|
||||
#X obj 397 85 r master-lvl;
|
||||
#X obj 83 42 r master-lvl;
|
||||
#X obj 338 210 s master-lvl;
|
||||
#X obj 20 155 inlet~;
|
||||
#X obj 199 41 inlet;
|
||||
#X text 199 18 level;
|
||||
#X obj 199 105 s master-lvl;
|
||||
#X msg 96 65 set \$1;
|
||||
#X obj 96 90 outlet;
|
||||
#X msg 214 65 \; pd dsp 1;
|
||||
#X obj 83 198 line~;
|
||||
#X obj 20 207 *~;
|
||||
#X obj 20 232 dac~;
|
||||
#X obj 83 173 pack 0 50;
|
||||
#X text 20 132 audio;
|
||||
#X text 96 114 show level;
|
||||
#X obj 426 155 t b;
|
||||
#X obj 20 181 hip~ 1;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 4 0 12 0;
|
||||
#X connect 5 0 12 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 7 1 26 0;
|
||||
#X connect 8 1 4 1;
|
||||
#X connect 9 0 23 0;
|
||||
#X connect 10 0 1 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 9 0;
|
||||
#X connect 11 0 17 0;
|
||||
#X connect 13 0 27 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 14 0 19 0;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 20 0 21 1;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 21 0 22 1;
|
||||
#X connect 23 0 20 0;
|
||||
#X connect 26 0 5 0;
|
||||
#X connect 27 0 21 0;
|
||||
#X restore 164 199 pd output;
|
||||
#X msg 240 172 MUTE;
|
||||
#X text 30 123 oscillator -->;
|
||||
#X text 485 445 updated for Pd version 0.34;
|
||||
#X text 33 8 WAVETABLE OSCILLATORS;
|
||||
#X text 36 106 wavetable;
|
||||
#X text 88 54 pitch->;
|
||||
#X graph graph2 0 0 258 1000 475 155 734 15;
|
||||
#X array pitch11 259 float 1;
|
||||
#A 0 757.143 757.143 735.714 700 671.429 650 621.429 600 571.429 550
|
||||
521.429 507.143 485.714 464.286 442.857 428.571 414.286 400 378.571
|
||||
364.286 342.857 328.571 928.571 921.429 921.429 914.286 907.143 892.857
|
||||
885.714 878.571 864.286 850 828.571 807.143 792.857 785.714 775 764.286
|
||||
753.571 742.857 735.714 728.571 721.429 714.286 703.571 692.857 682.143
|
||||
671.429 650 628.571 617.857 607.143 596.429 585.714 575 564.286 553.571
|
||||
542.857 532.143 521.429 510.714 500 485.714 478.571 464.286 450 435.714
|
||||
428.571 400 392.857 385.714 378.571 357.143 350 342.857 335.714 328.571
|
||||
314.286 292.857 285.714 271.429 264.286 571.429 571.429 571.429 571.429
|
||||
571.429 564.286 564.286 278.571 271.429 271.429 278.571 278.571 278.571
|
||||
278.571 571.429 571.429 571.429 575 578.571 578.571 278.571 278.571
|
||||
285.714 285.714 278.571 278.571 278.571 878.571 878.571 878.571 878.571
|
||||
878.571 321.429 325 328.571 328.571 328.571 328.571 885.714 885.714
|
||||
885.714 885.714 207.143 207.143 207.143 200 207.143 207.143 207.143
|
||||
214.286 214.286 221.429 228.571 228.571 242.857 250 257.143 264.286
|
||||
278.571 292.857 307.143 321.429 335.714 350 371.429 392.857 421.429
|
||||
435.714 471.429 500 542.857 571.429 628.571 664.286 700 728.571 757.143
|
||||
792.857 828.571 885.714 928.571 978.571 1000 1007.14 1007.14 1000 1000
|
||||
992.857 985.714 885.714 914.286 671.429 671.429 671.429 671.429 671.429
|
||||
671.429 671.429 671.429 671.429 671.429 678.571 635.714 635.714 678.571
|
||||
714.286 714.286 678.571 635.714 635.714 635.714 742.857 742.857 685.714
|
||||
685.714 635.714 621.429 685.714 792.857 792.857 678.571 521.429 521.429
|
||||
521.429 864.286 857.143 857.143 471.429 471.429 471.429 471.429 921.429
|
||||
921.429 385.714 385.714 385.714 964.286 964.286 964.286 328.571 328.571
|
||||
328.571 328.571 885.714 885.714 885.714 685.714 214.286 214.286 207.143
|
||||
207.143 921.429 921.429 921.429 921.429 207.143 207.143 200 200 957.143
|
||||
957.143 950 214.286 214.286 207.143 207.143 957.143 957.143 950 200
|
||||
207.143 207.143 942.857 942.857 942.857 950 950;
|
||||
#X pop;
|
||||
#X obj 164 87 tabosc4~ pitch11;
|
||||
#X obj 164 123 tabosc4~ waveform11;
|
||||
#X obj 164 55 sig~ 0.5;
|
||||
#X text 13 319 Here's a tabosc4~ controlling the frequency of another
|
||||
one. If you get properties on the two arrays \, you'll see that the
|
||||
top graph has a vertical scale from 0 to 1000 \; we're looping through
|
||||
that at a frequency of 0.5 Hz. and the output is used as the frequency
|
||||
input of the second tabosc4~. I've detected Klingons \, Captain Kirk...
|
||||
;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 2 2;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 2 0;
|
||||
#X connect 12 0 10 0;
|
130
pd-0.44-2/doc/3.audio.examples/B03.tabread4.pd
Normal file
130
pd-0.44-2/doc/3.audio.examples/B03.tabread4.pd
Normal file
|
@ -0,0 +1,130 @@
|
|||
#N canvas 55 137 820 651 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array waveform12 131 float 1;
|
||||
#A 0 -0.172615 -0.172615 -0.172615 -0.172615 -0.172615 -0.141231 -0.109846
|
||||
-0.0941538 -0.0627692 -0.0470769 0.0156923 0.0784615 0.125538 0.188308
|
||||
0.235385 0.298154 0.360923 0.392308 0.470769 0.533538 0.596308 0.643385
|
||||
0.674769 0.721846 0.753231 0.784615 0.816 0.831692 0.847385 0.878769
|
||||
0.894462 0.910154 0.910154 0.910154 0.910154 0.910154 0.894462 0.894462
|
||||
0.894462 0.894462 0.878769 0.863077 0.816 0.800308 0.768923 0.737538
|
||||
0.706154 0.674769 0.643385 0.596308 0.564923 0.533538 0.470769 0.423692
|
||||
0.376615 0.313846 0.266769 0.204 0.172615 0.109846 0.0627692 0.0156923
|
||||
0 -0.0313846 -0.0627692 -0.0784615 -0.0941538 -0.109846 -0.141231 -0.156923
|
||||
-0.172615 -0.204 -0.219692 -0.219692 -0.235385 -0.235385 -0.235385
|
||||
-0.219692 -0.219692 -0.219692 -0.204 -0.156923 -0.125538 -0.0784615
|
||||
0 0.172615 0.313846 0.470769 0.564923 0.627692 0.690462 0.721846 0.737538
|
||||
0.753231 0.768923 0.768923 0.753231 0.737538 0.706154 0.674769 0.612
|
||||
0.580615 0.549231 0.517846 0.486462 0.423692 0.392308 0.360923 0.282462
|
||||
0.219692 0.109846 -0.0156923 -0.0941538 -0.109846 -0.141231 -0.156923
|
||||
-0.172615 -0.188308 -0.204 -0.204 -0.219692 -0.204 -0.204 -0.219692
|
||||
-0.219692 -0.204 -0.204 -0.204 -0.204 -0.204 -0.188308;
|
||||
#X coords 0 1.02 130 -1.02 258 130 1;
|
||||
#X restore 462 30 graph;
|
||||
#X floatatom 194 299 0 0 100 0 - - -;
|
||||
#N canvas 159 26 532 285 output 0;
|
||||
#X obj 338 160 t b;
|
||||
#X obj 338 110 f;
|
||||
#X obj 338 60 inlet;
|
||||
#X text 344 29 mute;
|
||||
#X obj 338 185 f;
|
||||
#X msg 426 180 0;
|
||||
#X msg 338 85 bang;
|
||||
#X obj 338 135 moses 1;
|
||||
#X obj 397 110 moses 1;
|
||||
#X obj 83 148 dbtorms;
|
||||
#X obj 397 85 r master-lvl;
|
||||
#X obj 83 42 r master-lvl;
|
||||
#X obj 338 210 s master-lvl;
|
||||
#X obj 20 155 inlet~;
|
||||
#X obj 199 41 inlet;
|
||||
#X text 199 18 level;
|
||||
#X obj 199 105 s master-lvl;
|
||||
#X msg 96 65 set \$1;
|
||||
#X obj 96 90 outlet;
|
||||
#X msg 214 65 \; pd dsp 1;
|
||||
#X obj 83 198 line~;
|
||||
#X obj 20 207 *~;
|
||||
#X obj 20 232 dac~;
|
||||
#X obj 83 173 pack 0 50;
|
||||
#X text 20 132 audio;
|
||||
#X text 96 114 show level;
|
||||
#X obj 426 155 t b;
|
||||
#X obj 20 181 hip~ 1;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 4 0 12 0;
|
||||
#X connect 5 0 12 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 7 1 26 0;
|
||||
#X connect 8 1 4 1;
|
||||
#X connect 9 0 23 0;
|
||||
#X connect 10 0 1 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 9 0;
|
||||
#X connect 11 0 17 0;
|
||||
#X connect 13 0 27 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 14 0 19 0;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 20 0 21 1;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 21 0 22 1;
|
||||
#X connect 23 0 20 0;
|
||||
#X connect 26 0 5 0;
|
||||
#X connect 27 0 21 0;
|
||||
#X restore 156 327 pd output;
|
||||
#X msg 232 300 MUTE;
|
||||
#X text 33 8 WAVETABLE OSCILLATORS;
|
||||
#X obj 156 95 phasor~;
|
||||
#X obj 156 184 tabread4~ waveform12;
|
||||
#X obj 156 157 +~ 1;
|
||||
#X floatatom 156 66 4 0 0 0 - - -;
|
||||
#X floatatom 250 59 4 0 1000 0 - - -;
|
||||
#X obj 250 80 pack 0 50;
|
||||
#X obj 250 104 line~;
|
||||
#X obj 156 131 *~;
|
||||
#X text 21 81 phase;
|
||||
#X text 20 96 generation -->;
|
||||
#X text 25 117 range;
|
||||
#X text 24 132 adjustment -->;
|
||||
#X text 250 38 squeeze;
|
||||
#X text 133 40 frequency;
|
||||
#N canvas 0 0 450 300 graph3 0;
|
||||
#X array wave-out12 441 float 0;
|
||||
#X coords 0 1 440 -1 300 140 1;
|
||||
#X restore 481 190 graph;
|
||||
#X obj 177 247 tabwrite~ wave-out12;
|
||||
#X msg 177 216 bang;
|
||||
#X text 223 217 <--click to graph;
|
||||
#X text 25 360 The tabread4~ module is available for situations requiring
|
||||
more control than tabosc4~ offers. The relationship between the two
|
||||
is the same as between cos~ and osc~ \, although the units are different
|
||||
between cos~ and tabread4~. Cos~ assumes input is normalized from 0
|
||||
to 1 (and will wrap around as needed.) Tabread4~ takes values from
|
||||
1 to n-2 where n is the number of points in the table-- for a 259-point
|
||||
table such as we have here \, it's 1 to 129 (so the "good" segment
|
||||
is 128 samples long.);
|
||||
#X text 30 508 You would use tabread4~ (as opposed to tabosc4~) if
|
||||
you need direct control of the phase \, for instance if you to advance
|
||||
nonlinearly through the table. In the case shown here \, the "squeeze"
|
||||
factor makes the phase grow to a value at least \, and possibly much
|
||||
graeater than \, 129 (to which tabread4~ then limits it). So the resulting
|
||||
waveform is compressed in time.;
|
||||
#X obj 250 128 +~ 128;
|
||||
#X text 554 624 updated for Pd version 0.37;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 2 2;
|
||||
#X connect 5 0 12 0;
|
||||
#X connect 6 0 2 0;
|
||||
#X connect 6 0 20 0;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 8 0 5 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 25 0;
|
||||
#X connect 12 0 7 0;
|
||||
#X connect 21 0 20 0;
|
||||
#X connect 25 0 12 1;
|
44
pd-0.44-2/doc/3.audio.examples/B04.tabread4.interpolation.pd
Normal file
44
pd-0.44-2/doc/3.audio.examples/B04.tabread4.interpolation.pd
Normal file
|
@ -0,0 +1,44 @@
|
|||
#N canvas 137 102 781 520 12;
|
||||
#X graph graph1 0 -1.02 10 1.02 468 159 648 29;
|
||||
#X array waveform13 11 float 1;
|
||||
#A 0 1 1 1 1 1 1 1 -1 -1 -1 -1;
|
||||
#X pop;
|
||||
#X text 533 502 updated for Pd version 0.34;
|
||||
#X obj 156 157 +~ 1;
|
||||
#X text 21 81 phase;
|
||||
#X text 20 96 generation -->;
|
||||
#X text 25 117 range;
|
||||
#X text 24 132 adjustment -->;
|
||||
#X graph graph3 0 -1.02 440 1.02 469 362 769 222;
|
||||
#X array wave-out13 441 float 0;
|
||||
#X pop;
|
||||
#X msg 177 216 bang;
|
||||
#X text 223 217 <--click to graph;
|
||||
#N canvas 11 418 523 216 other-stuff 0;
|
||||
#X obj 41 49 loadbang;
|
||||
#X msg 39 81 \; waveform13 0 1 1 1 1 1 1 1 -1 -1 -1 -1 \; waveform13
|
||||
xlabel -1.2 0 1 2 3 4 5 6 7 8 9 10 \; pd dsp 1;
|
||||
#X connect 0 0 1 0;
|
||||
#X restore 626 426 pd other-stuff;
|
||||
#X obj 156 247 tabwrite~ wave-out13;
|
||||
#X obj 156 184 tabread4~ waveform13;
|
||||
#X obj 156 131 *~ 8;
|
||||
#X obj 156 95 phasor~ 220;
|
||||
#X text 36 22 4-POINT INTERPOLATION IN DETAIL;
|
||||
#X obj 216 316 sig~ 220;
|
||||
#X obj 216 346 tabosc4~ waveform13;
|
||||
#X text 35 293 (this would be;
|
||||
#X text 36 313 equivalent to the;
|
||||
#X text 110 333 above) -->;
|
||||
#X text 18 409 This patch demonstrates 4-point interpolation in tabread4~.
|
||||
The 11-point table \, waveform13 \, contains a transition from from
|
||||
1 to -1 \, which is "smoothed" as seen in wave-out13. There's no such
|
||||
transition at the wraparoind point--the interpolation always happens
|
||||
between 4 consccutive samples of the table \, disregarding wraparound.
|
||||
;
|
||||
#X connect 2 0 12 0;
|
||||
#X connect 8 0 11 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 13 0 2 0;
|
||||
#X connect 14 0 13 0;
|
||||
#X connect 16 0 17 0;
|
107
pd-0.44-2/doc/3.audio.examples/B05.tabread.FM.pd
Normal file
107
pd-0.44-2/doc/3.audio.examples/B05.tabread.FM.pd
Normal file
|
@ -0,0 +1,107 @@
|
|||
#N canvas 55 137 777 467 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array pitchmod14 131 float 1;
|
||||
#A 0 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
|
||||
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.863077
|
||||
0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077
|
||||
0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077
|
||||
0.863077 0.863077 0.863077 0.863077 0.863077 0.831692 0.847385 0.847385
|
||||
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
|
||||
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
|
||||
0.847385 0.863077 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
|
||||
-0.800308 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.768923 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.768923 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.800308 -0.800308
|
||||
-0.800308 -0.800308 -0.800308 -0.800308 -0.800308;
|
||||
#X coords 0 1.02 130 -1.02 258 130 1;
|
||||
#X restore 462 30 graph;
|
||||
#X floatatom 191 277 0 0 100 0 - - -;
|
||||
#N canvas 159 26 532 285 output 0;
|
||||
#X obj 338 160 t b;
|
||||
#X obj 338 110 f;
|
||||
#X obj 338 60 inlet;
|
||||
#X text 344 29 mute;
|
||||
#X obj 338 185 f;
|
||||
#X msg 426 180 0;
|
||||
#X msg 338 85 bang;
|
||||
#X obj 338 135 moses 1;
|
||||
#X obj 397 110 moses 1;
|
||||
#X obj 83 148 dbtorms;
|
||||
#X obj 397 85 r master-lvl;
|
||||
#X obj 83 42 r master-lvl;
|
||||
#X obj 338 210 s master-lvl;
|
||||
#X obj 20 155 inlet~;
|
||||
#X obj 199 41 inlet;
|
||||
#X text 199 18 level;
|
||||
#X obj 199 105 s master-lvl;
|
||||
#X msg 96 65 set \$1;
|
||||
#X obj 96 90 outlet;
|
||||
#X msg 214 65 \; pd dsp 1;
|
||||
#X obj 83 198 line~;
|
||||
#X obj 20 207 *~;
|
||||
#X obj 20 232 dac~;
|
||||
#X obj 83 173 pack 0 50;
|
||||
#X text 20 132 audio;
|
||||
#X text 96 114 show level;
|
||||
#X obj 426 155 t b;
|
||||
#X obj 20 181 hip~ 1;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 4 0 12 0;
|
||||
#X connect 5 0 12 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 7 1 26 0;
|
||||
#X connect 8 1 4 1;
|
||||
#X connect 9 0 23 0;
|
||||
#X connect 10 0 1 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 9 0;
|
||||
#X connect 11 0 17 0;
|
||||
#X connect 13 0 27 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 14 0 19 0;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 20 0 21 1;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 21 0 22 1;
|
||||
#X connect 23 0 20 0;
|
||||
#X connect 26 0 5 0;
|
||||
#X connect 27 0 21 0;
|
||||
#X restore 153 305 pd output;
|
||||
#X msg 229 278 MUTE;
|
||||
#X floatatom 153 95 4 0 0 0 - - -;
|
||||
#X text 153 69 frequency;
|
||||
#X floatatom 195 206 4 0 0 0 - - -;
|
||||
#X text 155 50 modulation;
|
||||
#X obj 152 157 *~;
|
||||
#X text 255 150 modulation;
|
||||
#X text 253 169 depth;
|
||||
#X floatatom 201 157 4 0 0 0 - - -;
|
||||
#X obj 152 205 +~;
|
||||
#X text 250 212 frequency;
|
||||
#X obj 152 237 osc~;
|
||||
#X obj 153 122 tabosc4~ pitchmod14;
|
||||
#X text 254 194 carrier;
|
||||
#X text 33 8 FREQUENCY MODULATION BY WAVETABLE;
|
||||
#X text 47 356 This tabosc4~ controls the pitch of a sinusoidal oscillator
|
||||
(osc~). Try changing the waveform as well as the three familiar parameters.
|
||||
;
|
||||
#X text 520 438 updated for Pd version 0.37;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 2 2;
|
||||
#X connect 4 0 15 0;
|
||||
#X connect 6 0 12 1;
|
||||
#X connect 8 0 12 0;
|
||||
#X connect 11 0 8 1;
|
||||
#X connect 12 0 14 0;
|
||||
#X connect 14 0 2 0;
|
||||
#X connect 15 0 8 0;
|
127
pd-0.44-2/doc/3.audio.examples/B06.table.switching.pd
Normal file
127
pd-0.44-2/doc/3.audio.examples/B06.table.switching.pd
Normal file
|
@ -0,0 +1,127 @@
|
|||
#N canvas 55 137 835 504 12;
|
||||
#X graph graph1 0 -1.02 130 1.02 565 153 823 23;
|
||||
#X array waveshape15a 131 float 1;
|
||||
#A 0 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
|
||||
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.863077
|
||||
0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077
|
||||
0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077 0.863077
|
||||
0.863077 0.863077 0.863077 0.863077 0.863077 0.831692 0.847385 0.847385
|
||||
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
|
||||
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
|
||||
0.847385 0.863077 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385
|
||||
-0.800308 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.768923 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.768923 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.800308 -0.800308
|
||||
-0.800308 -0.800308 -0.800308 -0.800308 -0.800308;
|
||||
#X pop;
|
||||
#X floatatom 194 299 0 0 100;
|
||||
#N canvas 159 26 532 285 output 0;
|
||||
#X obj 338 160 t b;
|
||||
#X obj 338 110 f;
|
||||
#X obj 338 60 inlet;
|
||||
#X text 344 29 mute;
|
||||
#X obj 338 185 f;
|
||||
#X msg 426 180 0;
|
||||
#X msg 338 85 bang;
|
||||
#X obj 338 135 moses 1;
|
||||
#X obj 397 110 moses 1;
|
||||
#X obj 83 148 dbtorms;
|
||||
#X obj 397 85 r master-lvl;
|
||||
#X obj 83 42 r master-lvl;
|
||||
#X obj 338 210 s master-lvl;
|
||||
#X obj 20 155 inlet~;
|
||||
#X obj 199 41 inlet;
|
||||
#X text 199 18 level;
|
||||
#X obj 199 105 s master-lvl;
|
||||
#X msg 96 65 set \$1;
|
||||
#X obj 96 90 outlet;
|
||||
#X msg 214 65 \; pd dsp 1;
|
||||
#X obj 83 198 line~;
|
||||
#X obj 20 207 *~;
|
||||
#X obj 20 232 dac~;
|
||||
#X obj 83 173 pack 0 50;
|
||||
#X text 20 132 audio;
|
||||
#X text 96 114 show level;
|
||||
#X obj 426 155 t b;
|
||||
#X obj 20 181 hip~ 1;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 4 0 12 0;
|
||||
#X connect 5 0 12 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 7 1 26 0;
|
||||
#X connect 8 1 4 1;
|
||||
#X connect 9 0 23 0;
|
||||
#X connect 10 0 1 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 9 0;
|
||||
#X connect 11 0 17 0;
|
||||
#X connect 13 0 27 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 14 0 19 0;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 20 0 21 1;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 21 0 22 1;
|
||||
#X connect 23 0 20 0;
|
||||
#X connect 26 0 5 0;
|
||||
#X connect 27 0 21 0;
|
||||
#X restore 156 327 pd output;
|
||||
#X msg 232 300 MUTE;
|
||||
#X text 581 481 updated for Pd version 0.34;
|
||||
#X text 33 8 SWITCHING BETWEEN TABLES;
|
||||
#X graph graph1 0 -1.02 130 1.02 565 308 823 178;
|
||||
#X array waveshape15b 131 float 1;
|
||||
#A 0 -0.659077 -0.643385 -0.643385 -0.627692 -0.612 -0.612 -0.596308
|
||||
-0.596308 -0.580615 -0.580615 -0.580615 -0.580615 -0.580615 -0.580615
|
||||
-0.580615 -0.596308 -0.596308 -0.596308 -0.596308 -0.596308 -0.596308
|
||||
-0.596308 -0.596308 -0.580615 -0.580615 -0.580615 -0.580615 -0.580615
|
||||
-0.580615 -0.580615 -0.580615 -0.564923 -0.549231 -0.549231 -0.533538
|
||||
-0.517846 -0.517846 -0.517846 -0.517846 -0.517846 -0.517846 -0.517846
|
||||
-0.517846 -0.533538 -0.549231 -0.580615 -0.580615 0.847385 0.847385
|
||||
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 0.863077
|
||||
0.847385 0.847385 0.847385 0.847385 0.847385 0.847385 -0.800308 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.768923 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.768923 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615 -0.784615
|
||||
-0.784615 -0.784615 -0.784615 -0.800308 -0.800308 -0.800308 -0.800308
|
||||
-0.800308 -0.800308 -0.800308;
|
||||
#X pop;
|
||||
#X obj 156 274 tabosc4~ waveshape15a;
|
||||
#X obj 156 186 sig~ 110;
|
||||
#X msg 181 215 set waveshape15a;
|
||||
#X msg 182 244 set waveshape15b;
|
||||
#X text 20 51 During a performance you're unlikely to want to draw
|
||||
or recalculate wavetables on the fly \, because you don't want to give
|
||||
Pd computationally intensive atomic tasks that could make Pd miss a
|
||||
DAC deadline. Instead \, use "set" mesages to switch tabosc~ or tabread4~
|
||||
between pre-prepared tables. Indeed \, you will eventually want to
|
||||
save screen space by throwing all your wavetables in a subpatch somewhere.
|
||||
;
|
||||
#X obj 161 401 table waveshape15c 131;
|
||||
#X text 41 362 There's also a "text object" hook so that you can have
|
||||
arrays with parametrizable names and sizes:;
|
||||
#X text 31 431 You would use this if you want to include one or more
|
||||
arrays in an abstraction. In this invocation you can't save the state
|
||||
of the array--instead \, juts read it in from a file or calculate it
|
||||
at startup.;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 2 2;
|
||||
#X connect 7 0 2 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 7 0;
|
||||
#X connect 10 0 7 0;
|
52
pd-0.44-2/doc/3.audio.examples/B07.sampler.pd
Normal file
52
pd-0.44-2/doc/3.audio.examples/B07.sampler.pd
Normal file
|
@ -0,0 +1,52 @@
|
|||
#N canvas 11 3 915 618 12;
|
||||
#X obj 37 217 hip~ 5;
|
||||
#X text 96 219 high pass filter to cut DC;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array sample-table 44104 float 0;
|
||||
#X coords 0 1.02 44103 -1.02 200 130 1;
|
||||
#X restore 585 20 graph;
|
||||
#X obj 37 185 tabread4~ sample-table;
|
||||
#X obj 37 150 line~;
|
||||
#X obj 37 101 * 441;
|
||||
#X floatatom 37 47 0 0 100 0 - - -;
|
||||
#X obj 37 125 pack 0 100;
|
||||
#X text 102 13 SCRATCH MACHINE;
|
||||
#X text 72 48 <-- read point in 100ths of a second;
|
||||
#X text 94 101 convert to SAMPLES (441 samples in 0.01 sec);
|
||||
#X obj 405 235 loadbang;
|
||||
#X text 246 174 read from the table;
|
||||
#X text 237 192 (the input is the index in samples);
|
||||
#X text 16 482 For more on reading and writing soundfiles to tables
|
||||
\, setting their lengths \, etc \, see "arrays" in the "control examples"
|
||||
series.;
|
||||
#X text 14 355 This patch introduces the "tabread4~" object \, which
|
||||
reads audio samples out of a floating-point array \, often called a
|
||||
"sample table." The input is the index of the sample to read \, counting
|
||||
from zero. The output is calculated using 4-point cubic interpolation
|
||||
\, which is adequate for most purposes. Because of the interpolation
|
||||
scheme \, tabread4~'s input cannot be less than one or greater than
|
||||
the table length minus two.;
|
||||
#X text 17 539 Fanatics take note: if you want really high-fidelity
|
||||
sampling \, use a high-quality resampling program to up-sample your
|
||||
soundfile to 88200 to drastically reduce interpolation error.;
|
||||
#X text 591 173 (one second plus three extra;
|
||||
#X text 593 192 for 4-point interpolation);
|
||||
#X text 385 304 message to read a soundfile into the table (automatically
|
||||
sent when you load this patch by the "loadbang" object.);
|
||||
#X text 84 150 convert smoothly to audio signal;
|
||||
#X text 84 62 (range is 0-100.) YOU ONLY HEAR OUTPUT;
|
||||
#X text 85 78 WHEN THIS IS 0-100 AND ACTIVELY CHANGING.;
|
||||
#X text 596 589 updated for Pd version 0.33;
|
||||
#X text 584 151 --- 44103 samples ---;
|
||||
#X msg 405 259 read ../sound/voice.wav sample-table;
|
||||
#X obj 405 284 soundfiler;
|
||||
#X obj 36 249 output~;
|
||||
#X connect 0 0 27 0;
|
||||
#X connect 0 0 27 1;
|
||||
#X connect 3 0 0 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X connect 7 0 4 0;
|
||||
#X connect 11 0 25 0;
|
||||
#X connect 25 0 26 0;
|
64
pd-0.44-2/doc/3.audio.examples/B08.sampler.loop.pd
Normal file
64
pd-0.44-2/doc/3.audio.examples/B08.sampler.loop.pd
Normal file
|
@ -0,0 +1,64 @@
|
|||
#N canvas 143 17 992 621 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array tabread4-out 44100 float 0;
|
||||
#X coords 0 1.02 44100 -1.02 200 130 1;
|
||||
#X restore 632 200 graph;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array table17 44103 float 0;
|
||||
#X coords 0 1.02 44103 -1.02 200 130 1;
|
||||
#X restore 631 14 graph;
|
||||
#X obj 568 496 loadbang;
|
||||
#X obj 65 277 tabwrite~ tabread4-out;
|
||||
#X obj 34 308 hip~ 5;
|
||||
#X floatatom 34 54 0 0 0 0 - - -;
|
||||
#X text 241 215 read from the table;
|
||||
#X text 49 11 LOOPING SAMPLER;
|
||||
#X text 83 54 <-- frequency (Hz.);
|
||||
#X floatatom 65 107 0 0 0 0 - - -;
|
||||
#X obj 65 133 * 441;
|
||||
#X obj 34 160 *~ 0;
|
||||
#X obj 34 187 +~ 1;
|
||||
#X text 110 248 <-- click to display output;
|
||||
#X obj 34 80 phasor~ 0;
|
||||
#X msg 65 245 bang;
|
||||
#X text 110 108 <-- chunk size (100ths of a second);
|
||||
#X obj 561 395 adc~ 1;
|
||||
#X msg 575 422 bang;
|
||||
#X text 615 423 <-- click here to record your own sample;
|
||||
#X text 678 501 v-- re-read the original sample;
|
||||
#X text 14 540 In this patch you will frequently hear discontinuities
|
||||
at the looping point. If you're working in a studio \, you can sometimes
|
||||
find "good" loop points for samples. Another approach \, better for
|
||||
live situations \, is shown in the next patch.;
|
||||
#X text 80 159 <-- readjust phase for range 0 - (chunk size);
|
||||
#X text 79 187 <-- add one to avoid beginning of table;
|
||||
#X obj 568 549 soundfiler;
|
||||
#X text 629 153 ---- 44103 samples ----;
|
||||
#X text 643 336 ---- 1 second ------;
|
||||
#X obj 34 335 output~;
|
||||
#X text 742 591 updated for Pd version 0.37;
|
||||
#X obj 34 216 tabread4~ table17;
|
||||
#X obj 562 455 tabwrite~ table17;
|
||||
#X msg 568 524 read ../sound/voice.wav table17;
|
||||
#X text 16 409 This is a looping sampler in which you specify the number
|
||||
of loops per second (the frequency) and the size of the chunk to loop.
|
||||
If the frequency is less than about 20 \, you will hear repetition
|
||||
and the chunk size will sound like transposition. For frequencies above
|
||||
50 or so \, you hear a tone whose timbre is controlled by the chunk
|
||||
size (best kept below 10 or so.) Remember you can use the "shift" key
|
||||
on number boxes to make fine adjustments.;
|
||||
#X connect 2 0 31 0;
|
||||
#X connect 4 0 27 0;
|
||||
#X connect 4 0 27 1;
|
||||
#X connect 5 0 14 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 11 1;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 29 0;
|
||||
#X connect 14 0 11 0;
|
||||
#X connect 15 0 3 0;
|
||||
#X connect 17 0 30 0;
|
||||
#X connect 18 0 30 0;
|
||||
#X connect 29 0 4 0;
|
||||
#X connect 29 0 3 0;
|
||||
#X connect 31 0 24 0;
|
72
pd-0.44-2/doc/3.audio.examples/B09.sampler.loop.smooth.pd
Normal file
72
pd-0.44-2/doc/3.audio.examples/B09.sampler.loop.smooth.pd
Normal file
|
@ -0,0 +1,72 @@
|
|||
#N canvas 75 15 973 599 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array cos-output 44100 float 0;
|
||||
#X coords 0 1.02 44100 -1.02 200 130 1;
|
||||
#X restore 724 191 graph;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array table18 44103 float 0;
|
||||
#X coords 0 1.02 44103 -1.02 200 130 1;
|
||||
#X restore 721 16 graph;
|
||||
#X obj 584 491 loadbang;
|
||||
#X obj 45 249 hip~ 5;
|
||||
#X floatatom 46 50 0 0 0 0 - - -;
|
||||
#X text 85 49 <-- frequency (Hz.);
|
||||
#X floatatom 132 87 0 0 0 0 - - -;
|
||||
#X obj 132 114 * 441;
|
||||
#X obj 110 163 +~ 1;
|
||||
#X text 171 86 <-- chunk size (100ths of a second);
|
||||
#X obj 584 404 adc~ 1;
|
||||
#X msg 599 429 bang;
|
||||
#X text 40 9 ENVELOPING YOUR LOOPING SAMPLER;
|
||||
#X obj 45 139 -~ 0.5;
|
||||
#X obj 45 189 cos~;
|
||||
#X obj 45 222 *~;
|
||||
#X obj 584 545 soundfiler;
|
||||
#X text 736 148 -- 44103 samples ---;
|
||||
#X text 727 322 ----- 1 second ------;
|
||||
#X obj 46 77 phasor~;
|
||||
#X obj 45 164 *~ 0.5;
|
||||
#X obj 44 281 output~;
|
||||
#X obj 110 138 *~;
|
||||
#X text 28 362 Here we apply an amplitude envelope to protect against
|
||||
discontinuities at the loop point. The envelope is just a cosine wave
|
||||
from -90 degrees to +90 degrees \, (-pi/2 to pi/2 radians) \, i.e.
|
||||
\, the part that is zero or positive in sign. The "cos~" object's input
|
||||
is in cycles (units of 2pi radians) so -1/4 to +1/4 addresses the desired
|
||||
part of the waveform.;
|
||||
#X obj 167 247 tabwrite~ cos-output;
|
||||
#X obj 167 223 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X text 188 220 <-- click to graph envelope;
|
||||
#X text 28 476 To see the envelope \, put the phasor on 2 Hz or so
|
||||
\, click the "graph" button \, and look at "cos-output." This is multiplied
|
||||
by the tabread4~ output so that it doesn't click when the phase wraps
|
||||
around.;
|
||||
#X text 26 545 It is possible to get much more control over the shape
|
||||
of the envelope \, but this will be taken up later.;
|
||||
#X obj 110 189 tabread4~ table18;
|
||||
#X obj 584 456 tabwrite~ table18;
|
||||
#X msg 584 520 read ../sound/voice.wav table18;
|
||||
#X text 641 430 <-- click here to record to table;
|
||||
#X text 675 499 v-- re-read the original sound;
|
||||
#X text 708 565 updated for Pd version 0.37;
|
||||
#X connect 2 0 31 0;
|
||||
#X connect 3 0 21 0;
|
||||
#X connect 3 0 21 1;
|
||||
#X connect 4 0 19 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 22 1;
|
||||
#X connect 8 0 29 0;
|
||||
#X connect 10 0 30 0;
|
||||
#X connect 11 0 30 0;
|
||||
#X connect 13 0 20 0;
|
||||
#X connect 14 0 15 0;
|
||||
#X connect 14 0 24 0;
|
||||
#X connect 15 0 3 0;
|
||||
#X connect 19 0 13 0;
|
||||
#X connect 19 0 22 0;
|
||||
#X connect 20 0 14 0;
|
||||
#X connect 22 0 8 0;
|
||||
#X connect 25 0 24 0;
|
||||
#X connect 29 0 15 1;
|
||||
#X connect 31 0 16 0;
|
83
pd-0.44-2/doc/3.audio.examples/B10.sampler.scratch.pd
Normal file
83
pd-0.44-2/doc/3.audio.examples/B10.sampler.scratch.pd
Normal file
|
@ -0,0 +1,83 @@
|
|||
#N canvas 53 232 936 654 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array table19 44103 float 0;
|
||||
#X coords 0 1.02 44100 -1.02 200 130 1;
|
||||
#X restore 680 8 graph;
|
||||
#X obj 40 382 hip~ 5;
|
||||
#X floatatom 99 51 0 0 0 0 - - -;
|
||||
#X text 146 50 <-- frequency (Hz.);
|
||||
#X floatatom 129 106 0 0 0 0 - - -;
|
||||
#X obj 129 135 * 441;
|
||||
#X obj 100 158 *~ 0;
|
||||
#X obj 100 181 +~ 1;
|
||||
#X msg 194 281 bang;
|
||||
#X text 164 106 <-- chunk size (100ths of a second);
|
||||
#X obj 591 369 adc~ 1;
|
||||
#X obj 591 395 hip~ 5;
|
||||
#X msg 609 423 bang;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array graph19 44100 float 0;
|
||||
#X coords 0 44100 44100 0 200 130 1;
|
||||
#X restore 681 196 graph;
|
||||
#X obj 40 356 *~;
|
||||
#X obj 123 276 line~;
|
||||
#X obj 123 228 * 441;
|
||||
#X floatatom 123 205 0 0 0 0 - - -;
|
||||
#X obj 123 252 pack 0 100;
|
||||
#X obj 101 310 +~;
|
||||
#X text 34 474 In this patch we can loop in any "window" of the input
|
||||
sample. The "read point" (0-100) gives the starting point of the window
|
||||
and "chunk" is its size (both in 100ths of a second.) Try \, for example
|
||||
\, frequency 4 \, sharpness 10 \, chunk size 25 \, and vary the read
|
||||
point from -25 to 100 \, listening to the result.;
|
||||
#X text 242 281 <-- graph table index;
|
||||
#X text 684 337 ----- 1 second ------;
|
||||
#X obj 595 490 loadbang;
|
||||
#X text 631 514 v-- re-read the original sample;
|
||||
#X obj 605 559 soundfiler;
|
||||
#X text 678 147 ---- 44103 samples ---;
|
||||
#X obj 591 455 tabwrite~ table19;
|
||||
#X msg 605 535 read ../sound/voice.wav table19;
|
||||
#X text 688 628 updated for Pd version 0.37;
|
||||
#X msg 595 585 \; graph19 ylabel 48000 0 44100;
|
||||
#X obj 39 103 -~ 0.5;
|
||||
#X obj 99 76 phasor~;
|
||||
#X obj 39 127 *~ 0.5;
|
||||
#X obj 39 150 cos~;
|
||||
#X text 157 206 <-- read point (100ths of a second);
|
||||
#X obj 41 406 output~;
|
||||
#X text 651 422 <-- record;
|
||||
#X text 36 13 ENVELOPING THE LOOPING SAMPLER;
|
||||
#X text 37 574 You should hear some doppler shift as you change the
|
||||
read point. To see why \, click on "graph table index" and quickly
|
||||
start changing the read point--- you should see entertaining pictures
|
||||
in "table-index". The next patch shows how to prevent this if you wish
|
||||
to.;
|
||||
#X obj 100 336 tabread4~ table19;
|
||||
#X obj 194 307 tabwrite~ graph19;
|
||||
#X connect 1 0 36 0;
|
||||
#X connect 2 0 32 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 6 1;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 19 0;
|
||||
#X connect 8 0 41 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 27 0;
|
||||
#X connect 12 0 27 0;
|
||||
#X connect 14 0 1 0;
|
||||
#X connect 15 0 19 1;
|
||||
#X connect 16 0 18 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 18 0 15 0;
|
||||
#X connect 19 0 40 0;
|
||||
#X connect 19 0 41 0;
|
||||
#X connect 23 0 30 0;
|
||||
#X connect 23 0 28 0;
|
||||
#X connect 28 0 25 0;
|
||||
#X connect 31 0 33 0;
|
||||
#X connect 32 0 6 0;
|
||||
#X connect 32 0 31 0;
|
||||
#X connect 33 0 34 0;
|
||||
#X connect 34 0 14 0;
|
||||
#X connect 40 0 14 1;
|
85
pd-0.44-2/doc/3.audio.examples/B11.sampler.nodoppler.pd
Normal file
85
pd-0.44-2/doc/3.audio.examples/B11.sampler.nodoppler.pd
Normal file
|
@ -0,0 +1,85 @@
|
|||
#N canvas 177 116 924 622 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array table20 44103 float 0;
|
||||
#X coords 0 1.02 44100 -1.02 200 130 1;
|
||||
#X restore 631 10 graph;
|
||||
#X obj 582 447 loadbang;
|
||||
#X obj 13 425 hip~ 5;
|
||||
#X floatatom 87 49 0 0 0 0 - - -;
|
||||
#X text 126 48 <-- frequency (Hz.);
|
||||
#X floatatom 150 108 0 0 0 0 - - -;
|
||||
#X obj 150 133 * 441;
|
||||
#X obj 50 220 +~ 1;
|
||||
#X obj 87 73 phasor~ 0;
|
||||
#X msg 175 273 bang;
|
||||
#X text 189 107 <-- chunk size (100ths of a second);
|
||||
#X obj 576 343 adc~ 1;
|
||||
#X obj 576 367 hip~ 5;
|
||||
#X msg 591 390 bang;
|
||||
#X text 630 464 v-- re-read the original sample;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array graph20 44100 float 0;
|
||||
#X coords 0 44100 44100 0 200 130 1;
|
||||
#X restore 633 179 graph;
|
||||
#X obj 13 401 *~;
|
||||
#X obj 72 308 line~;
|
||||
#X obj 149 242 * 441;
|
||||
#X floatatom 149 218 0 0 0 0 - - -;
|
||||
#X obj 72 284 pack 0 100;
|
||||
#X text 184 217 <-- read point in 100ths of a second;
|
||||
#X obj 51 356 +~;
|
||||
#X text 218 272 <-- graph table index;
|
||||
#X obj 72 332 samphold~;
|
||||
#X obj 74 170 samphold~;
|
||||
#X obj 51 196 *~;
|
||||
#X text 643 315 ----- 1 second ------;
|
||||
#X text 631 144 ---- 44103 samples ---;
|
||||
#X obj 591 508 soundfiler;
|
||||
#X text 21 8 SLIDING STABLE LOOPS WITHOUT DOPPLER SHIFT;
|
||||
#X msg 582 534 \; graph20 ylabel 48000 0 44100;
|
||||
#X text 631 390 <-- record;
|
||||
#X obj 13 451 output~;
|
||||
#X obj 12 103 -~ 0.5;
|
||||
#X obj 12 127 *~ 0.5;
|
||||
#X obj 12 150 cos~;
|
||||
#X obj 175 353 tabwrite~ graph20;
|
||||
#X obj 51 381 tabread4~ table20;
|
||||
#X obj 576 417 tabwrite~ table20;
|
||||
#X msg 591 484 read ../sound/voice.wav table20;
|
||||
#X text 11 518 This example differs from the previous one in having
|
||||
samphold~ objects which allow the chunk size and especially the read
|
||||
point to change only at points where the phase wraps around. This removes
|
||||
signal discontinuities (when the chunk size changes) and doppler shift
|
||||
when the read point is changing.;
|
||||
#X text 652 592 updated for Pd version 0.37;
|
||||
#X connect 1 0 31 0;
|
||||
#X connect 1 0 40 0;
|
||||
#X connect 2 0 33 0;
|
||||
#X connect 2 0 33 1;
|
||||
#X connect 3 0 8 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 25 0;
|
||||
#X connect 7 0 22 0;
|
||||
#X connect 8 0 24 1;
|
||||
#X connect 8 0 25 1;
|
||||
#X connect 8 0 26 0;
|
||||
#X connect 8 0 34 0;
|
||||
#X connect 9 0 37 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 39 0;
|
||||
#X connect 13 0 39 0;
|
||||
#X connect 16 0 2 0;
|
||||
#X connect 17 0 24 0;
|
||||
#X connect 18 0 20 0;
|
||||
#X connect 19 0 18 0;
|
||||
#X connect 20 0 17 0;
|
||||
#X connect 22 0 37 0;
|
||||
#X connect 22 0 38 0;
|
||||
#X connect 24 0 22 1;
|
||||
#X connect 25 0 26 1;
|
||||
#X connect 26 0 7 0;
|
||||
#X connect 34 0 35 0;
|
||||
#X connect 35 0 36 0;
|
||||
#X connect 36 0 16 0;
|
||||
#X connect 38 0 16 1;
|
||||
#X connect 40 0 29 0;
|
109
pd-0.44-2/doc/3.audio.examples/B12.sampler.transpose.pd
Normal file
109
pd-0.44-2/doc/3.audio.examples/B12.sampler.transpose.pd
Normal file
|
@ -0,0 +1,109 @@
|
|||
#N canvas 107 88 930 596 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array table21 44103 float 0;
|
||||
#X coords 0 1.02 44100 -1.02 200 130 1;
|
||||
#X restore 645 291 graph;
|
||||
#X obj 467 506 loadbang;
|
||||
#X obj 19 508 hip~ 5;
|
||||
#X floatatom 10 254 0 0 0 0 - - -;
|
||||
#X obj 10 279 * 441;
|
||||
#X obj 10 401 +~ 1;
|
||||
#X text 47 253 <-- chunk size (100ths of a second);
|
||||
#X obj 471 402 adc~ 1;
|
||||
#X obj 471 427 hip~ 5;
|
||||
#X msg 486 449 bang;
|
||||
#X obj 44 482 *~;
|
||||
#X obj 106 404 line~;
|
||||
#X obj 106 354 * 441;
|
||||
#X floatatom 106 329 0 0 0 0 - - -;
|
||||
#X obj 106 379 pack 0 100;
|
||||
#X text 152 331 <-- read point in 100ths of a second;
|
||||
#X obj 44 433 +~;
|
||||
#X obj 106 429 samphold~;
|
||||
#X obj 10 329 samphold~;
|
||||
#X obj 10 304 sig~;
|
||||
#X obj 10 376 *~;
|
||||
#X text 18 5 CALCULATING LOOP FREQUENCY AS FUNCTION OF TRANSPOSITION
|
||||
;
|
||||
#X obj 124 485 r~ phase;
|
||||
#X obj 10 204 s~ phase;
|
||||
#X obj 68 304 r~ phase;
|
||||
#X obj 26 351 r~ phase;
|
||||
#X obj 164 405 r~ phase;
|
||||
#X obj 151 299 s chunk-size;
|
||||
#X floatatom 10 50 0 0 0 0 - - -;
|
||||
#X text 48 51 <-- transposition (10ths of a halftone);
|
||||
#X obj 151 274 * 0.01;
|
||||
#X text 264 287 chunk size;
|
||||
#X text 264 309 in seconds;
|
||||
#X obj 21 105 r chunk-size;
|
||||
#X obj 21 130 t b f;
|
||||
#X obj 10 154 /;
|
||||
#X text 80 131 divide speed change by chunk;
|
||||
#X text 78 152 size to get loop frequency;
|
||||
#X text 382 75 The transposition is frequency in Hz. divided by chunk
|
||||
size in seconds. This patch calculates the loop frequency as a function
|
||||
of desired transposition;
|
||||
#X text 384 126 Notice now that we get Doppler effects when the chunk
|
||||
size changes. You can suppress that if you don't want it \, by converting
|
||||
the chunk size to an audio signal \, sampling and holding it. But then
|
||||
there would be more work to deal with very low frequencies never triggering
|
||||
the sample and hold...;
|
||||
#X obj 467 560 soundfiler;
|
||||
#X obj 10 27 loadbang;
|
||||
#X obj 124 509 -~ 0.5;
|
||||
#X obj 124 533 *~ 0.5;
|
||||
#X obj 124 556 cos~;
|
||||
#X obj 19 533 output~;
|
||||
#X obj 44 458 tabread4~ table21;
|
||||
#X text 527 449 <-- record;
|
||||
#X text 560 513 v-- re-read original table;
|
||||
#X text 682 572 updated for Pd version 0.37;
|
||||
#X text 647 425 --- 44103 samples ---;
|
||||
#X obj 10 75 expr pow(2 \, $f1/120);
|
||||
#X text 199 75 speed change;
|
||||
#X text 387 208 You might also want to have a way to retrigger the
|
||||
loop to sync it with some other process. By the time we had all this
|
||||
built the patch would be fairly involved. For now \, we'll move on
|
||||
to the next topic...;
|
||||
#X obj 10 178 phasor~;
|
||||
#X obj 471 476 tabwrite~ table21;
|
||||
#X msg 467 533 read ../sound/voice.wav table21;
|
||||
#X connect 1 0 56 0;
|
||||
#X connect 2 0 45 0;
|
||||
#X connect 2 0 45 1;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 30 0;
|
||||
#X connect 4 0 19 0;
|
||||
#X connect 5 0 16 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 55 0;
|
||||
#X connect 9 0 55 0;
|
||||
#X connect 10 0 2 0;
|
||||
#X connect 11 0 17 0;
|
||||
#X connect 12 0 14 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 14 0 11 0;
|
||||
#X connect 16 0 46 0;
|
||||
#X connect 17 0 16 1;
|
||||
#X connect 18 0 20 0;
|
||||
#X connect 19 0 18 0;
|
||||
#X connect 20 0 5 0;
|
||||
#X connect 22 0 42 0;
|
||||
#X connect 24 0 18 1;
|
||||
#X connect 25 0 20 1;
|
||||
#X connect 26 0 17 1;
|
||||
#X connect 28 0 51 0;
|
||||
#X connect 30 0 27 0;
|
||||
#X connect 33 0 34 0;
|
||||
#X connect 34 0 35 0;
|
||||
#X connect 34 1 35 1;
|
||||
#X connect 35 0 54 0;
|
||||
#X connect 41 0 28 0;
|
||||
#X connect 42 0 43 0;
|
||||
#X connect 43 0 44 0;
|
||||
#X connect 44 0 10 1;
|
||||
#X connect 46 0 10 0;
|
||||
#X connect 51 0 35 0;
|
||||
#X connect 54 0 23 0;
|
||||
#X connect 56 0 40 0;
|
158
pd-0.44-2/doc/3.audio.examples/B13.sampler.overlap.pd
Normal file
158
pd-0.44-2/doc/3.audio.examples/B13.sampler.overlap.pd
Normal file
|
@ -0,0 +1,158 @@
|
|||
#N canvas 28 47 748 713 12;
|
||||
#X obj 19 511 hip~ 5;
|
||||
#X floatatom 25 38 0 0 100 0 - - -;
|
||||
#X obj 25 63 * 441;
|
||||
#X obj 20 380 +~ 1;
|
||||
#X text 69 35 <-- chunk size (100ths of a second);
|
||||
#X obj 20 458 *~;
|
||||
#X obj 26 211 line~;
|
||||
#X obj 26 161 * 441;
|
||||
#X floatatom 26 136 0 0 100 0 - - -;
|
||||
#X obj 26 186 pack 0 100;
|
||||
#X text 60 137 <-- read point in 100ths of a second;
|
||||
#X obj 20 409 +~;
|
||||
#X obj 76 408 samphold~;
|
||||
#X obj 20 308 samphold~;
|
||||
#X obj 20 355 *~;
|
||||
#X obj 185 369 r~ phase;
|
||||
#X obj 418 210 s~ phase;
|
||||
#X obj 108 308 r~ phase;
|
||||
#X obj 42 332 r~ phase;
|
||||
#X obj 96 383 r~ phase;
|
||||
#X obj 77 82 s chunk-size;
|
||||
#X floatatom 418 56 0 0 0 0 - - -;
|
||||
#X obj 77 57 * 0.01;
|
||||
#X text 189 58 chunk size;
|
||||
#X text 189 80 in seconds;
|
||||
#X obj 429 111 r chunk-size;
|
||||
#X obj 429 136 t b f;
|
||||
#X obj 418 160 /;
|
||||
#X obj 418 33 loadbang;
|
||||
#X obj 185 393 -~ 0.5;
|
||||
#X obj 185 417 *~ 0.5;
|
||||
#X obj 185 440 cos~;
|
||||
#X obj 19 536 output~;
|
||||
#X text 486 684 updated for Pd version 0.37;
|
||||
#X obj 418 81 expr pow(2 \, $f1/120);
|
||||
#X text 607 81 speed change;
|
||||
#X obj 418 184 phasor~;
|
||||
#X text 18 5 TWO OVERLAPPING SAMPLE READ ELEMENTS;
|
||||
#N canvas 30 567 660 275 table 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array table22 44103 float 0;
|
||||
#X coords 0 1.02 44100 -1.02 200 130 1;
|
||||
#X restore 442 61 graph;
|
||||
#X text 444 195 --- 44103 samples ---;
|
||||
#X obj 41 148 loadbang;
|
||||
#X obj 45 44 adc~ 1;
|
||||
#X obj 45 69 hip~ 5;
|
||||
#X msg 60 91 bang;
|
||||
#X obj 41 202 soundfiler;
|
||||
#X text 101 91 <-- record;
|
||||
#X text 134 155 v-- re-read original table;
|
||||
#X obj 45 118 tabwrite~ table22;
|
||||
#X msg 41 175 read ../sound/voice.wav table22;
|
||||
#X connect 2 0 10 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 9 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 10 0 6 0;
|
||||
#X restore 567 327 pd table;
|
||||
#X obj 25 110 s chunk-size-samples;
|
||||
#X text 211 112 ... and in samples;
|
||||
#X obj 26 234 s~ read-pt;
|
||||
#X obj 77 360 r~ read-pt;
|
||||
#X obj 505 203 +~ 0.5;
|
||||
#X obj 506 229 wrap~;
|
||||
#X obj 506 254 s~ phase2;
|
||||
#X obj 20 283 r chunk-size-samples;
|
||||
#X obj 274 391 +~ 1;
|
||||
#X obj 274 469 *~;
|
||||
#X obj 274 420 +~;
|
||||
#X obj 329 419 samphold~;
|
||||
#X obj 274 319 samphold~;
|
||||
#X obj 274 366 *~;
|
||||
#X obj 439 404 -~ 0.5;
|
||||
#X obj 439 428 *~ 0.5;
|
||||
#X obj 439 451 cos~;
|
||||
#X obj 330 371 r~ read-pt;
|
||||
#X obj 274 294 r chunk-size-samples;
|
||||
#X obj 363 320 r~ phase2;
|
||||
#X obj 296 343 r~ phase2;
|
||||
#X obj 439 380 r~ phase2;
|
||||
#X obj 339 394 r~ phase2;
|
||||
#X obj 19 487 +~;
|
||||
#X text 453 56 <-- transposition \, halftones/10;
|
||||
#X text 456 159 loop frequency;
|
||||
#X text 566 190 second phase signal;
|
||||
#X text 566 210 out of phase from;
|
||||
#X text 565 231 first one;
|
||||
#X text 70 265 copy 1;
|
||||
#X text 327 274 copy 2;
|
||||
#X text 118 503 Here is the previous patch modified to use two copies
|
||||
of the sample reader \, 180 degrees out of phase. The second sawtooth
|
||||
signal is derived from the first one by adding a constant (0.5) and
|
||||
wrapping the result to fit again between zero and one. The result is
|
||||
the "phase2" signal.;
|
||||
#X text 119 584 The computation of "chunk-size-samples" (as a message)
|
||||
and "read-pt" (an audio signal) is the same for both copies and is
|
||||
separated out at top left. At top right is the same loop frequency
|
||||
calculation as before.;
|
||||
#X text 120 654 Finally \, the two copies' outputs are added and the
|
||||
result sent to the audio output.;
|
||||
#X obj 20 434 tabread4~ table22;
|
||||
#X obj 274 445 tabread4~ table22;
|
||||
#X connect 0 0 32 0;
|
||||
#X connect 0 0 32 1;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 1 0 22 0;
|
||||
#X connect 2 0 39 0;
|
||||
#X connect 3 0 11 0;
|
||||
#X connect 5 0 62 0;
|
||||
#X connect 6 0 41 0;
|
||||
#X connect 7 0 9 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 6 0;
|
||||
#X connect 11 0 73 0;
|
||||
#X connect 12 0 11 1;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 14 0 3 0;
|
||||
#X connect 15 0 29 0;
|
||||
#X connect 17 0 13 1;
|
||||
#X connect 18 0 14 1;
|
||||
#X connect 19 0 12 1;
|
||||
#X connect 21 0 34 0;
|
||||
#X connect 22 0 20 0;
|
||||
#X connect 25 0 26 0;
|
||||
#X connect 26 0 27 0;
|
||||
#X connect 26 1 27 1;
|
||||
#X connect 27 0 36 0;
|
||||
#X connect 28 0 21 0;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 30 0 31 0;
|
||||
#X connect 31 0 5 1;
|
||||
#X connect 34 0 27 0;
|
||||
#X connect 36 0 16 0;
|
||||
#X connect 36 0 43 0;
|
||||
#X connect 42 0 12 0;
|
||||
#X connect 43 0 44 0;
|
||||
#X connect 44 0 45 0;
|
||||
#X connect 46 0 13 0;
|
||||
#X connect 47 0 49 0;
|
||||
#X connect 48 0 62 1;
|
||||
#X connect 49 0 74 0;
|
||||
#X connect 50 0 49 1;
|
||||
#X connect 51 0 52 0;
|
||||
#X connect 52 0 47 0;
|
||||
#X connect 53 0 54 0;
|
||||
#X connect 54 0 55 0;
|
||||
#X connect 55 0 48 1;
|
||||
#X connect 56 0 50 0;
|
||||
#X connect 57 0 51 0;
|
||||
#X connect 58 0 51 1;
|
||||
#X connect 59 0 52 1;
|
||||
#X connect 60 0 53 0;
|
||||
#X connect 61 0 50 1;
|
||||
#X connect 62 0 0 0;
|
||||
#X connect 73 0 5 0;
|
||||
#X connect 74 0 48 0;
|
166
pd-0.44-2/doc/3.audio.examples/B14.sampler.rockafella.pd
Normal file
166
pd-0.44-2/doc/3.audio.examples/B14.sampler.rockafella.pd
Normal file
|
@ -0,0 +1,166 @@
|
|||
#N canvas 123 36 683 718 12;
|
||||
#X obj 6 529 hip~ 5;
|
||||
#X floatatom 8 47 4 0 100 0 - - -;
|
||||
#X obj 7 476 *~;
|
||||
#X floatatom 7 123 0 0 200 0 - - -;
|
||||
#X obj 7 378 +~;
|
||||
#X obj 6 330 samphold~;
|
||||
#X obj 7 354 *~;
|
||||
#X obj 172 385 r~ phase;
|
||||
#X obj 357 210 s~ phase;
|
||||
#X obj 94 331 r~ phase;
|
||||
#X obj 42 355 r~ phase;
|
||||
#X obj 8 90 s chunk-size;
|
||||
#X floatatom 357 42 0 0 0 0 - - -;
|
||||
#X text 124 82 chunk size;
|
||||
#X text 121 96 in seconds;
|
||||
#X obj 369 79 r chunk-size;
|
||||
#X obj 369 104 t b f;
|
||||
#X obj 172 409 -~ 0.5;
|
||||
#X obj 172 433 *~ 0.5;
|
||||
#X obj 172 456 cos~;
|
||||
#X obj 7 560 output~;
|
||||
#X text 417 698 updated for Pd version 0.37;
|
||||
#X obj 357 184 phasor~;
|
||||
#N canvas 30 567 660 275 table 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array table23 44103 float 0;
|
||||
#X coords 0 1.02 44100 -1.02 200 130 1;
|
||||
#X restore 442 61 graph;
|
||||
#X text 444 195 --- 44103 samples ---;
|
||||
#X obj 41 148 loadbang;
|
||||
#X obj 45 44 adc~ 1;
|
||||
#X obj 45 69 hip~ 5;
|
||||
#X msg 60 91 bang;
|
||||
#X obj 41 202 soundfiler;
|
||||
#X text 101 91 <-- record;
|
||||
#X text 134 155 v-- re-read original table;
|
||||
#X obj 45 118 tabwrite~ table23;
|
||||
#X msg 41 175 read ../sound/voice.wav table23;
|
||||
#X connect 2 0 10 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 9 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 10 0 6 0;
|
||||
#X restore 558 460 pd table;
|
||||
#X obj 7 263 s~ read-pt;
|
||||
#X obj 45 378 r~ read-pt;
|
||||
#X obj 444 203 +~ 0.5;
|
||||
#X obj 445 229 wrap~;
|
||||
#X obj 445 254 s~ phase2;
|
||||
#X obj 6 505 +~;
|
||||
#X text 391 43 <-- transposition \, halftones/10;
|
||||
#X obj 8 67 * 0.001;
|
||||
#X obj 7 215 phasor~;
|
||||
#X obj 7 402 *~ 44100;
|
||||
#X obj 7 452 tabread4~ table23;
|
||||
#X obj 6 305 r chunk-size;
|
||||
#X obj 6 428 +~ 1;
|
||||
#X floatatom 365 161 5 0 0 0 - - -;
|
||||
#X obj 15 169 s precession;
|
||||
#X obj 482 103 t b f;
|
||||
#X obj 482 78 r precession;
|
||||
#X obj 7 146 * 0.01;
|
||||
#X obj 258 485 *~;
|
||||
#X obj 258 387 +~;
|
||||
#X obj 257 339 samphold~;
|
||||
#X obj 258 363 *~;
|
||||
#X obj 423 418 -~ 0.5;
|
||||
#X obj 423 442 *~ 0.5;
|
||||
#X obj 423 465 cos~;
|
||||
#X obj 296 387 r~ read-pt;
|
||||
#X obj 258 411 *~ 44100;
|
||||
#X obj 258 461 tabread4~ table23;
|
||||
#X obj 257 314 r chunk-size;
|
||||
#X obj 257 437 +~ 1;
|
||||
#X obj 345 340 r~ phase2;
|
||||
#X obj 293 364 r~ phase2;
|
||||
#X obj 423 394 r~ phase2;
|
||||
#X text 37 123 <-- precession \, percent;
|
||||
#X obj 8 3 loadbang;
|
||||
#X text 158 3 TIME COMPRESSION/EXPANSION BY LOOPED SAMPLING;
|
||||
#X text 111 529 Here \, rather than ask you to push the read pointer
|
||||
back and forth in the sample \, we use a phasor~. This makes it possible
|
||||
to avoid the samphold~ on the read pointer (r~ read-pt) \, since \,
|
||||
knowing the precession \, we can correct for it in computing the frequency
|
||||
of the original phasor~ at right.;
|
||||
#X text 111 626 We've changed the control for "chunk size" to milliseconds
|
||||
for added convenience \, and delayed multiplying sample location by
|
||||
the sample rate (44100) until the last moment \, so that calculations
|
||||
using "read-pt" and "chunk size" can be in the same units (seconds.)
|
||||
;
|
||||
#X msg 8 25 25;
|
||||
#X floatatom 139 192 4 0 900 0 - - -;
|
||||
#X obj 139 212 * 0.001;
|
||||
#X msg 139 170 900;
|
||||
#X text 48 47 <-- chunk size (msec);
|
||||
#X obj 357 136 expr (pow(2 \, $f1/120)-$f3)/$f2;
|
||||
#X obj 139 237 t b f;
|
||||
#X obj 139 146 loadbang;
|
||||
#X text 182 188 <-- loop length;
|
||||
#X text 223 203 (msec);
|
||||
#X obj 7 239 *~;
|
||||
#X obj 7 191 /;
|
||||
#X connect 0 0 20 0;
|
||||
#X connect 0 0 20 1;
|
||||
#X connect 1 0 31 0;
|
||||
#X connect 2 0 29 0;
|
||||
#X connect 3 0 41 0;
|
||||
#X connect 4 0 33 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 4 0;
|
||||
#X connect 7 0 17 0;
|
||||
#X connect 9 0 5 1;
|
||||
#X connect 10 0 6 1;
|
||||
#X connect 12 0 67 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 67 0;
|
||||
#X connect 16 1 67 1;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 19 0 2 1;
|
||||
#X connect 22 0 8 0;
|
||||
#X connect 22 0 26 0;
|
||||
#X connect 25 0 4 1;
|
||||
#X connect 26 0 27 0;
|
||||
#X connect 27 0 28 0;
|
||||
#X connect 29 0 0 0;
|
||||
#X connect 31 0 11 0;
|
||||
#X connect 32 0 72 0;
|
||||
#X connect 33 0 36 0;
|
||||
#X connect 34 0 2 0;
|
||||
#X connect 35 0 5 0;
|
||||
#X connect 36 0 34 0;
|
||||
#X connect 39 0 67 0;
|
||||
#X connect 39 1 67 2;
|
||||
#X connect 40 0 39 0;
|
||||
#X connect 41 0 38 0;
|
||||
#X connect 41 0 73 0;
|
||||
#X connect 42 0 29 1;
|
||||
#X connect 43 0 50 0;
|
||||
#X connect 44 0 45 0;
|
||||
#X connect 45 0 43 0;
|
||||
#X connect 46 0 47 0;
|
||||
#X connect 47 0 48 0;
|
||||
#X connect 48 0 42 1;
|
||||
#X connect 49 0 43 1;
|
||||
#X connect 50 0 53 0;
|
||||
#X connect 51 0 42 0;
|
||||
#X connect 52 0 44 0;
|
||||
#X connect 53 0 51 0;
|
||||
#X connect 54 0 44 1;
|
||||
#X connect 55 0 45 1;
|
||||
#X connect 56 0 46 0;
|
||||
#X connect 58 0 62 0;
|
||||
#X connect 62 0 1 0;
|
||||
#X connect 63 0 64 0;
|
||||
#X connect 64 0 68 0;
|
||||
#X connect 64 0 72 1;
|
||||
#X connect 65 0 63 0;
|
||||
#X connect 67 0 22 0;
|
||||
#X connect 67 0 37 0;
|
||||
#X connect 68 0 73 0;
|
||||
#X connect 68 1 73 1;
|
||||
#X connect 69 0 65 0;
|
||||
#X connect 72 0 24 0;
|
||||
#X connect 73 0 32 0;
|
66
pd-0.44-2/doc/3.audio.examples/B15.tabread4~-onset.pd
Normal file
66
pd-0.44-2/doc/3.audio.examples/B15.tabread4~-onset.pd
Normal file
|
@ -0,0 +1,66 @@
|
|||
#N canvas 87 57 580 690 12;
|
||||
#X text 355 655 updated for Pd version 0.42;
|
||||
#X text 28 36 Pd is usually compiled to work on 32-bit audio samples.
|
||||
These do not \, in general \, have enough precision for use as indices
|
||||
into an array of more than about 32K samples. This is because the mantissa
|
||||
of a 23-bit floating point number has only 24 bits \, out of which
|
||||
you would be using 16 bits or more to address a sample more than 32K
|
||||
into the array \, so there would remain 8 or fewer bits to supply the
|
||||
fraction. In the most extreme situation possible \, the sample could
|
||||
contain a Nyquist frequency sinusoid and the output would then have
|
||||
only about 8 bits of accuracy!;
|
||||
#X text 29 196 You can use the "onset" inlet to tabread4~ to get good
|
||||
accuracy reading longer arrays. The tabread4~ object adds the index
|
||||
and the "main" (signal) inlet in 64-bit precision. So if \, for example
|
||||
\, the onset inlet could specify an integer exactly up to about 8 million
|
||||
(190 seconds at 44100 Hz) \, and the signal inlet could act as a displacement.
|
||||
;
|
||||
#X text 116 13 USING ONSETS INTO TABREAD4~ TO IMPROVE ACCURACY;
|
||||
#X obj 41 587 output~;
|
||||
#X obj 395 507 samplerate~;
|
||||
#X obj 395 531 / 2;
|
||||
#X obj 384 445 loadbang;
|
||||
#X obj 384 582 tabwrite~ \$0-tab;
|
||||
#X obj 40 557 tabread4~ \$0-tab;
|
||||
#X obj 395 555 osc~;
|
||||
#X obj 172 557 tabread4~ \$0-tab;
|
||||
#X obj 173 589 output~;
|
||||
#X obj 384 486 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||
-1 -1;
|
||||
#X msg 408 468 \; pd dsp 1;
|
||||
#X obj 41 474 *~ 10000;
|
||||
#X obj 41 527 +~;
|
||||
#X floatatom 192 476 6 0 0 0 - - -;
|
||||
#X msg 247 446 1;
|
||||
#X obj 383 610 table \$0-tab 200000;
|
||||
#X obj 42 446 phasor~ 0.02;
|
||||
#X msg 192 446 150001;
|
||||
#X text 28 310 At left below an onset (1 or 150000 samples) is added
|
||||
to the index of a table lookup. If you select the onset of 150001 \,
|
||||
you should hear the truncation error. (The table contains a Nyquist
|
||||
signal and the "correct" output should be a 100 Hz. tone.) At right
|
||||
\, the onset is presented in the separate onset inlet. The worst-case
|
||||
truncation error drops by about 30 dB.;
|
||||
#X text 57 647 BAD;
|
||||
#X text 190 646 GOOD;
|
||||
#X text 193 425 ONSET INTO TABLE;
|
||||
#X text 384 426 This loads the table:;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 10 0;
|
||||
#X connect 7 0 13 0;
|
||||
#X connect 7 0 14 0;
|
||||
#X connect 9 0 4 0;
|
||||
#X connect 9 0 4 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 11 0 12 1;
|
||||
#X connect 13 0 5 0;
|
||||
#X connect 13 0 8 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 15 0 11 0;
|
||||
#X connect 16 0 9 0;
|
||||
#X connect 17 0 11 1;
|
||||
#X connect 17 0 16 1;
|
||||
#X connect 18 0 17 0;
|
||||
#X connect 20 0 15 0;
|
||||
#X connect 21 0 17 0;
|
158
pd-0.44-2/doc/3.audio.examples/B16.long-varispeed.pd
Normal file
158
pd-0.44-2/doc/3.audio.examples/B16.long-varispeed.pd
Normal file
|
@ -0,0 +1,158 @@
|
|||
#N canvas 332 70 817 861 12;
|
||||
#X obj 399 526 metro 100;
|
||||
#X obj 212 472 phasor~;
|
||||
#X obj 399 556 snapshot~;
|
||||
#X text 561 824 updated for Pd version 0.42;
|
||||
#X obj 23 557 output~;
|
||||
#X obj 23 461 phasor~;
|
||||
#X floatatom 23 329 5 -100 1000 0 - - -;
|
||||
#X obj 23 518 tabread4~ \$0-tab;
|
||||
#X msg 290 329 0.5;
|
||||
#X msg 326 329 0.01;
|
||||
#X obj 398 455 loadbang;
|
||||
#X msg 399 478 1;
|
||||
#X obj 344 635 +;
|
||||
#X obj 144 680 tabread4~ \$0-tab;
|
||||
#X obj 375 634 f;
|
||||
#X obj 312 612 t f f;
|
||||
#X obj 145 712 output~;
|
||||
#X floatatom 455 667 8 0 0 0 - - -;
|
||||
#X obj 344 670 t f b;
|
||||
#X obj 377 699 f;
|
||||
#X obj 344 699 -;
|
||||
#X floatatom 457 612 8 0 0 0 - - -;
|
||||
#X obj 326 726 -;
|
||||
#X obj 399 507 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
|
||||
1;
|
||||
#X obj 212 498 -~ 0.5;
|
||||
#X obj 290 811 + 0.5;
|
||||
#X obj 22 490 *~ 1e+06;
|
||||
#X floatatom 326 753 8 0 0 0 - - -;
|
||||
#X obj 530 519 samplerate~;
|
||||
#X obj 484 546 /;
|
||||
#X obj 484 519 t f b;
|
||||
#X obj 451 589 +;
|
||||
#X obj 295 787 / 10000;
|
||||
#X obj 212 523 *~ 10000;
|
||||
#X obj 484 570 * 10000;
|
||||
#X obj 532 155 samplerate~;
|
||||
#X obj 532 179 / 2;
|
||||
#X obj 521 93 loadbang;
|
||||
#X obj 521 230 tabwrite~ \$0-tab;
|
||||
#X obj 532 203 osc~;
|
||||
#X obj 521 134 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||
-1 -1;
|
||||
#X msg 545 116 \; pd dsp 1;
|
||||
#X obj 520 258 table \$0-tab 1e+06;
|
||||
#X text 488 61 and will take about 20 seconds to fill.;
|
||||
#X text 488 45 *** The table is now 1 million points \,;
|
||||
#X obj 23 433 / 1e+06;
|
||||
#X text 61 328 playback speed \, samples/sec;
|
||||
#X text 89 460 naive way: just;
|
||||
#X text 89 475 run a phasor;
|
||||
#X text 88 491 into tabread4~;
|
||||
#X text 454 680 new onset is phase plus old onset;
|
||||
#X obj 341 357 * 1e+06;
|
||||
#X text 458 626 extrapolated phase of next sample;
|
||||
#X text 409 700 new onset minus old onset;
|
||||
#X text 389 726 back up phasor output by amount the onset advanced
|
||||
;
|
||||
#X text 387 739 (approximately zero but not exactly because of;
|
||||
#X text 389 753 truncation error!);
|
||||
#X obj 341 383 t b f;
|
||||
#X text 400 357 convert to samples;
|
||||
#X text 385 384 set both last-onset and previous-onset;
|
||||
#X text 385 407 ... and also reset phasor.;
|
||||
#X text 354 791 convert phase back to range 0-1;
|
||||
#X text 215 548 convert phase to;
|
||||
#X text 215 562 range +/-5000;
|
||||
#X obj 212 435 / 10000;
|
||||
#X text 40 410 cycles/sec;
|
||||
#X text 30 400 convert to;
|
||||
#X text 216 412 cycles/sec;
|
||||
#X text 206 402 convert to;
|
||||
#X text 469 472 in order to change onset to reflect it;
|
||||
#X text 469 456 Each 100 msec \, poll phase of phasor~;
|
||||
#X text 24 29 Here is how to use the tabread~ "onset" input to allow
|
||||
clean varispeed playback from a long table. At left \, a phasor~ is
|
||||
naiveley rescaled to the size of the tble. At right \, the phasor~
|
||||
gets only a 10000-point range about a moving "onset". Ten times per
|
||||
second \, we poll tha phasor~ phase \, sum its value into the onset
|
||||
\, and back up the phase of the phasor~ correspondingly.;
|
||||
#X text 22 143 The tricky bits are \, first \, that we need to poll
|
||||
the phasor~ phase one sample into the future (so we add the per-sample
|
||||
increment into the snapshot~ result). Second \, we can't just reset
|
||||
the phasor~ to a fixed point - instead \, we measure how much the onset
|
||||
has actually increased (which has truncation error from summing in
|
||||
the phase snapshot) \, and subtract that increase from the phase \,
|
||||
giving a value that differs from zero by the truncation error but reflects
|
||||
the true phase we should reset to for continuity.;
|
||||
#X text 24 287 The metronome rate is arbitrary but should be fast enough
|
||||
that the phasor~ never has time to wrap.;
|
||||
#X text 518 539 extrapolate snapshot of phase by one;
|
||||
#X text 517 552 sample to sync with next block;
|
||||
#X text 41 617 BAD;
|
||||
#X text 160 770 GOOD;
|
||||
#X text 195 9 VARIABLE SPEED PLAYBACK FROM LONG TABLES;
|
||||
#X msg 340 408 0;
|
||||
#X text 369 328 <- reset phase. 0.5 causes trouble for the "bad" way.
|
||||
;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 1 0 24 0;
|
||||
#X connect 2 0 31 0;
|
||||
#X connect 5 0 26 0;
|
||||
#X connect 6 0 45 0;
|
||||
#X connect 6 0 64 0;
|
||||
#X connect 7 0 4 0;
|
||||
#X connect 7 0 4 1;
|
||||
#X connect 8 0 5 1;
|
||||
#X connect 8 0 51 0;
|
||||
#X connect 9 0 5 1;
|
||||
#X connect 9 0 51 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 23 0;
|
||||
#X connect 12 0 14 0;
|
||||
#X connect 12 0 18 0;
|
||||
#X connect 12 0 13 1;
|
||||
#X connect 12 0 17 0;
|
||||
#X connect 13 0 16 0;
|
||||
#X connect 13 0 16 1;
|
||||
#X connect 14 0 12 1;
|
||||
#X connect 15 0 22 0;
|
||||
#X connect 15 1 12 0;
|
||||
#X connect 18 0 19 1;
|
||||
#X connect 18 0 20 0;
|
||||
#X connect 18 1 19 0;
|
||||
#X connect 19 0 20 1;
|
||||
#X connect 20 0 22 1;
|
||||
#X connect 22 0 27 0;
|
||||
#X connect 22 0 32 0;
|
||||
#X connect 23 0 0 0;
|
||||
#X connect 24 0 33 0;
|
||||
#X connect 25 0 1 1;
|
||||
#X connect 26 0 7 0;
|
||||
#X connect 28 0 29 1;
|
||||
#X connect 29 0 34 0;
|
||||
#X connect 30 0 29 0;
|
||||
#X connect 30 1 28 0;
|
||||
#X connect 31 0 15 0;
|
||||
#X connect 31 0 21 0;
|
||||
#X connect 32 0 25 0;
|
||||
#X connect 33 0 2 0;
|
||||
#X connect 33 0 13 0;
|
||||
#X connect 34 0 31 1;
|
||||
#X connect 35 0 36 0;
|
||||
#X connect 36 0 39 0;
|
||||
#X connect 37 0 40 0;
|
||||
#X connect 37 0 41 0;
|
||||
#X connect 39 0 38 0;
|
||||
#X connect 40 0 35 0;
|
||||
#X connect 40 0 38 0;
|
||||
#X connect 45 0 5 0;
|
||||
#X connect 51 0 57 0;
|
||||
#X connect 57 0 79 0;
|
||||
#X connect 57 1 19 1;
|
||||
#X connect 57 1 12 1;
|
||||
#X connect 64 0 1 0;
|
||||
#X connect 64 0 30 0;
|
||||
#X connect 79 0 15 0;
|
102
pd-0.44-2/doc/3.audio.examples/C01.nyquist.pd
Normal file
102
pd-0.44-2/doc/3.audio.examples/C01.nyquist.pd
Normal file
|
@ -0,0 +1,102 @@
|
|||
#N canvas 601 188 580 659 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array table24 259 float 1;
|
||||
#A 0 -0.294693 0 0.294693 0.4 0.28948 0.10749 0.022875 0.0789655 0.181673
|
||||
0.218249 0.171348 0.115564 0.119192 0.169863 0.201356 0.178657 0.137857
|
||||
0.138353 0.188891 0.23571 0.22487 0.164534 0.115848 0.125265 0.176634
|
||||
0.214361 0.205655 0.169043 0.14204 0.134157 0.124033 0.0997798 0.0859507
|
||||
0.118173 0.195202 0.270956 0.301868 0.293569 0.285908 0.289835 0.256276
|
||||
0.128881 -0.0684912 -0.215994 -0.195335 -0.0145421 0.174701 0.203986
|
||||
0.0451069 -0.159794 -0.231026 -0.119011 0.0575033 0.135323 0.0628509
|
||||
-0.0665307 -0.124779 -0.0776696 0.000279083 0.0247376 -0.00546273 -0.0222151
|
||||
0.017933 0.0755681 0.0749102 4.97367e-06 -0.0729564 -0.0490464 0.0834901
|
||||
0.232853 0.286943 0.213202 0.0759584 -0.0357248 -0.0863297 -0.101697
|
||||
-0.115455 -0.125625 -0.107127 -0.0530433 0.012152 0.0608637 0.0902219
|
||||
0.111597 0.119683 0.0910146 0.0236817 -0.0326555 -0.0100379 0.100844
|
||||
0.216022 0.223032 0.094995 -0.0649958 -0.110291 0.00678482 0.180334
|
||||
0.247439 0.144699 -0.0319975 -0.124321 -0.0648335 0.0680811 0.141409
|
||||
0.100343 0.00354248 -0.0636733 -0.0891566 -0.131987 -0.227286 -0.316392
|
||||
-0.293048 -0.12222 0.100475 0.222686 0.173879 0.0281889 -0.0714016
|
||||
-0.0482686 0.0482418 0.108884 0.0773858 -0.00559103 -0.0590099 -0.0454391
|
||||
0.00509731 0.0411467 0.0421476 0.0225557 2.40108e-06 -0.0225508 -0.0421448
|
||||
-0.0411506 -0.00510821 0.0454302 0.0590142 0.0056084 -0.0773706 -0.108887
|
||||
-0.0482625 0.048252 0.0714103 -0.0281575 -0.173853 -0.222693 -0.100517
|
||||
0.122172 0.293026 0.316402 0.22731 0.132002 0.0891614 0.063682 -0.00352253
|
||||
-0.100324 -0.141412 -0.0681076 0.0648079 0.124324 0.0320316 -0.144663
|
||||
-0.247435 -0.180365 -0.00682225 0.110282 0.0650224 -0.0949583 -0.223017
|
||||
-0.216038 -0.100873 0.010022 0.0326611 -0.0236657 -0.0910033 -0.119682
|
||||
-0.111601 -0.0902271 -0.0608718 -0.0121649 0.0530291 0.107119 0.125625
|
||||
0.115458 0.101699 0.0863353 0.0357423 -0.0759289 -0.213176 -0.28694
|
||||
-0.232878 -0.0835252 0.0490278 0.0729642 1.4921e-05 -0.0749008 -0.0755765
|
||||
-0.0179463 0.0222127 0.00547055 -0.0247352 -0.000292052 0.0776522 0.12478
|
||||
0.0665546 -0.062824 -0.135322 -0.0575355 0.118973 0.23102 0.159828
|
||||
-0.0450604 -0.203969 -0.174729 0.014495 0.195309 0.21601 0.0685338
|
||||
-0.128843 -0.25626 -0.289835 -0.285909 -0.293565 -0.30187 -0.270969
|
||||
-0.195221 -0.118186 -0.0859518 -0.0997742 -0.124029 -0.134156 -0.142036
|
||||
-0.169035 -0.205649 -0.214364 -0.176646 -0.125273 -0.115843 -0.16452
|
||||
-0.22486 -0.235715 -0.188904 -0.13836 -0.137851 -0.178647 -0.201357
|
||||
-0.169874 -0.1192 -0.115557 -0.171333 -0.218246 -0.181691 -0.0789875
|
||||
-0.0228734 -0.107456 -0.289441 -0.399997 -0.294741 -7.20325e-05 0.294645
|
||||
;
|
||||
#X coords 0 1.02 258 -1.02 258 130 1;
|
||||
#X restore 93 408 graph;
|
||||
#X obj 33 288 line~;
|
||||
#X msg 33 237 500 \, 1423 4000;
|
||||
#X floatatom 41 262 5 0 0 0 - - -;
|
||||
#X text 24 556 Synthesis techniques vary in their tendency to make
|
||||
foldover. For higher pitched sounds you'll want to try out relatively
|
||||
folvover-resistant ones.;
|
||||
#X obj 33 342 output~;
|
||||
#X obj 201 281 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#N canvas 0 0 618 384 make-tab 0;
|
||||
#X obj 13 28 inlet;
|
||||
#X obj 99 28 inlet;
|
||||
#X obj 183 28 inlet;
|
||||
#X obj 255 29 inlet;
|
||||
#X msg 38 176 \; table24 sinesum 256 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0
|
||||
1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 \, normalize
|
||||
0.4;
|
||||
#X msg 14 277 \; table24 sinesum 256 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 \, normalize
|
||||
0.2;
|
||||
#X msg 183 101 \; table24 const 0 \, 0 1 1 1 1 1;
|
||||
#X msg 255 58 \; table24 const 0;
|
||||
#X connect 0 0 5 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X restore 201 355 pd make-tab;
|
||||
#X obj 232 300 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 263 317 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 295 334 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X text 222 276 sine;
|
||||
#X text 252 297 complex;
|
||||
#X text 284 314 rectangle;
|
||||
#X text 313 332 clear;
|
||||
#X obj 33 315 tabosc4~ table24;
|
||||
#X text 56 2 THE NYQUIST THEOREM AND FOLDOVER;
|
||||
#X text 30 33 WARNING: PLAY THIS QUIETLY TO AVOID UNPLEASANTNESS AND
|
||||
POSSIBLE EAR DAMAGE.;
|
||||
#X text 29 77 Foldover occurs when you synthesize frequencies greater
|
||||
than the Nyquist frequency (half the sample rate). In this example
|
||||
\, the fundamental only reaches 1423 \, but the tables contain high
|
||||
partials. As the partials sweep upward you hear them reflect off the
|
||||
Nyquist frequency. Also \, partials can come into contact with each
|
||||
other causing beating. The value of 1423 was chosen to make the beating
|
||||
effect especially strong if you're running at a sample rate of 44100
|
||||
(the usual one.);
|
||||
#X text 330 616 updated for Pd version 0.37;
|
||||
#X text 219 245 waveforms:;
|
||||
#X connect 1 0 15 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 8 0 7 1;
|
||||
#X connect 9 0 7 2;
|
||||
#X connect 10 0 7 3;
|
||||
#X connect 15 0 5 0;
|
||||
#X connect 15 0 5 1;
|
39
pd-0.44-2/doc/3.audio.examples/C02.sawtooth-foldover.pd
Normal file
39
pd-0.44-2/doc/3.audio.examples/C02.sawtooth-foldover.pd
Normal file
|
@ -0,0 +1,39 @@
|
|||
#N canvas 180 71 562 473 12;
|
||||
#X obj 155 348 output~;
|
||||
#X text 310 443 updated for Pd version 0.37;
|
||||
#X text 56 2 FOLDOVER IN SAWTOOTH WAVES;
|
||||
#X obj 154 320 clip~ 0 1;
|
||||
#X obj 155 153 mtof;
|
||||
#X floatatom 155 131 3 0 0 0 - - -;
|
||||
#X obj 155 269 *~ 20;
|
||||
#X obj 155 295 -~ 19;
|
||||
#X obj 155 177 phasor~;
|
||||
#N canvas 0 0 560 183 /SUBPATCH/ 0;
|
||||
#X obj 25 74 loadbang;
|
||||
#X msg 25 99 61;
|
||||
#X obj 25 124 outlet;
|
||||
#X text 7 6 This sets the pitch initially to 61 when the patch is first
|
||||
opened.;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X restore 155 105 pd;
|
||||
#X text 190 130 <--pitch;
|
||||
#X obj 164 206 output~;
|
||||
#X text 237 205 <--sawtooth amplitude;
|
||||
#X text 233 373 <--pulse train amplitude;
|
||||
#X text 28 406 We'll explain more about making pulses later on... this
|
||||
example is mostly intended as ear training.;
|
||||
#X text 19 23 In more ordinary kinds of waveforms \, foldover comes
|
||||
across as a "cheap synth" sound. You can hear the foldover clearly
|
||||
in the pulse train here \, and less clearly (but still audibly) in
|
||||
the straight sawtooth \, especially at high pitches.;
|
||||
#X connect 3 0 0 0;
|
||||
#X connect 3 0 0 1;
|
||||
#X connect 4 0 8 0;
|
||||
#X connect 5 0 4 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 8 0 6 0;
|
||||
#X connect 8 0 11 0;
|
||||
#X connect 8 0 11 1;
|
||||
#X connect 9 0 5 0;
|
55
pd-0.44-2/doc/3.audio.examples/C03.zipper.noise.pd
Normal file
55
pd-0.44-2/doc/3.audio.examples/C03.zipper.noise.pd
Normal file
|
@ -0,0 +1,55 @@
|
|||
#N canvas 298 115 555 414 12;
|
||||
#X obj 42 349 output~;
|
||||
#X text 302 376 updated for Pd version 0.37;
|
||||
#X text 56 2 ZIPPER NOISE;
|
||||
#X obj 43 321 *~;
|
||||
#X obj 125 350 output~;
|
||||
#X obj 126 322 *~;
|
||||
#X obj 65 262 line;
|
||||
#X obj 149 262 line~;
|
||||
#N canvas 0 0 450 300 metro 0;
|
||||
#X obj 88 39 loadbang;
|
||||
#X msg 87 65 1;
|
||||
#X obj 87 96 metro 500;
|
||||
#X obj 87 131 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X obj 87 153 sel 0 1;
|
||||
#X obj 87 190 outlet;
|
||||
#X obj 151 192 outlet;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 4 1 6 0;
|
||||
#X restore 65 170 pd metro;
|
||||
#X obj 65 198 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 132 199 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X msg 65 219 1 300;
|
||||
#X msg 132 221 0 300;
|
||||
#X obj 72 290 osc~ 880;
|
||||
#X text 30 28 Here is a related issue: if we use a (control) line object
|
||||
to change an amplitude \, it sends ramping control messages \, once
|
||||
every 20 msec by default. At left we use this to control the amplitude
|
||||
of a sinusoid. In effect we're multiplying the sinusoid by a staircase
|
||||
signal (50 increments per second.) Using the signal version \, line~
|
||||
\, fixes the problem. Line~ outputs a ramp that is incremented every
|
||||
sample.;
|
||||
#X connect 3 0 0 0;
|
||||
#X connect 3 0 0 1;
|
||||
#X connect 5 0 4 0;
|
||||
#X connect 5 0 4 1;
|
||||
#X connect 6 0 3 1;
|
||||
#X connect 7 0 5 1;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 8 1 10 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 10 0 12 0;
|
||||
#X connect 11 0 6 0;
|
||||
#X connect 11 0 7 0;
|
||||
#X connect 12 0 6 0;
|
||||
#X connect 12 0 7 0;
|
||||
#X connect 13 0 3 0;
|
||||
#X connect 13 0 5 0;
|
48
pd-0.44-2/doc/3.audio.examples/C04.control.to.signal.pd
Normal file
48
pd-0.44-2/doc/3.audio.examples/C04.control.to.signal.pd
Normal file
|
@ -0,0 +1,48 @@
|
|||
#N canvas 215 77 561 455 12;
|
||||
#X text 14 7 CONVERTING CONTROL TO SIGNALS;
|
||||
#X obj 29 350 output~;
|
||||
#X obj 107 352 output~;
|
||||
#N canvas 0 0 450 300 metro 0;
|
||||
#X obj 88 39 loadbang;
|
||||
#X msg 87 65 1;
|
||||
#X obj 87 131 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 87 153 sel 0 1;
|
||||
#X obj 87 190 outlet;
|
||||
#X obj 151 192 outlet;
|
||||
#X obj 87 96 metro 2;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 6 0 2 0;
|
||||
#X restore 30 242 pd metro;
|
||||
#X msg 30 268 1 2;
|
||||
#X msg 97 270 0 2;
|
||||
#X obj 30 305 line~;
|
||||
#X obj 108 306 vline~;
|
||||
#X text 13 107 Here we try out line~ and vline~ as triangle wave generators.
|
||||
The subpatch is still sending alternating bangs as in the last patch
|
||||
\, but now at an audible frequency \, every 2 msec.;
|
||||
#X text 17 172 The effect of line~ rounding breakpoints to the nearest
|
||||
block (on the order of a millisecond) is that each 4-millisecond-long
|
||||
cycle has a different shape. Using vline~ resolves the problem.;
|
||||
#X text 385 437 Updated for Pd 0.37;
|
||||
#X text 16 411 Sometimes you will want to use vline~ in place of sig~
|
||||
for the same reason.;
|
||||
#X text 15 27 For controlling amplitudes \, line~ \, with its block-aligned
|
||||
breakpoints \, is accurate enough for most purposes. But certain usages
|
||||
\, such as this patch \, demand more accuracy. The vline~ object \,
|
||||
somewhat more expensive than line~ \, can handle breakpoints to sub-sample
|
||||
accuracy.;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 4 0 6 0;
|
||||
#X connect 4 0 7 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 6 0 1 1;
|
||||
#X connect 7 0 2 0;
|
||||
#X connect 7 0 2 1;
|
84
pd-0.44-2/doc/3.audio.examples/C05.sampler.oneshot.pd
Normal file
84
pd-0.44-2/doc/3.audio.examples/C05.sampler.oneshot.pd
Normal file
|
@ -0,0 +1,84 @@
|
|||
#N canvas 34 0 985 746 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array tab28 176403 float 0;
|
||||
#X coords 0 1.02 176403 -1.02 200 130 1;
|
||||
#X restore 740 126 graph;
|
||||
#X obj 577 486 loadbang;
|
||||
#X obj 31 340 hip~ 5;
|
||||
#X obj 587 345 adc~ 1;
|
||||
#X obj 587 375 hip~ 5;
|
||||
#X msg 558 306 bang;
|
||||
#X text 681 492 v-- re-read the original sample;
|
||||
#X text 20 6 ONE-SHOT SAMPLER USING LINE~ AS PHASE;
|
||||
#X obj 31 306 *~;
|
||||
#X obj 71 279 r cutoff;
|
||||
#X obj 31 194 r phase;
|
||||
#X msg 24 37 bang;
|
||||
#X obj 124 92 delay 5;
|
||||
#X text 77 37 <-- play the sample;
|
||||
#X msg 24 128 \; cutoff 0 5;
|
||||
#X text 34 85 cut the;
|
||||
#X text 34 104 sound off;
|
||||
#X text 204 77 Wait for the;
|
||||
#X text 202 97 cutoff to finish;
|
||||
#X text 349 121 set the upper line~ to start;
|
||||
#X text 349 140 at the first sample and go;
|
||||
#X text 348 161 forever (until the next trigger);
|
||||
#X text 18 486 To start a note \, first we have to mute the output
|
||||
in case ther's already something playing---otherwise we'll get a click.
|
||||
The "cutoff" line~ then takes 5 msec to get to zero. After that amount
|
||||
of delay \, we reset the phase to sample number 1 and set it in motion.
|
||||
We want the line~ output to increase by 1 each sample of output \,
|
||||
so we ask for it to do 4.41e+08 samples in 1e+07 milliseconds.;
|
||||
#X text 18 602 The cutoff mechanism is still safe if we happen to ask
|
||||
for two notes in under 5 msec. The second request would reset the delay
|
||||
\, so that there's no way the delay can possibly fire without the cutoff
|
||||
line~ at zero.;
|
||||
#X text 596 305 <-- record;
|
||||
#X obj 622 405 line~;
|
||||
#X obj 587 410 *~;
|
||||
#X text 738 267 ------ 4 seconds ------;
|
||||
#X obj 655 342 del 3990;
|
||||
#X msg 655 370 0 10;
|
||||
#X text 706 371 <--stop recording;
|
||||
#X text 19 672 We avoid clicking at the end of the table by getting
|
||||
the table's own contents to go smoothly to zero. To do this we added
|
||||
a level control to the recording patch that cuts off just before the
|
||||
recording reaches the end of the table.;
|
||||
#X text 576 599 this is.;
|
||||
#X text 578 575 My apologies to Jonathan Harvey whose bell;
|
||||
#X obj 577 545 soundfiler;
|
||||
#X text 19 443 Here's how to make a sampler with a line~ object \,
|
||||
instead of a phasor~ \, to generate the read location signal.;
|
||||
#X obj 71 306 vline~;
|
||||
#X obj 30 369 output~;
|
||||
#X obj 31 224 vline~;
|
||||
#X obj 558 439 tabwrite~ tab28;
|
||||
#X msg 577 516 read ../sound/bell.aiff tab28;
|
||||
#X obj 31 254 tabread4~ tab28;
|
||||
#X msg 124 127 \; phase 1 \, 4.41e+08 1e+07 \; cutoff 1;
|
||||
#X msg 497 386 0 \, 1 5;
|
||||
#X text 719 717 updated for Pd version 0.37;
|
||||
#X connect 1 0 40 0;
|
||||
#X connect 2 0 37 0;
|
||||
#X connect 2 0 37 1;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 26 0;
|
||||
#X connect 5 0 28 0;
|
||||
#X connect 5 0 43 0;
|
||||
#X connect 5 0 39 0;
|
||||
#X connect 8 0 2 0;
|
||||
#X connect 9 0 36 0;
|
||||
#X connect 10 0 38 0;
|
||||
#X connect 11 0 14 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 42 0;
|
||||
#X connect 25 0 26 1;
|
||||
#X connect 26 0 39 0;
|
||||
#X connect 28 0 29 0;
|
||||
#X connect 29 0 25 0;
|
||||
#X connect 36 0 8 1;
|
||||
#X connect 38 0 41 0;
|
||||
#X connect 40 0 34 0;
|
||||
#X connect 41 0 8 0;
|
||||
#X connect 43 0 25 0;
|
25
pd-0.44-2/doc/3.audio.examples/C06.signal.to.control.pd
Normal file
25
pd-0.44-2/doc/3.audio.examples/C06.signal.to.control.pd
Normal file
|
@ -0,0 +1,25 @@
|
|||
#N canvas 215 77 561 455 12;
|
||||
#N canvas 0 0 269 179 metro 0;
|
||||
#X obj 88 39 loadbang;
|
||||
#X msg 87 65 1;
|
||||
#X obj 87 128 outlet;
|
||||
#X obj 87 96 metro 100;
|
||||
#X msg 178 70 \; pd dsp 1;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 3 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X restore 41 247 pd metro;
|
||||
#X text 374 425 Updated for Pd 0.37;
|
||||
#X obj 41 316 snapshot~;
|
||||
#X obj 66 286 phasor~ 1;
|
||||
#X floatatom 41 347 5 0 0 0 - - -;
|
||||
#X text 14 7 CONVERTING SIGNALS TO CONTROLS;
|
||||
#X text 15 35 The snapshot~ object allows you to convert from signals
|
||||
back to control streams (float messages) -- an opposite of signal~.
|
||||
The value output is always the end of the most recently computed audio
|
||||
block \, so that even if you bang it metronomically (as here) it need
|
||||
not give you samples that are exactly evenly spaced.;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 3 0 2 0;
|
113
pd-0.44-2/doc/3.audio.examples/C07.envelope.follower.pd
Normal file
113
pd-0.44-2/doc/3.audio.examples/C07.envelope.follower.pd
Normal file
|
@ -0,0 +1,113 @@
|
|||
#N canvas 66 7 617 909 12;
|
||||
#X text 164 5 ENVELOPE FOLLOWERS;
|
||||
#X text 10 25 The env~ object reports ths RMS signal level over the
|
||||
last 256 samples (by default) or any other power of 2 that's at least
|
||||
twice the block size. The analysis is done in an overlapped fashion
|
||||
so that results appear every N/2 points if N is the analysis window
|
||||
size. So the larger the window \, the stabler the result and the less
|
||||
frequently it appears. Computation time doesn't depend heavily on N.
|
||||
;
|
||||
#X text 11 135 Envelope followers are frequently used to detect attacks
|
||||
and periods of silence. (There are fancier attack detectors out there
|
||||
\, though.) Here is a simple threshold-based attack and rest detector.
|
||||
;
|
||||
#X obj 102 297 dbtorms;
|
||||
#X obj 23 293 osc~ 440;
|
||||
#X obj 23 339 env~;
|
||||
#X floatatom 78 329 0 0 0 0 - - -;
|
||||
#X floatatom 102 274 0 0 0 0 - - -;
|
||||
#X msg 451 320 \; pd dsp 1;
|
||||
#X obj 119 380 t b f;
|
||||
#X floatatom 119 403 0 0 0 0 - - -;
|
||||
#X obj 126 458 pack;
|
||||
#X obj 126 481 route 0 1;
|
||||
#X obj 126 504 > 55;
|
||||
#X obj 176 504 < 45;
|
||||
#X obj 126 527 sel 1;
|
||||
#X obj 176 527 sel 1;
|
||||
#X msg 90 538 1;
|
||||
#X msg 90 516 0;
|
||||
#X obj 126 564 print attack;
|
||||
#X obj 119 435 != 0;
|
||||
#X obj 24 612 t b f;
|
||||
#X floatatom 15 638 0 0 0 0 - - -;
|
||||
#X obj 27 688 pack;
|
||||
#X obj 27 711 route 0 1;
|
||||
#X obj 27 749 sel 1;
|
||||
#X msg 6 856 1;
|
||||
#X msg 7 879 0;
|
||||
#X obj 20 666 != 0;
|
||||
#X obj 58 639 < 45;
|
||||
#X obj 31 783 timer;
|
||||
#X obj 113 712 sel 0;
|
||||
#X obj 95 832 sel 0;
|
||||
#X obj 45 832 sel 1;
|
||||
#X obj 45 873 print rest;
|
||||
#X obj 31 806 > 1000;
|
||||
#X text 162 403 state -- 1 if waiting for low threshold \,;
|
||||
#X text 199 418 0 if we've attained it and now want the;
|
||||
#X text 202 434 high one.;
|
||||
#X text 209 480 route the RMS value according to state;
|
||||
#X text 239 506 if off \, 55 dB means attack. If on \, 45;
|
||||
#X text 240 527 dB or less means state changes to off.;
|
||||
#X text 132 359 ATTACK DETECTION;
|
||||
#X text 40 594 REST DETECTION;
|
||||
#X text 100 637 Here we always will test RMS against a low value;
|
||||
#X text 125 654 but as before we route the result according to;
|
||||
#X text 147 671 our state \, 1 if "resting" \, 0 if not.;
|
||||
#X text 163 709 regardless of state \, when RMS isn't low;
|
||||
#X text 185 724 reset the timer;
|
||||
#X text 202 846 RMS isn't low enough.;
|
||||
#X text 120 744 If we're not in rest \, and the RMS is low \,;
|
||||
#X text 143 761 check elapsed time sinse RMS last wasn't low.;
|
||||
#X text 122 802 If more than 1 second \, report a rest.;
|
||||
#X text 170 828 If we're at rest \, pop out of it when;
|
||||
#X text 11 201 Both detectors are state machines with two states \,
|
||||
on and off. If on \, a test is run to determine whether to turn off
|
||||
\, and vice versa. The tests are run at each output of the rms~ object.
|
||||
;
|
||||
#X text 355 884 updated for Pd version 0.37;
|
||||
#X text 109 320 note 3.01 dB difference between;
|
||||
#X text 113 336 peak and RMS amplitudes.;
|
||||
#X obj 451 297 loadbang;
|
||||
#X obj 23 316 *~;
|
||||
#X connect 3 0 59 1;
|
||||
#X connect 4 0 59 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 5 0 21 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 9 1 11 1;
|
||||
#X connect 10 0 20 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 12 1 14 0;
|
||||
#X connect 13 0 15 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 15 0 17 0;
|
||||
#X connect 15 0 19 0;
|
||||
#X connect 16 0 18 0;
|
||||
#X connect 17 0 10 0;
|
||||
#X connect 18 0 10 0;
|
||||
#X connect 20 0 11 0;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 21 1 29 0;
|
||||
#X connect 22 0 28 0;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 24 1 32 0;
|
||||
#X connect 25 0 30 1;
|
||||
#X connect 26 0 22 0;
|
||||
#X connect 27 0 22 0;
|
||||
#X connect 28 0 23 0;
|
||||
#X connect 29 0 23 1;
|
||||
#X connect 29 0 31 0;
|
||||
#X connect 30 0 35 0;
|
||||
#X connect 31 0 30 0;
|
||||
#X connect 32 0 27 0;
|
||||
#X connect 33 0 26 0;
|
||||
#X connect 33 0 34 0;
|
||||
#X connect 35 0 33 0;
|
||||
#X connect 58 0 8 0;
|
||||
#X connect 59 0 5 0;
|
156
pd-0.44-2/doc/3.audio.examples/C08.analog.sequencer.pd
Normal file
156
pd-0.44-2/doc/3.audio.examples/C08.analog.sequencer.pd
Normal file
|
@ -0,0 +1,156 @@
|
|||
#N canvas 57 74 829 559 12;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array 29-sequence 9 float 3;
|
||||
#A 0 110 550 385 495 165 385 495 275 615;
|
||||
#X coords 0 500 9 0 200 100 1;
|
||||
#X restore 621 42 graph;
|
||||
#X obj 27 426 *~;
|
||||
#X obj 27 454 hip~ 5;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array 29-envelope 103 float 1;
|
||||
#A 0 -0.0199988 1.0673e-06 0.0500008 0.13 0.16 0.28 0.5 0.6 0.7 0.8
|
||||
1.01111 1 0.988889 0.977778 0.966667 0.955556 0.944444 0.933333 0.922222
|
||||
0.911111 0.9 0.888889 0.797778 0.737777 0.677777 0.647777 0.617777
|
||||
0.557777 0.487777 0.467777 0.447776 0.417776 0.397776 0.387776 0.377776
|
||||
0.367776 0.347776 0.327776 0.317776 0.297776 0.277776 0.267776 0.257776
|
||||
0.257776 0.277776 0.297776 0.327776 0.357776 0.377776 0.397776 0.407776
|
||||
0.427776 0.437776 0.387776 0.367776 0.347776 0.337776 0.287776 0.277776
|
||||
0.277776 0.277776 0.267776 0.267776 0.267776 0.297776 0.317776 0.347776
|
||||
0.367776 0.367776 0.357776 0.347776 0.337776 0.307776 0.287776 0.257776
|
||||
0.227776 0.197776 0.167776 0.167776 0.167776 0.167776 0.167776 0.157776
|
||||
0.157776 0.157776 0.157776 0.147776 0.147776 0.147776 0.137776 0.137776
|
||||
0.111111 0.1 0.0888889 0.0777778 0.0666667 0.0555556 0.0444444 0.0333333
|
||||
0.0222222 0.0111111 0 -0.0111111;
|
||||
#X coords 0 1 102 0 200 100 1;
|
||||
#X restore 622 146 graph;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array 29-sample 259 float 1;
|
||||
#A 0 0.989177 1 0.989177 0.95694 0.903989 0.83147 0.740952 0.634394
|
||||
0.514103 0.382684 0.242981 0.0980184 -0.0490663 -0.195089 -0.336888
|
||||
-0.471395 -0.595698 -0.707105 -0.803206 -0.88192 -0.941543 -0.980785
|
||||
-0.998795 -0.995185 -0.970032 -0.923881 -0.85773 -0.773013 -0.671561
|
||||
-0.555573 -0.427558 -0.290288 -0.146734 -3.98038e-06 0.146726 0.290281
|
||||
0.427551 0.555566 0.671556 0.773007 0.857726 0.923878 0.97003 0.995184
|
||||
0.998796 0.980786 0.941546 0.881924 0.803211 0.707111 0.595704 0.471402
|
||||
0.336896 0.195097 0.0490743 -0.0980105 -0.242974 -0.382677 -0.514097
|
||||
-0.634388 -0.740946 -0.831465 -0.903986 -0.956938 -0.989175 -1 -0.989178
|
||||
-0.956943 -0.903993 -0.831474 -0.740957 -0.6344 -0.51411 -0.382692
|
||||
-0.242989 -0.0980263 0.0490584 0.195081 0.336881 0.471388 0.595691
|
||||
0.7071 0.803202 0.881916 0.941541 0.980783 0.998795 0.995186 0.970034
|
||||
0.923884 0.857734 0.773018 0.671567 0.55558 0.427566 0.290296 0.146742
|
||||
1.19412e-05 -0.146719 -0.290273 -0.427544 -0.55556 -0.67155 -0.773002
|
||||
-0.857722 -0.923875 -0.970028 -0.995183 -0.998796 -0.980788 -0.941549
|
||||
-0.881928 -0.803216 -0.707117 -0.595711 -0.471409 -0.336903 -0.195104
|
||||
-0.0490822 0.0980025 0.242966 0.38267 0.51409 0.634382 0.740941 0.831461
|
||||
0.903983 0.956936 0.989174 1 0.989179 0.956945 0.903996 0.831479 0.740962
|
||||
0.634406 0.514117 0.382699 0.242997 0.0980342 -0.0490504 -0.195073
|
||||
-0.336873 -0.471381 -0.595685 -0.707094 -0.803197 -0.881913 -0.941538
|
||||
-0.980782 -0.998795 -0.995187 -0.970036 -0.923887 -0.857738 -0.773023
|
||||
-0.671573 -0.555586 -0.427573 -0.290303 -0.14675 -1.99019e-05 0.146711
|
||||
0.290265 0.427537 0.555553 0.671544 0.772997 0.857718 0.923872 0.970026
|
||||
0.995183 0.998797 0.980789 0.941551 0.881931 0.803221 0.707122 0.595717
|
||||
0.471416 0.336911 0.195112 0.0490902 -0.0979946 -0.242958 -0.382662
|
||||
-0.514083 -0.634375 -0.740936 -0.831457 -0.903979 -0.956933 -0.989173
|
||||
-1 -0.98918 -0.956947 -0.904 -0.831483 -0.740968 -0.634412 -0.514124
|
||||
-0.382706 -0.243004 -0.0980421 0.0490425 0.195065 0.336866 0.471374
|
||||
0.595679 0.707088 0.803192 0.881909 0.941535 0.98078 0.998794 0.995187
|
||||
0.970038 0.92389 0.857742 0.773028 0.671579 0.555593 0.42758 0.290311
|
||||
0.146758 2.78627e-05 -0.146703 -0.290258 -0.42753 -0.555547 -0.671538
|
||||
-0.772992 -0.857714 -0.923868 -0.970024 -0.995182 -0.998797 -0.980791
|
||||
-0.941554 -0.881935 -0.803225 -0.707128 -0.595723 -0.471423 -0.336918
|
||||
-0.19512 -0.0490981 0.0979867 0.24295 0.382655 0.514076 0.634369 0.74093
|
||||
0.831452 0.903976 0.956931 0.989172 1 0.989181;
|
||||
#X coords 0 1 258 -1 200 100 1;
|
||||
#X restore 619 281 graph;
|
||||
#X text 566 533 updated for Pd version 0.37;
|
||||
#X obj 26 218 tabread~ 29-sequence;
|
||||
#X obj 106 241 wrap~;
|
||||
#X obj 106 265 *~ 100;
|
||||
#X obj 106 289 +~ 1;
|
||||
#X obj 26 242 phasor~;
|
||||
#X obj 26 266 -~ 0.5;
|
||||
#X obj 27 377 cos~;
|
||||
#X obj 84 336 *~;
|
||||
#X obj 28 488 output~;
|
||||
#X obj 84 408 tabread4~ 29-sample;
|
||||
#X obj 106 313 tabread4~ 29-envelope;
|
||||
#X obj 84 360 *~ 128;
|
||||
#X obj 84 384 +~ 129;
|
||||
#X obj 27 401 +~ 1;
|
||||
#X obj 26 194 *~ 9;
|
||||
#N canvas 328 85 609 424 make-tables 0;
|
||||
#X msg 109 52 bang;
|
||||
#X obj 109 77 t b b;
|
||||
#X obj 152 134 f;
|
||||
#X obj 190 134 + 1;
|
||||
#X msg 174 106 0;
|
||||
#X obj 109 103 until;
|
||||
#X obj 152 162 t f f;
|
||||
#X obj 27 190 moses 10;
|
||||
#X obj 18 272 tabwrite 29-envelope;
|
||||
#X obj 75 159 sel 102;
|
||||
#X obj 23 218 expr ($f1-1)/10;
|
||||
#X obj 35 243 expr (101-$f1)/90;
|
||||
#X msg 120 380 \; 29-sample cosinesum 256 0 0 0 0 0 0 1;
|
||||
#X msg 120 338 \; 29-sequence 0 55 550 385 495 165 385 495 275 615
|
||||
;
|
||||
#X text 30 8 bang to recalculate the envelope table (I did this but
|
||||
then went in and changed it with the mouse afterward.);
|
||||
#X text 84 299 The sequence is just a list of specified frequencies
|
||||
\; the wavetable is a cosine.;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 1 4 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 2 0 9 0;
|
||||
#X connect 3 0 2 1;
|
||||
#X connect 4 0 2 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 6 1 8 1;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 7 1 11 0;
|
||||
#X connect 9 0 5 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 8 0;
|
||||
#X restore 689 401 pd make-tables;
|
||||
#X text 46 1 ANALOG-SYNTH-STYLE SEQUENCER;
|
||||
#X obj 26 170 phasor~ 0.6;
|
||||
#X text 97 194 main loop: sawtooth of amplitude 9;
|
||||
#X text 218 219 read frequency sequence;
|
||||
#X text 162 241 9x original frequency sawtooth;
|
||||
#X text 173 266 adjust for reading;
|
||||
#X text 346 266 envelope sample;
|
||||
#X text 123 336 multiply envelope by audio-frequency sawtooth;
|
||||
#X text 147 361 adjust amplitude and center for wavetable;
|
||||
#X text 62 428 multiply by raised-cosine smoothing function;
|
||||
#X text 478 401 how to make the tables:;
|
||||
#X text 27 27 Some control operations can be carried out entirely by
|
||||
tilde objects passing audio signals around. Here is an imitation of
|
||||
an analog sequencer and envelope generator. A phasor~ loops through
|
||||
the "sequence" table at 0.6 Hz \, generating 9 frequencies. Simultaneously
|
||||
\, by multiplying by 9 and wrapping \, we create a sawtooth at 9*0.6=5.4
|
||||
Hz \, which reads a second table for an envelope shape. This becomes
|
||||
the grain size for a sampler based on the 18.sampler.looped example
|
||||
earlier.;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 14 0;
|
||||
#X connect 2 0 14 1;
|
||||
#X connect 6 0 10 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 16 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 13 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 19 0;
|
||||
#X connect 13 0 17 0;
|
||||
#X connect 15 0 1 1;
|
||||
#X connect 16 0 13 1;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 18 0 15 0;
|
||||
#X connect 19 0 1 0;
|
||||
#X connect 20 0 6 0;
|
||||
#X connect 20 0 7 0;
|
||||
#X connect 23 0 20 0;
|
104
pd-0.44-2/doc/3.audio.examples/C09.sample.hold.pd
Normal file
104
pd-0.44-2/doc/3.audio.examples/C09.sample.hold.pd
Normal file
|
@ -0,0 +1,104 @@
|
|||
#N canvas 120 85 930 452 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array samphold 44100 float 0;
|
||||
#X coords 0 1 44100 0 300 200 1;
|
||||
#X restore 606 36 graph;
|
||||
#N canvas 0 0 439 429 tables 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array dbtorms 123 float 1;
|
||||
#A 0 0 0 1.25893e-05 1.41254e-05 1.58489e-05 1.77828e-05 1.99526e-05
|
||||
2.23872e-05 2.51189e-05 2.81838e-05 3.16228e-05 3.54813e-05 3.98107e-05
|
||||
4.46684e-05 5.01187e-05 5.62341e-05 6.30957e-05 7.07946e-05 7.94328e-05
|
||||
8.91251e-05 1e-04 0.000112202 0.000125893 0.000141254 0.000158489 0.000177828
|
||||
0.000199526 0.000223872 0.000251189 0.000281838 0.000316228 0.000354813
|
||||
0.000398107 0.000446684 0.000501187 0.000562341 0.000630957 0.000707946
|
||||
0.000794328 0.000891251 0.001 0.00112202 0.00125893 0.00141254 0.00158489
|
||||
0.00177828 0.00199526 0.00223872 0.00251189 0.00281838 0.00316228 0.00354813
|
||||
0.00398107 0.00446684 0.00501187 0.00562341 0.00630957 0.00707946 0.00794328
|
||||
0.00891251 0.01 0.0112202 0.0125893 0.0141254 0.0158489 0.0177828 0.0199526
|
||||
0.0223872 0.0251189 0.0281838 0.0316228 0.0354813 0.0398107 0.0446684
|
||||
0.0501187 0.0562341 0.0630957 0.0707946 0.0794328 0.0891251 0.1 0.112202
|
||||
0.125893 0.141254 0.158489 0.177828 0.199526 0.223872 0.251189 0.281838
|
||||
0.316228 0.354813 0.398107 0.446684 0.501187 0.562341 0.630957 0.707946
|
||||
0.794328 0.891251 1 1.12202 1.25893 1.41254 1.58489 1.77828 1.99526
|
||||
2.23872 2.51189 2.81838 3.16228 3.54813 3.98107 4.46684 5.01187 5.62341
|
||||
6.30957 7.07946 7.94328 8.91251 10 11.2202 12.5893;
|
||||
#X coords 0 10 123 0 200 100 1;
|
||||
#X restore 78 55 graph;
|
||||
#X text 280 148 0;
|
||||
#X text 282 48 10;
|
||||
#X text 97 158 ------ 123 samples ------;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array mtof 130 float 1;
|
||||
#A 0 8.1758 8.66196 9.17702 9.72272 10.3009 10.9134 11.5623 12.2499
|
||||
12.9783 13.75 14.5676 15.4339 16.3516 17.3239 18.354 19.4454 20.6017
|
||||
21.8268 23.1247 24.4997 25.9565 27.5 29.1352 30.8677 32.7032 34.6478
|
||||
36.7081 38.8909 41.2034 43.6535 46.2493 48.9994 51.9131 55 58.2705
|
||||
61.7354 65.4064 69.2957 73.4162 77.7817 82.4069 87.3071 92.4986 97.9989
|
||||
103.826 110 116.541 123.471 130.813 138.591 146.832 155.563 164.814
|
||||
174.614 184.997 195.998 207.652 220 233.082 246.942 261.626 277.183
|
||||
293.665 311.127 329.628 349.228 369.994 391.995 415.305 440 466.164
|
||||
493.883 523.251 554.365 587.33 622.254 659.255 698.456 739.989 783.991
|
||||
830.609 880 932.328 987.767 1046.5 1108.73 1174.66 1244.51 1318.51
|
||||
1396.91 1479.98 1567.98 1661.22 1760 1864.66 1975.53 2093 2217.46 2349.32
|
||||
2489.02 2637.02 2793.83 2959.96 3135.96 3322.44 3520 3729.31 3951.07
|
||||
4186.01 4434.92 4698.64 4978.03 5274.04 5587.65 5919.91 6271.93 6644.88
|
||||
7040 7458.62 7902.13 8372.02 8869.84 9397.27 9956.06 10548.1 11175.3
|
||||
11839.8 12543.9 13289.8 14080;
|
||||
#X coords 0 12000 130 0 200 100 1;
|
||||
#X restore 85 232 graph;
|
||||
#X text 95 340 ------ 130 samples ------;
|
||||
#X text 294 325 0;
|
||||
#X text 296 225 12000;
|
||||
#X restore 648 280 pd tables;
|
||||
#X text 67 8 SAMPLE AND HOLD;
|
||||
#X obj 141 266 phasor~ 5;
|
||||
#X obj 44 241 phasor~ 7;
|
||||
#X obj 44 266 samphold~;
|
||||
#X floatatom 44 216 0 0 0 0 - - -;
|
||||
#X floatatom 141 211 0 0 0 0 - - -;
|
||||
#X obj 216 319 tabwrite~ samphold;
|
||||
#X msg 216 294 bang;
|
||||
#X obj 44 341 tabread4~ mtof;
|
||||
#X obj 44 291 *~ 48;
|
||||
#X obj 44 316 +~ 36;
|
||||
#X obj 44 366 osc~;
|
||||
#X msg 216 236 0;
|
||||
#X text 259 293 <--graph output;
|
||||
#X obj 44 191 unpack;
|
||||
#X text 254 233 <-- reset phase;
|
||||
#X msg 311 131 32 96.33;
|
||||
#X msg 124 131 5 7;
|
||||
#X msg 44 131 1 5;
|
||||
#X msg 78 131 2 11;
|
||||
#X msg 161 131 3.7 8.8;
|
||||
#X msg 235 131 3.4 8.9;
|
||||
#X text 16 31 Another analog favorite \, the sample and hold unit freezes
|
||||
an audio signal on command. In the Pd version \, the second input of
|
||||
samphold~ triggers it \, and the first input becomes the output's new
|
||||
value whenever the trigger decreases from one sample to the next. This
|
||||
is ideal for updating values when a phasor wraps around.;
|
||||
#X text 679 428 updated for Pd version 0.37;
|
||||
#X obj 44 392 output~;
|
||||
#X connect 3 0 5 1;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 11 0;
|
||||
#X connect 5 0 8 0;
|
||||
#X connect 6 0 4 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 10 0 13 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 10 0;
|
||||
#X connect 13 0 26 0;
|
||||
#X connect 13 0 26 1;
|
||||
#X connect 14 0 3 1;
|
||||
#X connect 14 0 4 1;
|
||||
#X connect 16 0 6 0;
|
||||
#X connect 16 1 7 0;
|
||||
#X connect 18 0 16 0;
|
||||
#X connect 19 0 16 0;
|
||||
#X connect 20 0 16 0;
|
||||
#X connect 21 0 16 0;
|
||||
#X connect 22 0 16 0;
|
||||
#X connect 23 0 16 0;
|
107
pd-0.44-2/doc/3.audio.examples/C10.monophonic.synth.pd
Normal file
107
pd-0.44-2/doc/3.audio.examples/C10.monophonic.synth.pd
Normal file
|
@ -0,0 +1,107 @@
|
|||
#N canvas 57 27 578 769 12;
|
||||
#X obj 13 514 mtof;
|
||||
#X obj 13 463 stripnote;
|
||||
#X obj 164 519 select;
|
||||
#X obj 155 413 float;
|
||||
#X obj 164 381 t b f;
|
||||
#X obj 164 487 float;
|
||||
#X text 217 367 f - store pitch below;
|
||||
#X text 209 415 velocity stored here;
|
||||
#X text 128 459 off;
|
||||
#X text 216 486 recall pitch;
|
||||
#X text 132 2 MONOPHONIC MIDI SYNTH;
|
||||
#X obj 13 340 unpack;
|
||||
#X obj 13 273 notein;
|
||||
#X obj 13 300 pack;
|
||||
#X obj 94 570 line~;
|
||||
#X msg 94 544 \$1 100;
|
||||
#X msg 164 545 0 1000;
|
||||
#X text 15 75 First \, at top \, incoming MIDI notes are parsed and
|
||||
used to set pitch and trigger an ADSR envelope. Second \, the envelope
|
||||
generator itself has been extended to offer controls over the time
|
||||
and target values via number boxes.;
|
||||
#X text 17 21 This patch shows how to make a monophonic synthesizer
|
||||
that could be controlled from a MIDI or voltage-control keyboard--in
|
||||
this example we assume MIDI.;
|
||||
#X msg 152 290 55 64;
|
||||
#X msg 152 316 55 0;
|
||||
#X msg 95 291 48 64;
|
||||
#X msg 95 317 48 0;
|
||||
#X text 14 142 The note-off testing is complicated by the fact that
|
||||
we have to test both that the velocity is zero \, and further that
|
||||
the note-off pitch matches the pitch that is now playing (the most
|
||||
recent note-on pitch.);
|
||||
#X text 218 387 b - bang to recall velocity;
|
||||
#X obj 155 442 sel 0;
|
||||
#X text 177 463 on;
|
||||
#X obj 16 712 output~;
|
||||
#X obj 15 688 hip~ 5;
|
||||
#X obj 14 642 *~;
|
||||
#X obj 13 541 phasor~;
|
||||
#X obj 13 565 -~ 0.5;
|
||||
#X obj 14 593 cos~;
|
||||
#X obj 102 617 *~;
|
||||
#X obj 14 617 +~ 1;
|
||||
#X text 332 741 updated for Pd version 0.37;
|
||||
#X obj 102 665 cos~;
|
||||
#X msg 95 268 48 128;
|
||||
#X text 18 491 pitch;
|
||||
#X text 19 443 messages;
|
||||
#X text 210 441 test for note on or off;
|
||||
#X text 227 520 test against latest;
|
||||
#X text 270 535 note-on pitch;
|
||||
#X text 18 407 filter;
|
||||
#X text 19 425 note-on;
|
||||
#X obj 15 664 *~;
|
||||
#X obj 94 517 / 127;
|
||||
#X text 14 208 The synthesis technique is the same as in the previous
|
||||
patch \, done in a simpler (but less general) way with a cos~ object
|
||||
replacing the wavetable lookup.;
|
||||
#X text 148 571 envelope generator now controls amplitude;
|
||||
#X text 317 589 as well as grain size;
|
||||
#X obj 102 641 *~ 2;
|
||||
#X obj 123 594 +~ 0.5;
|
||||
#X text 148 687 The +~ 0.5 and *~ 2 are fudge factors.;
|
||||
#X text 148 648 This replaces the tabread4~;
|
||||
#X text 146 668 in the previous patch.;
|
||||
#X text 211 290 These buttons simulate MIDI input.;
|
||||
#X connect 0 0 30 0;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 2 0 16 0;
|
||||
#X connect 3 0 25 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 4 1 5 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 11 0 1 0;
|
||||
#X connect 11 0 4 0;
|
||||
#X connect 11 1 1 1;
|
||||
#X connect 11 1 3 1;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 12 1 13 1;
|
||||
#X connect 13 0 11 0;
|
||||
#X connect 14 0 45 1;
|
||||
#X connect 14 0 51 0;
|
||||
#X connect 15 0 14 0;
|
||||
#X connect 16 0 14 0;
|
||||
#X connect 19 0 11 0;
|
||||
#X connect 20 0 11 0;
|
||||
#X connect 21 0 11 0;
|
||||
#X connect 22 0 11 0;
|
||||
#X connect 25 0 5 0;
|
||||
#X connect 25 1 46 0;
|
||||
#X connect 28 0 27 0;
|
||||
#X connect 28 0 27 1;
|
||||
#X connect 29 0 45 0;
|
||||
#X connect 30 0 31 0;
|
||||
#X connect 31 0 33 0;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 34 0;
|
||||
#X connect 33 0 50 0;
|
||||
#X connect 34 0 29 0;
|
||||
#X connect 36 0 29 1;
|
||||
#X connect 37 0 11 0;
|
||||
#X connect 45 0 28 0;
|
||||
#X connect 46 0 15 0;
|
||||
#X connect 50 0 36 0;
|
||||
#X connect 51 0 33 1;
|
50
pd-0.44-2/doc/3.audio.examples/D01.envelope.gen.pd
Normal file
50
pd-0.44-2/doc/3.audio.examples/D01.envelope.gen.pd
Normal file
|
@ -0,0 +1,50 @@
|
|||
#N canvas 173 105 567 576 12;
|
||||
#X text 246 260 attack;
|
||||
#X text 317 261 release;
|
||||
#X obj 248 397 line~;
|
||||
#X msg 318 355 0 500;
|
||||
#X text 126 7 ENVELOPE GENERATORS;
|
||||
#X obj 65 369 phasor~ 50;
|
||||
#X obj 65 417 *~;
|
||||
#X obj 65 465 wrap~;
|
||||
#X msg 247 355 1 2500;
|
||||
#X obj 65 393 -~ 0.5;
|
||||
#X msg 182 331 10 200;
|
||||
#X obj 247 331 del 200;
|
||||
#X text 26 22 This patch uses an envelope generator to control a sound.
|
||||
When you hit "attack" two things happen. First \, the line~ object
|
||||
rises to 10 in 200 milliseconds. Then after a "delay" of the same 200
|
||||
msec \, the second message sends the line~ back down to 1 over another
|
||||
2500 msec. The "release" just ramps us down to zero at the end.;
|
||||
#X obj 65 513 output~;
|
||||
#X text 311 550 updated for Pd version 0.37;
|
||||
#X obj 65 441 +~ 0.5;
|
||||
#X obj 65 489 hip~ 5;
|
||||
#X obj 247 280 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 318 281 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X msg 257 308 stop;
|
||||
#X text 28 121 You can hit the "attack" and/or "release" while something
|
||||
is still going on from a previous attack or release \, and the envelope
|
||||
generator does the ``right thing". In particular \, the release button
|
||||
sends a "stop" to the "del" object \, in case it is still scheduled
|
||||
to go off from a previous attack.;
|
||||
#X text 27 218 The synthesis method is a form of waveshaping \, which
|
||||
is the subject of a later chapter.;
|
||||
#X connect 2 0 6 1;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 6 0 15 0;
|
||||
#X connect 7 0 16 0;
|
||||
#X connect 8 0 2 0;
|
||||
#X connect 9 0 6 0;
|
||||
#X connect 10 0 2 0;
|
||||
#X connect 11 0 8 0;
|
||||
#X connect 15 0 7 0;
|
||||
#X connect 16 0 13 0;
|
||||
#X connect 17 0 11 0;
|
||||
#X connect 17 0 10 0;
|
||||
#X connect 18 0 3 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 19 0 11 0;
|
42
pd-0.44-2/doc/3.audio.examples/D02.adsr.pd
Normal file
42
pd-0.44-2/doc/3.audio.examples/D02.adsr.pd
Normal file
|
@ -0,0 +1,42 @@
|
|||
#N canvas 40 23 609 630 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array adsr-output 44100 float 0;
|
||||
#X coords 0 1.02 44100 -1.02 200 130 1;
|
||||
#X restore 121 332 graph;
|
||||
#X text 121 464 ------ 1 second ------;
|
||||
#X obj 18 92 r trigger;
|
||||
#X obj 34 168 tabwrite~ adsr-output;
|
||||
#X obj 56 143 r graphit;
|
||||
#X msg 261 89 bang;
|
||||
#X text 305 90 <-- attack and delayed release;
|
||||
#X obj 272 113 del 500;
|
||||
#X text 376 196 <-- attack only;
|
||||
#X msg 261 177 \; pd dsp 1 \; trigger 1 \; graphit bang;
|
||||
#X text 377 273 <-- release only;
|
||||
#X msg 260 247 \; pd dsp 1 \; trigger 0 \; graphit bang;
|
||||
#X msg 272 138 \; trigger 0;
|
||||
#X text 324 452 -1;
|
||||
#X text 326 327 1;
|
||||
#X text 12 27 This patch introduces a simple "adsr" abstraction we'll
|
||||
use frequently. You can click on the "adsr" object to see what's inside.
|
||||
;
|
||||
#X text 16 516 The active ingredient of the ADSR envelope generator
|
||||
is a single line~ which gets passed messages to make the attack and
|
||||
release behavior. You can retrigger the ADSR envelope generator all
|
||||
you wish without having to wait for attacks or releases to finish;
|
||||
#X text 104 5 ENVELOPE GENERATOR ABSTRACTION;
|
||||
#X obj 18 118 adsr 1 100 200 50 300;
|
||||
#X text 356 601 updated for Pd version 0.37;
|
||||
#X obj 36 195 osc~ 440;
|
||||
#X obj 17 220 *~;
|
||||
#X obj 16 249 output~;
|
||||
#X connect 2 0 18 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 12 0;
|
||||
#X connect 18 0 3 0;
|
||||
#X connect 18 0 21 0;
|
||||
#X connect 20 0 21 1;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 21 0 22 1;
|
100
pd-0.44-2/doc/3.audio.examples/D03.envelope.dB.pd
Normal file
100
pd-0.44-2/doc/3.audio.examples/D03.envelope.dB.pd
Normal file
|
@ -0,0 +1,100 @@
|
|||
#N canvas 158 69 674 673 12;
|
||||
#X obj 32 80 r trigger;
|
||||
#X text 85 8 USING ADSR'S OUTPUT AS dB;
|
||||
#X obj 32 131 tabread4~ dbtorms;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array dbtorms 123 float 1;
|
||||
#A 0 0 0 1.25893e-05 1.41254e-05 1.58489e-05 1.77828e-05 1.99526e-05
|
||||
2.23872e-05 2.51189e-05 2.81838e-05 3.16228e-05 3.54813e-05 3.98107e-05
|
||||
4.46684e-05 5.01187e-05 5.62341e-05 6.30957e-05 7.07946e-05 7.94328e-05
|
||||
8.91251e-05 1e-04 0.000112202 0.000125893 0.000141254 0.000158489 0.000177828
|
||||
0.000199526 0.000223872 0.000251189 0.000281838 0.000316228 0.000354813
|
||||
0.000398107 0.000446684 0.000501187 0.000562341 0.000630957 0.000707946
|
||||
0.000794328 0.000891251 0.001 0.00112202 0.00125893 0.00141254 0.00158489
|
||||
0.00177828 0.00199526 0.00223872 0.00251189 0.00281838 0.00316228 0.00354813
|
||||
0.00398107 0.00446684 0.00501187 0.00562341 0.00630957 0.00707946 0.00794328
|
||||
0.00891251 0.01 0.0112202 0.0125893 0.0141254 0.0158489 0.0177828 0.0199526
|
||||
0.0223872 0.0251189 0.0281838 0.0316228 0.0354813 0.0398107 0.0446684
|
||||
0.0501187 0.0562341 0.0630957 0.0707946 0.0794328 0.0891251 0.1 0.112202
|
||||
0.125893 0.141254 0.158489 0.177828 0.199526 0.223872 0.251189 0.281838
|
||||
0.316228 0.354813 0.398107 0.446684 0.501187 0.562341 0.630957 0.707946
|
||||
0.794328 0.891251 1 1.12202 1.25893 1.41254 1.58489 1.77828 1.99526
|
||||
2.23872 2.51189 2.81838 3.16228 3.54813 3.98107 4.46684 5.01187 5.62341
|
||||
6.30957 7.07946 7.94328 8.91251 10 11.2202 12.5893;
|
||||
#X coords 0 10 123 0 200 100 1;
|
||||
#X restore 387 83 graph;
|
||||
#N canvas 461 495 663 358 make-table 0;
|
||||
#X obj 97 195 moses 2;
|
||||
#X msg 81 44 bang;
|
||||
#X obj 81 73 t b b;
|
||||
#X obj 152 134 f;
|
||||
#X obj 190 134 + 1;
|
||||
#X msg 174 106 0;
|
||||
#X obj 81 102 until;
|
||||
#X obj 73 162 sel 122;
|
||||
#X msg 97 226 0;
|
||||
#X obj 141 227 dbtorms;
|
||||
#X obj 152 162 t f f;
|
||||
#X obj 97 259 tabwrite dbtorms;
|
||||
#X floatatom 435 103 0 0 0 0 - - -;
|
||||
#X floatatom 435 186 0 0 0 0 - - -;
|
||||
#X obj 435 157 tabread4 dbtorms;
|
||||
#X floatatom 331 183 0 0 0 0 - - -;
|
||||
#X obj 331 154 dbtorms;
|
||||
#X text 35 12 bang to recalculate the table;
|
||||
#X text 268 62 check accuracy of reading table against;
|
||||
#X text 268 81 the "real" dbtorms object.;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 0 1 9 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 2 1 5 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 0 10 0;
|
||||
#X connect 4 0 3 1;
|
||||
#X connect 5 0 3 1;
|
||||
#X connect 6 0 3 0;
|
||||
#X connect 7 0 6 1;
|
||||
#X connect 8 0 11 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 10 0 0 0;
|
||||
#X connect 10 1 11 1;
|
||||
#X connect 12 0 14 0;
|
||||
#X connect 12 0 16 0;
|
||||
#X connect 14 0 13 0;
|
||||
#X connect 16 0 15 0;
|
||||
#X restore 266 351 pd make-table;
|
||||
#X text 257 327 here's the patch I used to make the table:;
|
||||
#X obj 53 157 osc~ 440;
|
||||
#X text 589 176 0;
|
||||
#X text 590 77 10;
|
||||
#X text 406 186 ------ 123 samples ------;
|
||||
#X text 117 306 <-- attack;
|
||||
#X text 116 362 <-- release;
|
||||
#X msg 31 347 \; pd dsp 1 \; trigger 0;
|
||||
#X obj 32 182 *~;
|
||||
#X msg 30 292 \; pd dsp 1 \; trigger 1;
|
||||
#X obj 32 106 adsr 100 100 200 70 300;
|
||||
#X text 28 409 The table is indexed from 1 to 120 so that 1 gives a
|
||||
true zero out and 120 gives 10 (a 20 dB boost.) The extra 20 dB are
|
||||
for headroom.;
|
||||
#X text 25 459 (There's also a "real" dbtorms~ object... but it's almost
|
||||
certainly much more compute-intensive than tabread4~ \, since it has
|
||||
to call a library "exp" function.);
|
||||
#X text 26 518 Notice how the attack sounds different when you retrigger
|
||||
than when you start from zero. This is because if you go from the steady
|
||||
state you only rise 30 dB instead of 100 \, so it sounds slower...
|
||||
a slur effect. If you don't want this \, you might try increasing the
|
||||
amplitude of retriggered notes in comparison to isolated ones.;
|
||||
#X text 34 28 For more natural sounding amplitude control \, you can
|
||||
use the ADSR's output as log amplitude. In practice this is best done
|
||||
using a lookup table:;
|
||||
#X obj 31 211 output~;
|
||||
#X text 406 631 updated for Pd version 0.37;
|
||||
#X connect 0 0 15 0;
|
||||
#X connect 2 0 13 0;
|
||||
#X connect 6 0 13 1;
|
||||
#X connect 13 0 20 0;
|
||||
#X connect 13 0 20 1;
|
||||
#X connect 15 0 2 0;
|
81
pd-0.44-2/doc/3.audio.examples/D04.envelope.quartic.pd
Normal file
81
pd-0.44-2/doc/3.audio.examples/D04.envelope.quartic.pd
Normal file
|
@ -0,0 +1,81 @@
|
|||
#N canvas 130 66 646 584 12;
|
||||
#X obj 21 345 osc~;
|
||||
#X obj 21 370 *~;
|
||||
#X obj 81 350 line~;
|
||||
#X obj 21 320 line~;
|
||||
#X obj 163 455 osc~;
|
||||
#X obj 212 483 *~;
|
||||
#X obj 234 366 line~;
|
||||
#X obj 163 366 line~;
|
||||
#X obj 163 313 sqrt;
|
||||
#X obj 163 339 sqrt;
|
||||
#X obj 234 313 sqrt;
|
||||
#X obj 234 339 sqrt;
|
||||
#X obj 163 398 *~;
|
||||
#X obj 163 428 *~;
|
||||
#X obj 234 398 *~;
|
||||
#X obj 234 427 *~;
|
||||
#X obj 163 288 unpack;
|
||||
#X obj 234 288 unpack;
|
||||
#X obj 21 295 r freq;
|
||||
#X obj 81 326 r amp;
|
||||
#X obj 163 263 r freq;
|
||||
#X obj 234 263 r amp;
|
||||
#X msg 340 277 \; amp 0 5000 \;;
|
||||
#X msg 340 232 \; amp 1 5000 \;;
|
||||
#X msg 492 278 \; amp 0 1000 \;;
|
||||
#X msg 494 232 \; amp 1 1000 \;;
|
||||
#X msg 337 357 \; freq 1760 5000 \;;
|
||||
#X msg 338 404 \; freq 55 5000 \;;
|
||||
#X msg 493 357 \; freq 1760 1000 \;;
|
||||
#X msg 496 405 \; freq 55 1000 \;;
|
||||
#X text 90 15 QUARTIC AND LINEAR ENVELOPES COMPARED;
|
||||
#X obj 341 464 loadbang;
|
||||
#X msg 341 492 \; amp 1 \; freq 1760;
|
||||
#X text 22 265 LINEAR;
|
||||
#X text 168 236 QUARTIC;
|
||||
#X obj 21 397 output~;
|
||||
#X obj 212 509 output~;
|
||||
#X text 14 123 In the quartic example \, for both the amplitude and
|
||||
the frequency \, we have to take the fourth root of the target value
|
||||
(which we get by taking square root twice.) Then we raise the line~
|
||||
output to the fourth power by squaring twice (the *~ objects \, whose
|
||||
left and right inlets are the same.) The cost is mostly that of the
|
||||
four additional *~ objects.;
|
||||
#X text 350 553 updated for Pd version 0.37;
|
||||
#X text 19 39 This patch has two sine wave oscillators \, one with
|
||||
linear envelopes \, the other with quartic ones which sound more uniform.
|
||||
The message boxes sweep the amplitude and frequency up and down. You
|
||||
can compare the two to see that quartic-shaped changes sound more uniform
|
||||
than linear ones.;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 35 0;
|
||||
#X connect 1 0 35 1;
|
||||
#X connect 2 0 1 1;
|
||||
#X connect 3 0 0 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 36 0;
|
||||
#X connect 5 0 36 1;
|
||||
#X connect 6 0 14 0;
|
||||
#X connect 6 0 14 1;
|
||||
#X connect 7 0 12 0;
|
||||
#X connect 7 0 12 1;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 7 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 6 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 12 0 13 1;
|
||||
#X connect 13 0 4 0;
|
||||
#X connect 14 0 15 0;
|
||||
#X connect 14 0 15 1;
|
||||
#X connect 15 0 5 1;
|
||||
#X connect 16 0 8 0;
|
||||
#X connect 16 1 7 1;
|
||||
#X connect 17 0 10 0;
|
||||
#X connect 17 1 6 1;
|
||||
#X connect 18 0 3 0;
|
||||
#X connect 19 0 2 0;
|
||||
#X connect 20 0 16 0;
|
||||
#X connect 21 0 17 0;
|
||||
#X connect 31 0 32 0;
|
153
pd-0.44-2/doc/3.audio.examples/D05.envelope.pitch.pd
Normal file
153
pd-0.44-2/doc/3.audio.examples/D05.envelope.pitch.pd
Normal file
|
@ -0,0 +1,153 @@
|
|||
#N canvas 222 84 686 544 12;
|
||||
#X obj 48 106 r trigger;
|
||||
#X obj 48 154 tabread4~ dbtorms;
|
||||
#X text 144 313 <-- attack;
|
||||
#X text 568 305 <-- release;
|
||||
#X obj 48 208 *~;
|
||||
#N canvas 151 343 812 522 make-table 0;
|
||||
#X msg 82 49 bang;
|
||||
#X obj 82 78 t b b;
|
||||
#X obj 141 142 f;
|
||||
#X obj 179 142 + 1;
|
||||
#X msg 150 112 0;
|
||||
#X obj 82 107 until;
|
||||
#X obj 141 176 t f f;
|
||||
#X floatatom 369 67 0 0 0 0 - - -;
|
||||
#X floatatom 369 127 0 0 0 0 - - -;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array dbtorms 123 float 1;
|
||||
#A 0 0 0 1.25893e-05 1.41254e-05 1.58489e-05 1.77828e-05 1.99526e-05
|
||||
2.23872e-05 2.51189e-05 2.81838e-05 3.16228e-05 3.54813e-05 3.98107e-05
|
||||
4.46684e-05 5.01187e-05 5.62341e-05 6.30957e-05 7.07946e-05 7.94328e-05
|
||||
8.91251e-05 1e-04 0.000112202 0.000125893 0.000141254 0.000158489 0.000177828
|
||||
0.000199526 0.000223872 0.000251189 0.000281838 0.000316228 0.000354813
|
||||
0.000398107 0.000446684 0.000501187 0.000562341 0.000630957 0.000707946
|
||||
0.000794328 0.000891251 0.001 0.00112202 0.00125893 0.00141254 0.00158489
|
||||
0.00177828 0.00199526 0.00223872 0.00251189 0.00281838 0.00316228 0.00354813
|
||||
0.00398107 0.00446684 0.00501187 0.00562341 0.00630957 0.00707946 0.00794328
|
||||
0.00891251 0.01 0.0112202 0.0125893 0.0141254 0.0158489 0.0177828 0.0199526
|
||||
0.0223872 0.0251189 0.0281838 0.0316228 0.0354813 0.0398107 0.0446684
|
||||
0.0501187 0.0562341 0.0630957 0.0707946 0.0794328 0.0891251 0.1 0.112202
|
||||
0.125893 0.141254 0.158489 0.177828 0.199526 0.223872 0.251189 0.281838
|
||||
0.316228 0.354813 0.398107 0.446684 0.501187 0.562341 0.630957 0.707946
|
||||
0.794328 0.891251 1 1.12202 1.25893 1.41254 1.58489 1.77828 1.99526
|
||||
2.23872 2.51189 2.81838 3.16228 3.54813 3.98107 4.46684 5.01187 5.62341
|
||||
6.30957 7.07946 7.94328 8.91251 10 11.2202 12.5893;
|
||||
#X coords 0 10 123 0 200 100 1;
|
||||
#X restore 538 298 graph;
|
||||
#X text 740 391 0;
|
||||
#X text 742 291 10;
|
||||
#X text 544 403 ------ 123 samples ------;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array mtof 130 float 1;
|
||||
#A 0 8.1758 8.66196 9.17702 9.72272 10.3009 10.9134 11.5623 12.2499
|
||||
12.9783 13.75 14.5676 15.4339 16.3516 17.3239 18.354 19.4454 20.6017
|
||||
21.8268 23.1247 24.4997 25.9565 27.5 29.1352 30.8677 32.7032 34.6478
|
||||
36.7081 38.8909 41.2034 43.6535 46.2493 48.9994 51.9131 55 58.2705
|
||||
61.7354 65.4064 69.2957 73.4162 77.7817 82.4069 87.3071 92.4986 97.9989
|
||||
103.826 110 116.541 123.471 130.813 138.591 146.832 155.563 164.814
|
||||
174.614 184.997 195.998 207.652 220 233.082 246.942 261.626 277.183
|
||||
293.665 311.127 329.628 349.228 369.994 391.995 415.305 440 466.164
|
||||
493.883 523.251 554.365 587.33 622.254 659.255 698.456 739.989 783.991
|
||||
830.609 880 932.328 987.767 1046.5 1108.73 1174.66 1244.51 1318.51
|
||||
1396.91 1479.98 1567.98 1661.22 1760 1864.66 1975.53 2093 2217.46 2349.32
|
||||
2489.02 2637.02 2793.83 2959.96 3135.96 3322.44 3520 3729.31 3951.07
|
||||
4186.01 4434.92 4698.64 4978.03 5274.04 5587.65 5919.91 6271.93 6644.88
|
||||
7040 7458.62 7902.13 8372.02 8869.84 9397.27 9956.06 10548.1 11175.3
|
||||
11839.8 12543.9 13289.8 14080;
|
||||
#X coords 0 12000 130 0 200 100 1;
|
||||
#X restore 537 130 graph;
|
||||
#X obj 283 102 mtof;
|
||||
#X floatatom 282 127 0 0 0 0 - - -;
|
||||
#X text 541 237 ------ 130 samples ------;
|
||||
#X text 746 223 0;
|
||||
#X text 748 123 12000;
|
||||
#X obj 81 203 mtof;
|
||||
#X obj 72 167 sel 129;
|
||||
#X obj 80 229 tabwrite mtof;
|
||||
#X obj 369 99 tabread4 mtof;
|
||||
#X obj 71 418 moses 2;
|
||||
#X msg 55 267 bang;
|
||||
#X obj 55 296 t b b;
|
||||
#X obj 126 357 f;
|
||||
#X obj 164 357 + 1;
|
||||
#X msg 148 329 0;
|
||||
#X obj 55 325 until;
|
||||
#X obj 47 385 sel 122;
|
||||
#X msg 71 449 0;
|
||||
#X obj 115 450 dbtorms;
|
||||
#X obj 126 385 t f f;
|
||||
#X obj 71 482 tabwrite dbtorms;
|
||||
#X text 312 40 ... and test accuracy;
|
||||
#X text 23 15 patch to recalculate the mtof table;
|
||||
#X text 107 267 bang to recalculate dbtorms table;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 1 4 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 2 0 20 0;
|
||||
#X connect 3 0 2 1;
|
||||
#X connect 4 0 2 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 19 0;
|
||||
#X connect 6 1 21 1;
|
||||
#X connect 7 0 14 0;
|
||||
#X connect 7 0 22 0;
|
||||
#X connect 14 0 15 0;
|
||||
#X connect 19 0 21 0;
|
||||
#X connect 20 0 5 1;
|
||||
#X connect 22 0 8 0;
|
||||
#X connect 23 0 31 0;
|
||||
#X connect 23 1 32 0;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 25 0 29 0;
|
||||
#X connect 25 1 28 0;
|
||||
#X connect 26 0 27 0;
|
||||
#X connect 26 0 30 0;
|
||||
#X connect 26 0 33 0;
|
||||
#X connect 27 0 26 1;
|
||||
#X connect 28 0 26 1;
|
||||
#X connect 29 0 26 0;
|
||||
#X connect 30 0 29 1;
|
||||
#X connect 31 0 34 0;
|
||||
#X connect 32 0 34 0;
|
||||
#X connect 33 0 23 0;
|
||||
#X connect 33 1 34 1;
|
||||
#X restore 451 222 pd make-table;
|
||||
#X text 35 6 PITCH ENVELOPES;
|
||||
#X text 125 24 For pitch envelopes \, unlike amplitude envelopes \,
|
||||
discontinuities are allowed and sometimes you would rather the envelope
|
||||
generator actually jump to zero when it's triggered. The "adsr" object
|
||||
does this for you if you send a negative trigger instead of a positive
|
||||
one:;
|
||||
#X obj 280 106 r trigger2;
|
||||
#X obj 280 178 tabread4~ mtof;
|
||||
#X obj 280 202 osc~;
|
||||
#X msg 46 299 \; pd dsp 1 \; trigger 1 \; trigger2 1;
|
||||
#X text 358 297 <-- attack;
|
||||
#X msg 249 293 \; pd dsp 1 \; trigger 1 \; trigger2 -1;
|
||||
#X msg 472 293 \; pd dsp 1 \; trigger 0 \; trigger2 0;
|
||||
#X obj 280 154 +~ 69;
|
||||
#X text 358 314 restarting;
|
||||
#X text 363 331 pitch env;
|
||||
#X text 37 377 We have added a new table \, mtof \, for converting
|
||||
audio signals from pitch to frequency. Its range is 1-127 \, so you
|
||||
want to add a base pitch in before you start reading from it.;
|
||||
#X text 37 443 This is an extreme use of pitch enveloping. In a real
|
||||
situation you might want an envelope controlling vibrato depth or the
|
||||
like instead of straight pitch.;
|
||||
#X obj 48 130 adsr 100 50 200 90 1000;
|
||||
#X obj 280 130 adsr 20 200 100 100 1000;
|
||||
#X text 413 497 updated for Pd version 0.37;
|
||||
#X obj 48 233 output~;
|
||||
#X connect 0 0 20 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 4 0 23 0;
|
||||
#X connect 4 0 23 1;
|
||||
#X connect 8 0 21 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 4 1;
|
||||
#X connect 15 0 9 0;
|
||||
#X connect 20 0 1 0;
|
||||
#X connect 21 0 15 0;
|
148
pd-0.44-2/doc/3.audio.examples/D06.envelope.portamento.pd
Normal file
148
pd-0.44-2/doc/3.audio.examples/D06.envelope.portamento.pd
Normal file
|
@ -0,0 +1,148 @@
|
|||
#N canvas 222 84 642 346 12;
|
||||
#X floatatom 75 227 0 0 0;
|
||||
#N canvas 159 26 495 266 output 0;
|
||||
#X obj 338 160 t b;
|
||||
#X obj 338 110 f;
|
||||
#X obj 338 60 inlet;
|
||||
#X text 344 29 mute;
|
||||
#X obj 338 185 f;
|
||||
#X msg 425 178 0;
|
||||
#X msg 338 85 bang;
|
||||
#X obj 338 135 moses 1;
|
||||
#X obj 425 153 t b f;
|
||||
#X obj 397 117 moses 1;
|
||||
#X obj 83 148 dbtorms;
|
||||
#X obj 397 92 r master-lvl;
|
||||
#X obj 83 42 r master-lvl;
|
||||
#X obj 338 210 s master-lvl;
|
||||
#X obj 22 181 inlet~;
|
||||
#X obj 199 41 inlet;
|
||||
#X text 199 18 level;
|
||||
#X obj 199 100 s master-lvl;
|
||||
#X msg 96 65 set \$1;
|
||||
#X obj 96 89 outlet;
|
||||
#X msg 214 64 \; pd dsp 1;
|
||||
#X obj 83 194 line~;
|
||||
#X obj 22 212 *~;
|
||||
#X obj 22 241 dac~;
|
||||
#X obj 83 171 pack 0 50;
|
||||
#X text 20 158 audio;
|
||||
#X text 93 110 show level;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 4 0 13 0;
|
||||
#X connect 5 0 13 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 7 1 8 0;
|
||||
#X connect 8 0 5 0;
|
||||
#X connect 9 1 4 1;
|
||||
#X connect 10 0 24 0;
|
||||
#X connect 11 0 1 1;
|
||||
#X connect 11 0 9 0;
|
||||
#X connect 12 0 10 0;
|
||||
#X connect 12 0 18 0;
|
||||
#X connect 14 0 22 0;
|
||||
#X connect 15 0 17 0;
|
||||
#X connect 15 0 20 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 21 0 22 1;
|
||||
#X connect 22 0 23 0;
|
||||
#X connect 22 0 23 1;
|
||||
#X connect 24 0 21 0;
|
||||
#X restore 46 255 pd output;
|
||||
#X msg 123 227 MUTE;
|
||||
#X text 166 225 <-- output amplitude;
|
||||
#X obj 46 173 tabread4~ mtof;
|
||||
#X obj 46 197 osc~;
|
||||
#N canvas 247 30 505 439 tables 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array dbtorms 123 float 1;
|
||||
#A 0 0 0 1.25893e-05 1.41254e-05 1.58489e-05 1.77828e-05 1.99526e-05
|
||||
2.23872e-05 2.51189e-05 2.81838e-05 3.16228e-05 3.54813e-05 3.98107e-05
|
||||
4.46684e-05 5.01187e-05 5.62341e-05 6.30957e-05 7.07946e-05 7.94328e-05
|
||||
8.91251e-05 1e-04 0.000112202 0.000125893 0.000141254 0.000158489 0.000177828
|
||||
0.000199526 0.000223872 0.000251189 0.000281838 0.000316228 0.000354813
|
||||
0.000398107 0.000446684 0.000501187 0.000562341 0.000630957 0.000707946
|
||||
0.000794328 0.000891251 0.001 0.00112202 0.00125893 0.00141254 0.00158489
|
||||
0.00177828 0.00199526 0.00223872 0.00251189 0.00281838 0.00316228 0.00354813
|
||||
0.00398107 0.00446684 0.00501187 0.00562341 0.00630957 0.00707946 0.00794328
|
||||
0.00891251 0.01 0.0112202 0.0125893 0.0141254 0.0158489 0.0177828 0.0199526
|
||||
0.0223872 0.0251189 0.0281838 0.0316228 0.0354813 0.0398107 0.0446684
|
||||
0.0501187 0.0562341 0.0630957 0.0707946 0.0794328 0.0891251 0.1 0.112202
|
||||
0.125893 0.141254 0.158489 0.177828 0.199526 0.223872 0.251189 0.281838
|
||||
0.316228 0.354813 0.398107 0.446684 0.501187 0.562341 0.630957 0.707946
|
||||
0.794328 0.891251 1 1.12202 1.25893 1.41254 1.58489 1.77828 1.99526
|
||||
2.23872 2.51189 2.81838 3.16228 3.54813 3.98107 4.46684 5.01187 5.62341
|
||||
6.30957 7.07946 7.94328 8.91251 10 11.2202 12.5893;
|
||||
#X coords 0 10 123 0 200 100 1;
|
||||
#X restore 129 49 graph;
|
||||
#X text 331 142 0;
|
||||
#X text 333 42 10;
|
||||
#X text 127 157 ------ 123 samples ------;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array mtof 130 float 1;
|
||||
#A 0 8.1758 8.66196 9.17702 9.72272 10.3009 10.9134 11.5623 12.2499
|
||||
12.9783 13.75 14.5676 15.4339 16.3516 17.3239 18.354 19.4454 20.6017
|
||||
21.8268 23.1247 24.4997 25.9565 27.5 29.1352 30.8677 32.7032 34.6478
|
||||
36.7081 38.8909 41.2034 43.6535 46.2493 48.9994 51.9131 55 58.2705
|
||||
61.7354 65.4064 69.2957 73.4162 77.7817 82.4069 87.3071 92.4986 97.9989
|
||||
103.826 110 116.541 123.471 130.813 138.591 146.832 155.563 164.814
|
||||
174.614 184.997 195.998 207.652 220 233.082 246.942 261.626 277.183
|
||||
293.665 311.127 329.628 349.228 369.994 391.995 415.305 440 466.164
|
||||
493.883 523.251 554.365 587.33 622.254 659.255 698.456 739.989 783.991
|
||||
830.609 880 932.328 987.767 1046.5 1108.73 1174.66 1244.51 1318.51
|
||||
1396.91 1479.98 1567.98 1661.22 1760 1864.66 1975.53 2093 2217.46 2349.32
|
||||
2489.02 2637.02 2793.83 2959.96 3135.96 3322.44 3520 3729.31 3951.07
|
||||
4186.01 4434.92 4698.64 4978.03 5274.04 5587.65 5919.91 6271.93 6644.88
|
||||
7040 7458.62 7902.13 8372.02 8869.84 9397.27 9956.06 10548.1 11175.3
|
||||
11839.8 12543.9 13289.8 14080;
|
||||
#X coords 0 12000 130 0 200 100 1;
|
||||
#X restore 136 226 graph;
|
||||
#X text 128 336 ------ 130 samples ------;
|
||||
#X text 340 318 0;
|
||||
#X text 342 218 12000;
|
||||
#X restore 490 225 pd tables;
|
||||
#X text 35 6 PORTAMENTO;
|
||||
#X obj 46 149 line~;
|
||||
#X obj 46 101 r pitch;
|
||||
#X msg 316 101 36;
|
||||
#X msg 345 101 48;
|
||||
#X msg 372 101 60;
|
||||
#X msg 429 101 72;
|
||||
#X msg 401 101 67;
|
||||
#X msg 483 101 76;
|
||||
#X msg 457 101 74;
|
||||
#X obj 451 165 s pitch;
|
||||
#X msg 514 101 84;
|
||||
#X msg 544 101 96;
|
||||
#X floatatom 143 125 0 0 0;
|
||||
#X text 173 126 <-- change speed;
|
||||
#X floatatom 451 139 0 0 0;
|
||||
#X obj 46 125 pack 0 100;
|
||||
#X obj 388 192 loadbang;
|
||||
#X msg 387 214 \; pitch 72;
|
||||
#X text 40 37 Portamento can be done using just line~ \, but you still
|
||||
might want to sweep in pitch \, not frequency:;
|
||||
#X text 363 293 updated for Pd version 0.35;
|
||||
#X connect 0 0 1 1;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 2 0 1 2;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 8 0 4 0;
|
||||
#X connect 9 0 23 0;
|
||||
#X connect 10 0 22 0;
|
||||
#X connect 11 0 22 0;
|
||||
#X connect 12 0 22 0;
|
||||
#X connect 13 0 22 0;
|
||||
#X connect 14 0 22 0;
|
||||
#X connect 15 0 22 0;
|
||||
#X connect 16 0 22 0;
|
||||
#X connect 18 0 22 0;
|
||||
#X connect 19 0 22 0;
|
||||
#X connect 20 0 23 1;
|
||||
#X connect 22 0 17 0;
|
||||
#X connect 23 0 8 0;
|
||||
#X connect 24 0 25 0;
|
50
pd-0.44-2/doc/3.audio.examples/D07.additive.pd
Normal file
50
pd-0.44-2/doc/3.audio.examples/D07.additive.pd
Normal file
|
@ -0,0 +1,50 @@
|
|||
#N canvas 9 13 684 547 12;
|
||||
#X obj 37 449 catch~ sum;
|
||||
#X obj 349 274 s frequency;
|
||||
#X obj 463 274 s duration;
|
||||
#X floatatom 463 224 0 0 0 0 - - -;
|
||||
#X obj 463 249 * 100;
|
||||
#X obj 349 249 mtof;
|
||||
#X floatatom 349 224 0 0 0 0 - - -;
|
||||
#X text 82 7 ADDITIVE SYNTHESIS;
|
||||
#X text 501 214 duration in tenths;
|
||||
#X text 503 230 of a second;
|
||||
#X text 387 223 pitch;
|
||||
#X text 433 518 updated for Pd version 0.37;
|
||||
#X obj 37 488 output~;
|
||||
#X text 26 83 Partial takes as arguments an amplitude \, a relative
|
||||
frequency \, a detuning frequency \, and a relative duration. You set
|
||||
absolute duration and pitch using the controls below. Hit the trigger
|
||||
to make sound.;
|
||||
#X obj 36 164 partial 1 1 0.56 0;
|
||||
#X text 27 31 This patch demonstrates using an abstraction \, "partial"
|
||||
\, to make a simple additive synthesis instrument originally from Jean-Claude
|
||||
Risset.;
|
||||
#X obj 349 169 loadbang;
|
||||
#X msg 349 192 72;
|
||||
#X msg 463 194 40;
|
||||
#X obj 352 322 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X text 385 324 <-- click to play a note;
|
||||
#X obj 352 358 s trigger;
|
||||
#X obj 36 189 partial 0.67 0.9 0.56 1;
|
||||
#X obj 36 214 partial 1 0.65 0.92 0;
|
||||
#X obj 36 239 partial 1.8 0.55 0.92 1.7;
|
||||
#X obj 36 264 partial 2.67 0.325 1.19 0;
|
||||
#X obj 36 289 partial 1.67 0.35 1.7 0;
|
||||
#X obj 36 314 partial 1.46 0.25 2 0;
|
||||
#X obj 36 339 partial 1.33 0.2 2.74 0;
|
||||
#X obj 36 364 partial 1.33 0.15 3 0;
|
||||
#X obj 36 389 partial 1 0.1 3.76 0;
|
||||
#X obj 36 414 partial 1.33 0.075 4.07 0;
|
||||
#X connect 0 0 12 0;
|
||||
#X connect 0 0 12 1;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 2 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 16 0 18 0;
|
||||
#X connect 17 0 6 0;
|
||||
#X connect 18 0 3 0;
|
||||
#X connect 19 0 21 0;
|
91
pd-0.44-2/doc/3.audio.examples/D08.table.spectrum.pd
Normal file
91
pd-0.44-2/doc/3.audio.examples/D08.table.spectrum.pd
Normal file
|
@ -0,0 +1,91 @@
|
|||
#N canvas 251 127 807 425 12;
|
||||
#N canvas 0 0 450 300 graph3 0;
|
||||
#X array spectrum-tab 127 float 1;
|
||||
#A 0 48.5713 48.5713 48.5713 48.2142 48.2142 48.2142 48.2142 48.2142
|
||||
48.2142 48.2142 48.2142 48.2142 48.2142 48.5713 48.5713 48.9284 48.9284
|
||||
48.9284 48.9284 48.9284 48.9284 48.9284 48.5713 48.5713 48.5713 48.2142
|
||||
48.2142 47.4999 47.1427 46.4285 46.4285 46.0713 46.0713 46.0713 45.7142
|
||||
44.9999 44.6428 43.5713 43.2142 42.8571 42.4999 41.7856 38.2143 36.7857
|
||||
34.6429 31.7857 30.3572 29.6429 28.5715 27.8572 26.7858 25.3572 25.7144
|
||||
23.9287 23.9287 23.5715 23.5715 23.5715 23.5715 23.2144 23.2144 23.2144
|
||||
22.8573 22.8573 23.5715 23.9287 23.5715 26.0715 26.0715 48.5713 48.5713
|
||||
48.5713 48.2142 47.4999 46.7856 46.7856 17.143 16.4287 16.0716 16.4287
|
||||
14.643 13.5716 13.5716 40.7142 40.7142 40.7142 14.643 13.2145 12.8573
|
||||
12.5002 12.5002 24.2858 29.6429 30.7143 16.4287 10.7145 11.7859 10.7145
|
||||
24.2858 23.5715 17.143 13.9288 9.64309 6.78597 5.71455 5.71455 4.28599
|
||||
3.92885 3.92885 3.92885 1.42887 1.42887 1.42887 1.07174 1.07174 1.07174
|
||||
0.714596 0.714596 0.714596 0.714596 0.714596 1.07174 1.07174 1.07174
|
||||
1.07174 0.714286 0.357143;
|
||||
#X coords 0 50 126 0 300 140 1;
|
||||
#X restore 496 136 graph;
|
||||
#N canvas 98 16 694 474 oscbank 0;
|
||||
#X obj 36 53 spectrum-partial 1;
|
||||
#X obj 36 79 spectrum-partial 2;
|
||||
#X obj 36 105 spectrum-partial 3;
|
||||
#X obj 36 131 spectrum-partial 4;
|
||||
#X obj 36 157 spectrum-partial 5;
|
||||
#X obj 36 183 spectrum-partial 6;
|
||||
#X obj 36 209 spectrum-partial 7;
|
||||
#X obj 36 235 spectrum-partial 8;
|
||||
#X obj 36 261 spectrum-partial 9;
|
||||
#X obj 36 287 spectrum-partial 10;
|
||||
#X obj 216 53 spectrum-partial 11;
|
||||
#X obj 122 382 loadbang;
|
||||
#X obj 122 407 metro 30;
|
||||
#X obj 122 433 s poll-table;
|
||||
#X text 107 21 This is the bank of oscillators--open one to see:;
|
||||
#X text 72 345 And here we send bangs to "poll-table" needed by the
|
||||
abstraction.;
|
||||
#X obj 216 79 spectrum-partial 12;
|
||||
#X obj 216 105 spectrum-partial 13;
|
||||
#X obj 216 131 spectrum-partial 14;
|
||||
#X obj 216 157 spectrum-partial 15;
|
||||
#X obj 216 183 spectrum-partial 16;
|
||||
#X obj 216 209 spectrum-partial 17;
|
||||
#X obj 216 235 spectrum-partial 18;
|
||||
#X obj 215 261 spectrum-partial 19;
|
||||
#X obj 215 287 spectrum-partial 20;
|
||||
#X obj 395 53 spectrum-partial 21;
|
||||
#X obj 395 78 spectrum-partial 22;
|
||||
#X obj 395 104 spectrum-partial 23;
|
||||
#X obj 395 130 spectrum-partial 24;
|
||||
#X obj 395 156 spectrum-partial 25;
|
||||
#X obj 395 182 spectrum-partial 26;
|
||||
#X obj 395 207 spectrum-partial 27;
|
||||
#X obj 396 234 spectrum-partial 28;
|
||||
#X obj 395 260 spectrum-partial 29;
|
||||
#X obj 395 287 spectrum-partial 30;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X restore 17 251 pd oscbank;
|
||||
#X obj 19 321 catch~ sum-bus;
|
||||
#X obj 16 153 s pitch;
|
||||
#X floatatom 16 125 4 0 0 0 - - -;
|
||||
#X text 43 18 DRAWABLE SPECTRA;
|
||||
#X floatatom 14 183 4 0 0 0 - - -;
|
||||
#X obj 14 211 s whammybar;
|
||||
#N canvas 0 0 650 341 table-setup 0;
|
||||
#X obj 39 227 loadbang;
|
||||
#X msg 39 261 \; spectrum-tab xlabel -5 0 12 24 36 48 60 72 84 96 108
|
||||
120;
|
||||
#X text 82 60 comment;
|
||||
#X connect 0 0 1 0;
|
||||
#X restore 17 283 pd table-setup;
|
||||
#X msg 596 65 \; spectrum-tab const 0;
|
||||
#X text 26 42 In this array \, you can draw a spectral envelope that
|
||||
will be synthesized by an oscillator bank. Each oscillator in the bank
|
||||
computes its own frequency and uses it to look up amplitude from the
|
||||
array.;
|
||||
#X text 113 254 <-- the oscillator bank;
|
||||
#X text 71 128 <-- pitch;
|
||||
#X text 61 185 <-- left or right shift (normally 0);
|
||||
#X text 157 318 <-- here we just collect the sum of all the partials
|
||||
which are computed in "oscbank".;
|
||||
#X text 662 44 CLEAR;
|
||||
#X text 148 283 <-- make the number labels;
|
||||
#X obj 19 358 output~;
|
||||
#X text 556 389 Updated for Pd version 0.37;
|
||||
#X connect 2 0 17 0;
|
||||
#X connect 2 0 17 1;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 6 0 7 0;
|
108
pd-0.44-2/doc/3.audio.examples/D09.shepard.tone.pd
Normal file
108
pd-0.44-2/doc/3.audio.examples/D09.shepard.tone.pd
Normal file
|
@ -0,0 +1,108 @@
|
|||
#N canvas 124 20 599 828 12;
|
||||
#X floatatom 169 520 0 0 0 0 - - -;
|
||||
#X floatatom 169 446 0 0 0 0 - - -;
|
||||
#X text 462 208 START;
|
||||
#X floatatom 190 303 0 0 0 0 - - -;
|
||||
#X obj 190 280 r incr;
|
||||
#X obj 168 255 metro 50;
|
||||
#X floatatom 168 373 5 0 0 0 - - -;
|
||||
#X obj 168 394 s phase;
|
||||
#X obj 168 350 +;
|
||||
#X obj 169 469 s dropoff+;
|
||||
#X obj 169 622 s interval+;
|
||||
#X floatatom 169 599 0 0 0 0 - - -;
|
||||
#X obj 169 543 s pitch+;
|
||||
#X obj 169 423 r dropoff;
|
||||
#X obj 169 497 r pitch;
|
||||
#X obj 169 576 r interval;
|
||||
#X obj 168 212 r metro;
|
||||
#X obj 228 345 f;
|
||||
#X obj 12 212 shepvoice 0;
|
||||
#X floatatom 83 708 0 0 0 0 - - -;
|
||||
#X obj 83 685 r rev;
|
||||
#X obj 138 685 r revtime;
|
||||
#X floatatom 138 708 0 0 0 0 - - -;
|
||||
#X obj 228 368 mod 10000;
|
||||
#X obj 168 327 f;
|
||||
#X obj 73 742 rev2~;
|
||||
#X obj 12 769 output~;
|
||||
#X obj 168 235 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
|
||||
1;
|
||||
#X msg 446 225 \; dropoff 10 \; pitch 60 \; interval 120 \; metro 1
|
||||
\; rev 84 \; revtime 87 \; incr -2 \; pd dsp 1;
|
||||
#X text 27 7 SHEPARD TONE;
|
||||
#X text 339 804 updated for Pd version 0.37;
|
||||
#X obj 12 235 shepvoice 500;
|
||||
#X obj 12 258 shepvoice 1000;
|
||||
#X obj 12 281 shepvoice 1500;
|
||||
#X obj 12 304 shepvoice 2000;
|
||||
#X obj 12 327 shepvoice 2500;
|
||||
#X obj 12 350 shepvoice 3000;
|
||||
#X obj 12 373 shepvoice 3500;
|
||||
#X obj 12 396 shepvoice 4000;
|
||||
#X obj 12 419 shepvoice 4500;
|
||||
#X obj 12 442 shepvoice 5000;
|
||||
#X obj 12 465 shepvoice 5500;
|
||||
#X obj 12 488 shepvoice 6000;
|
||||
#X obj 12 511 shepvoice 6500;
|
||||
#X obj 12 534 shepvoice 7000;
|
||||
#X obj 12 557 shepvoice 7500;
|
||||
#X obj 12 580 shepvoice 8000;
|
||||
#X obj 12 603 shepvoice 8500;
|
||||
#X obj 12 626 shepvoice 9000;
|
||||
#X obj 12 649 shepvoice 9500;
|
||||
#X text 25 31 This patch is a bank of 20 sinusoids \, arranged so that
|
||||
their frequencies sweep upward or downward in parallel \, and their
|
||||
amplitudes fade in and out so that each one is quiet when it wraps
|
||||
around from one end to the other. The overall "phase" computed here
|
||||
is added to each voice's relative phase (its creation argument). The
|
||||
"incr" parameter controlls how fast the phase changes \, "dropoff"
|
||||
the slope at which the amplitudes fall off at the ends \, "pitch" the
|
||||
center pitch of the cluster \, "interval" the number of (tenths of
|
||||
halftones) between successive voices \, and "rev" and "revtime" the
|
||||
reverberator at bottom.;
|
||||
#X connect 0 0 12 0;
|
||||
#X connect 1 0 9 0;
|
||||
#X connect 3 0 24 1;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 5 0 24 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 8 0 17 0;
|
||||
#X connect 8 0 6 0;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 13 0 1 0;
|
||||
#X connect 14 0 0 0;
|
||||
#X connect 15 0 11 0;
|
||||
#X connect 16 0 27 0;
|
||||
#X connect 17 0 23 0;
|
||||
#X connect 18 0 31 0;
|
||||
#X connect 19 0 25 1;
|
||||
#X connect 20 0 19 0;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 22 0 25 2;
|
||||
#X connect 23 0 8 1;
|
||||
#X connect 24 0 8 0;
|
||||
#X connect 25 0 26 0;
|
||||
#X connect 25 1 26 1;
|
||||
#X connect 27 0 5 0;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 33 0;
|
||||
#X connect 33 0 34 0;
|
||||
#X connect 34 0 35 0;
|
||||
#X connect 35 0 36 0;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 37 0 38 0;
|
||||
#X connect 38 0 39 0;
|
||||
#X connect 39 0 40 0;
|
||||
#X connect 40 0 41 0;
|
||||
#X connect 41 0 42 0;
|
||||
#X connect 42 0 43 0;
|
||||
#X connect 43 0 44 0;
|
||||
#X connect 44 0 45 0;
|
||||
#X connect 45 0 46 0;
|
||||
#X connect 46 0 47 0;
|
||||
#X connect 47 0 48 0;
|
||||
#X connect 48 0 49 0;
|
||||
#X connect 49 0 25 0;
|
||||
#X connect 49 0 26 0;
|
||||
#X connect 49 0 26 1;
|
263
pd-0.44-2/doc/3.audio.examples/D10.sampler.notes.pd
Normal file
263
pd-0.44-2/doc/3.audio.examples/D10.sampler.notes.pd
Normal file
|
@ -0,0 +1,263 @@
|
|||
#N canvas 12 0 1074 786 12;
|
||||
#X msg 257 7 bang;
|
||||
#X obj 257 35 delay 5;
|
||||
#X text 497 269 end of note;
|
||||
#X obj 363 35 r note;
|
||||
#N canvas 459 46 678 451 samples 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array sample1 176403 float 0;
|
||||
#X coords 0 1.02 176403 -1.02 200 130 1;
|
||||
#X restore 262 41 graph;
|
||||
#X text 264 376 ------ 4 seconds ------;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array sample2 176403 float 0;
|
||||
#X coords 0 1.02 176403 -1.02 200 130 1;
|
||||
#X restore 262 226 graph;
|
||||
#X restore 33 277 pd samples;
|
||||
#N canvas 21 287 947 410 recorder 0;
|
||||
#X obj 318 43 inlet;
|
||||
#X obj 272 196 adc~ 1;
|
||||
#X obj 272 224 hip~ 5;
|
||||
#X obj 341 254 line~;
|
||||
#X obj 272 253 *~;
|
||||
#X msg 341 226 1;
|
||||
#X obj 400 191 del 3990;
|
||||
#X msg 377 226 0 10;
|
||||
#X obj 272 304 tabwrite~ sample1;
|
||||
#X obj 124 110 makefilename sample%1;
|
||||
#X msg 124 139 set \$1 \, bang;
|
||||
#X msg 446 162 stop;
|
||||
#X msg 400 162 bang;
|
||||
#X obj 557 182 loadbang;
|
||||
#X obj 660 137 openpanel;
|
||||
#X msg 660 109 bang;
|
||||
#X text 702 108 <-- browse for samples;
|
||||
#X text 628 233 v-- re-read original samples;
|
||||
#X obj 318 72 route record stop reload browse;
|
||||
#X obj 557 319 soundfiler;
|
||||
#X msg 557 261 read ../sound/bell.aiff sample1 \, read ../sound/voice2.wav
|
||||
sample2;
|
||||
#X msg 660 164 read \$1 sample1;
|
||||
#X obj 660 191 soundfiler;
|
||||
#X connect 0 0 18 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 3 0 4 1;
|
||||
#X connect 4 0 8 0;
|
||||
#X connect 5 0 3 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 6 0;
|
||||
#X connect 12 0 6 0;
|
||||
#X connect 13 0 20 0;
|
||||
#X connect 14 0 21 0;
|
||||
#X connect 15 0 14 0;
|
||||
#X connect 18 0 9 0;
|
||||
#X connect 18 0 12 0;
|
||||
#X connect 18 0 5 0;
|
||||
#X connect 18 1 7 0;
|
||||
#X connect 18 1 11 0;
|
||||
#X connect 18 2 20 0;
|
||||
#X connect 18 3 15 0;
|
||||
#X connect 20 0 19 0;
|
||||
#X connect 21 0 22 0;
|
||||
#X restore 33 443 pd recorder;
|
||||
#X msg 33 305 record 1;
|
||||
#X msg 33 360 stop;
|
||||
#N canvas 359 226 666 626 playback 0;
|
||||
#X obj 20 45 line~;
|
||||
#X obj 39 237 line~;
|
||||
#X obj 20 268 *~;
|
||||
#X obj 39 208 r cutoff;
|
||||
#X obj 20 16 r phase;
|
||||
#X obj 20 592 outlet~;
|
||||
#X obj 20 564 hip~ 5;
|
||||
#X obj 32 79 r sample-number;
|
||||
#X obj 32 108 makefilename sample%d;
|
||||
#X msg 32 136 set \$1;
|
||||
#X obj 20 177 tabread4~ sample1;
|
||||
#X obj 38 304 r envelope;
|
||||
#X obj 38 362 dbtorms;
|
||||
#X obj 38 333 unpack;
|
||||
#X obj 38 391 sqrt;
|
||||
#X obj 38 420 sqrt;
|
||||
#X obj 38 448 line~;
|
||||
#X obj 20 535 *~;
|
||||
#X obj 38 477 *~;
|
||||
#X obj 38 506 *~;
|
||||
#X text 90 17 messages to the phase generating line~;
|
||||
#X text 171 80 setting the sample number.;
|
||||
#X text 221 109 compute the name;
|
||||
#X text 93 137 and send a "set" message to the tabread4~.;
|
||||
#X text 99 236 line~ for de-clicking;
|
||||
#X text 139 307 The envelope generator. Rather than sending our message
|
||||
straight to the line~ we unpack it in order to fool with the amplitude
|
||||
field.;
|
||||
#X text 109 363 convert amplitude to linear units.;
|
||||
#X text 104 392 take the fourth root. This because we want to raies
|
||||
the line~'s output to the 4th power afterward. This is an inexpensive
|
||||
way to give the rise and decay a more natural sounding evolution than
|
||||
just a straight line.;
|
||||
#X text 77 480 square the output twice to get the fourth power.;
|
||||
#X connect 0 0 10 0;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 2 0 17 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 0 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 2 0;
|
||||
#X connect 11 0 13 0;
|
||||
#X connect 12 0 14 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 13 1 16 1;
|
||||
#X connect 14 0 15 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 18 0;
|
||||
#X connect 16 0 18 1;
|
||||
#X connect 17 0 6 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 18 0 19 1;
|
||||
#X connect 19 0 17 1;
|
||||
#X restore 33 480 pd playback;
|
||||
#X msg 33 332 record 2;
|
||||
#X text 645 25 ARGUMENTS FOR NOTES:;
|
||||
#X text 666 53 pitch in halftones;
|
||||
#X text 666 77 amplitude (dB);
|
||||
#X text 666 125 sample number;
|
||||
#X text 666 101 duration (msec);
|
||||
#X text 666 149 start location (msec);
|
||||
#X text 666 173 rise time (msec);
|
||||
#X text 666 197 decay time (msec);
|
||||
#X obj 363 62 unpack 0 0 0 0 0 0 0;
|
||||
#X text 50 6 CHOCOLATE SAMPLER;
|
||||
#X obj 521 168 f;
|
||||
#X obj 456 142 f;
|
||||
#X obj 387 142 f;
|
||||
#X obj 350 142 f;
|
||||
#X obj 318 142 f;
|
||||
#X obj 224 142 f;
|
||||
#X obj 224 169 mtof;
|
||||
#X obj 224 197 / 261.62;
|
||||
#X obj 224 224 * 4.41e+08;
|
||||
#X obj 224 252 +;
|
||||
#X obj 489 142 delay;
|
||||
#X obj 318 312 pack 0 0 0 0 0;
|
||||
#X obj 257 62 t b b b;
|
||||
#X text 498 346 This starts the note \, sending to "receives" in the
|
||||
playback subptach. The new receive "envelope" is an amplitude control
|
||||
in parallel with the cutoff control. The "sample-number" switches the
|
||||
tabread4~ between tables.;
|
||||
#X msg 156 44 \; pd dsp 1 \; cutoff 0 5;
|
||||
#X obj 387 197 + 1;
|
||||
#X msg 556 467 60 100 10000 1 0 0 0;
|
||||
#X obj 556 737 s note;
|
||||
#X msg 521 196 \; envelope 0 \$1;
|
||||
#X msg 675 691 62;
|
||||
#X msg 710 691 64;
|
||||
#X msg 641 691 60;
|
||||
#X msg 612 691 55;
|
||||
#X msg 743 691 72;
|
||||
#X msg 580 691 48;
|
||||
#X msg 642 734 60.5;
|
||||
#X msg 556 494 60 90 10000 1 0 0 0;
|
||||
#X msg 556 522 60 100 10000 2 0 0 0;
|
||||
#X msg 556 550 60 100 10000 1 3000 0 0;
|
||||
#X obj 387 169 * 44.1;
|
||||
#X msg 556 605 60 100 100 1 0 0 0;
|
||||
#X msg 556 632 60 100 100 1 0 0 1000;
|
||||
#X msg 556 577 60 100 10000 1 0 1000 0;
|
||||
#X msg 318 340 \; envelope 0 \, \$1 \$2 \; phase \$3 \, \$4 1e+07 \;
|
||||
sample-number \$5 \; cutoff 1 5 \;;
|
||||
#X text 117 305 <-- record;
|
||||
#X msg 33 388 reload;
|
||||
#X msg 33 415 browse;
|
||||
#X text 7 109 transposition works;
|
||||
#X text 7 133 by altering the phase;
|
||||
#X text 7 181 The mtof and / 261;
|
||||
#X text 7 205 calculate speed change;
|
||||
#X text 7 229 considering 60 as unity.;
|
||||
#X text 24 43 as before we;
|
||||
#X text 15 64 mute and wait;
|
||||
#X text 7 157 target ($4 below right.);
|
||||
#X text 450 303 combine amplitude \, rise time \, start phase \, end
|
||||
phase \, and sample number in one message;
|
||||
#X text 764 467 straight playback;
|
||||
#X text 764 493 change amplitude;
|
||||
#X text 767 521 change sample number;
|
||||
#X text 769 550 change start location;
|
||||
#X text 768 576 change rise time;
|
||||
#X text 768 609 change duration;
|
||||
#X text 769 633 ... and decay time;
|
||||
#X text 692 736 microtones OK too.;
|
||||
#X text 580 667 If you omit values they stay unchanged;
|
||||
#X text 552 426 Here are buttons to demonstrate the effect of varying
|
||||
the parameters one by one.;
|
||||
#X obj 34 511 output~;
|
||||
#X text 13 596 This patch take the same principle as the earlier "one-shot
|
||||
sampler" \, but allows you to parametrize sample playback. Since we
|
||||
must wait 5 msec before starting the playback \, we store all the parameters
|
||||
in "f" objects \, and recall them to construct the new note. Transposition
|
||||
is done by altering the amount to play back in the (artificial) ten
|
||||
thousand seconds (1e+07). The playback segment can be altered to start
|
||||
in the middle of the sample instead of the beginning \, and you can
|
||||
change the duration and rise and decay times.;
|
||||
#X text 823 763 updated for Pd version 0.37;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 0 0 34 0;
|
||||
#X connect 1 0 32 0;
|
||||
#X connect 3 0 18 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X connect 7 0 5 0;
|
||||
#X connect 8 0 76 0;
|
||||
#X connect 8 0 76 1;
|
||||
#X connect 9 0 5 0;
|
||||
#X connect 18 0 25 1;
|
||||
#X connect 18 0 0 0;
|
||||
#X connect 18 1 24 1;
|
||||
#X connect 18 2 30 1;
|
||||
#X connect 18 3 23 1;
|
||||
#X connect 18 4 22 1;
|
||||
#X connect 18 5 21 1;
|
||||
#X connect 18 6 20 1;
|
||||
#X connect 20 0 38 0;
|
||||
#X connect 21 0 31 1;
|
||||
#X connect 22 0 49 0;
|
||||
#X connect 23 0 31 4;
|
||||
#X connect 24 0 31 0;
|
||||
#X connect 25 0 26 0;
|
||||
#X connect 26 0 27 0;
|
||||
#X connect 27 0 28 0;
|
||||
#X connect 28 0 29 0;
|
||||
#X connect 29 0 31 3;
|
||||
#X connect 30 0 20 0;
|
||||
#X connect 31 0 53 0;
|
||||
#X connect 32 0 24 0;
|
||||
#X connect 32 1 25 0;
|
||||
#X connect 32 2 21 0;
|
||||
#X connect 32 2 22 0;
|
||||
#X connect 32 2 23 0;
|
||||
#X connect 32 2 30 0;
|
||||
#X connect 35 0 31 2;
|
||||
#X connect 35 0 29 1;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 39 0 37 0;
|
||||
#X connect 40 0 37 0;
|
||||
#X connect 41 0 37 0;
|
||||
#X connect 42 0 37 0;
|
||||
#X connect 43 0 37 0;
|
||||
#X connect 44 0 37 0;
|
||||
#X connect 45 0 37 0;
|
||||
#X connect 46 0 37 0;
|
||||
#X connect 47 0 37 0;
|
||||
#X connect 48 0 37 0;
|
||||
#X connect 49 0 35 0;
|
||||
#X connect 50 0 37 0;
|
||||
#X connect 51 0 37 0;
|
||||
#X connect 52 0 37 0;
|
||||
#X connect 55 0 5 0;
|
||||
#X connect 56 0 5 0;
|
175
pd-0.44-2/doc/3.audio.examples/D11.sampler.poly.pd
Normal file
175
pd-0.44-2/doc/3.audio.examples/D11.sampler.poly.pd
Normal file
|
@ -0,0 +1,175 @@
|
|||
#N canvas 91 72 1119 674 12;
|
||||
#N canvas 0 0 600 392 samples 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array sample1 176403 float 0;
|
||||
#X coords 0 1.02 176403 -1.02 200 130 1;
|
||||
#X restore 262 41 graph;
|
||||
#X text 282 385 ------ 4 seconds ------;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array sample2 176403 float 0;
|
||||
#X coords 0 1.02 176403 -1.02 200 130 1;
|
||||
#X restore 262 226 graph;
|
||||
#X restore 931 97 pd samples;
|
||||
#N canvas 52 219 967 340 recorder 0;
|
||||
#X obj 220 21 inlet;
|
||||
#X obj 174 174 adc~ 1;
|
||||
#X obj 174 202 hip~ 5;
|
||||
#X obj 243 232 line~;
|
||||
#X obj 174 231 *~;
|
||||
#X msg 243 204 1;
|
||||
#X obj 302 169 del 3990;
|
||||
#X msg 279 204 0 10;
|
||||
#X obj 174 282 tabwrite~ sample1;
|
||||
#X msg 26 117 set \$1 \, bang;
|
||||
#X msg 348 140 stop;
|
||||
#X msg 302 140 bang;
|
||||
#X obj 220 50 route record stop reload browse;
|
||||
#X obj 411 158 loadbang;
|
||||
#X obj 514 113 openpanel;
|
||||
#X msg 514 85 bang;
|
||||
#X text 556 84 <-- browse for samples;
|
||||
#X text 482 209 v-- re-read original samples;
|
||||
#X obj 411 295 soundfiler;
|
||||
#X msg 411 237 read ../sound/bell.aiff sample1 \, read ../sound/voice2.wav
|
||||
sample2;
|
||||
#X msg 514 140 read \$1 sample1;
|
||||
#X obj 514 167 soundfiler;
|
||||
#X obj 26 88 makefilename sample%d;
|
||||
#X connect 0 0 12 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 3 0 4 1;
|
||||
#X connect 4 0 8 0;
|
||||
#X connect 5 0 3 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 10 0 6 0;
|
||||
#X connect 11 0 6 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 12 0 5 0;
|
||||
#X connect 12 0 22 0;
|
||||
#X connect 12 1 7 0;
|
||||
#X connect 12 1 10 0;
|
||||
#X connect 12 2 19 0;
|
||||
#X connect 12 3 15 0;
|
||||
#X connect 13 0 19 0;
|
||||
#X connect 14 0 20 0;
|
||||
#X connect 15 0 14 0;
|
||||
#X connect 19 0 18 0;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 22 0 9 0;
|
||||
#X restore 931 284 pd recorder;
|
||||
#X msg 931 146 record 1;
|
||||
#X msg 931 202 stop;
|
||||
#X msg 931 174 record 2;
|
||||
#X text 19 49 ARGUMENTS FOR NOTES:;
|
||||
#X text 19 71 pitch in halftones;
|
||||
#X text 19 95 amplitude (dB);
|
||||
#X text 19 143 sample number;
|
||||
#X text 19 119 duration (msec);
|
||||
#X text 19 167 start location (msec);
|
||||
#X text 19 191 rise time (msec);
|
||||
#X text 19 215 decay time (msec);
|
||||
#X msg 931 229 reload;
|
||||
#X msg 931 257 browse;
|
||||
#X text 47 10 POLYPHONIC SAMPLER;
|
||||
#X obj 547 329 sampvoice;
|
||||
#X obj 631 17 r note;
|
||||
#X obj 631 44 unpack 0 0 0 0 0 0 0;
|
||||
#X obj 604 76 t b f;
|
||||
#X obj 544 109 f;
|
||||
#X obj 580 109 + 1;
|
||||
#X obj 552 146 mod 1e+06;
|
||||
#X obj 544 175 makenote 64;
|
||||
#X obj 544 203 poly 8 1;
|
||||
#X obj 544 230 stripnote;
|
||||
#X obj 617 272 pack 0 0 0 0 0 0 0 0;
|
||||
#X obj 617 300 route 1 2 3 4 5 6 7 8;
|
||||
#X text 929 124 record \, etc.;
|
||||
#X text 335 203 allocate sampler voice;
|
||||
#X text 361 228 drop note off again;
|
||||
#X obj 704 516 qlist;
|
||||
#X obj 870 520 r comment;
|
||||
#X text 732 445 sailors to untie him...;
|
||||
#X text 735 395 Lashed to the mast of his boat \, Ulysses;
|
||||
#X text 735 420 hears beautiful singing. He begs his;
|
||||
#X text 7 263 Here we take the previous patch and make it polyphonic
|
||||
\, with 8 voices. The single voice which we had before has been made
|
||||
into an abstraction \, "sampvoice.pd" \, which we instantiate in 8
|
||||
copies. Earlier we used sends and receives to pass messages to "cutoff"
|
||||
\, etc \, but here if we did that the copies of sampvoice would be
|
||||
sending messages to each other \, so we combine the control and the
|
||||
audio computation in the sampvoice abstraction without using send and
|
||||
receive. Click on one to see how.;
|
||||
#X text 8 413 The "poly" object essentially repeats pitch and velocity
|
||||
pairs to its output \, but also sending a voice number from its left
|
||||
outlet. To use it \, we unpack the 7 parameters \, calculate the voice
|
||||
number \, repack the message as 8 parameters with voice number first
|
||||
\, and use "route" to send it to one of the 8 voices.;
|
||||
#X text 8 515 There's some bother because poly expects to track note
|
||||
on and note off messages separately as they would come from a MIDI
|
||||
keyboard. So we assign each note a unique fake "pitch" \, use makenote
|
||||
to generate the note-off messages \, and run poly on the resulting
|
||||
stream. We then discard both pitch and velocity (using the velocity
|
||||
only to strip note-offs) and rebuild the original message adding the
|
||||
voice number we just scored.;
|
||||
#X text 854 639 updated for Pd version 0.33;
|
||||
#X msg 704 486 read qlist-sampler.txt \, rewind \, tempo 1 \, bang
|
||||
;
|
||||
#X obj 548 551 output~;
|
||||
#X text 249 108 increment mod 1e+06 to make tag;
|
||||
#X text 276 127 (acts like a MIDI pitch to;
|
||||
#X text 277 146 identify the note to "poly");
|
||||
#X text 258 175 supply delayed note-off message;
|
||||
#X obj 547 522 sampvoice;
|
||||
#X obj 547 494 sampvoice;
|
||||
#X obj 547 467 sampvoice;
|
||||
#X obj 547 439 sampvoice;
|
||||
#X obj 547 412 sampvoice;
|
||||
#X obj 547 384 sampvoice;
|
||||
#X obj 547 356 sampvoice;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 13 0 1 0;
|
||||
#X connect 14 0 1 0;
|
||||
#X connect 16 0 52 0;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 18 1 26 2;
|
||||
#X connect 18 2 23 2;
|
||||
#X connect 18 2 26 3;
|
||||
#X connect 18 3 26 4;
|
||||
#X connect 18 4 26 5;
|
||||
#X connect 18 5 26 6;
|
||||
#X connect 18 6 26 7;
|
||||
#X connect 19 0 20 0;
|
||||
#X connect 19 1 26 1;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 20 0 23 0;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 22 0 20 1;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 23 1 24 1;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 24 2 25 1;
|
||||
#X connect 25 0 26 0;
|
||||
#X connect 26 0 27 0;
|
||||
#X connect 27 0 16 1;
|
||||
#X connect 27 1 52 1;
|
||||
#X connect 27 2 51 1;
|
||||
#X connect 27 3 50 1;
|
||||
#X connect 27 4 49 1;
|
||||
#X connect 27 5 48 1;
|
||||
#X connect 27 6 47 1;
|
||||
#X connect 27 7 46 1;
|
||||
#X connect 40 0 31 0;
|
||||
#X connect 46 0 41 0;
|
||||
#X connect 46 0 41 1;
|
||||
#X connect 47 0 46 0;
|
||||
#X connect 48 0 47 0;
|
||||
#X connect 49 0 48 0;
|
||||
#X connect 50 0 49 0;
|
||||
#X connect 51 0 50 0;
|
||||
#X connect 52 0 51 0;
|
203
pd-0.44-2/doc/3.audio.examples/D12.sampler.bis.pd
Normal file
203
pd-0.44-2/doc/3.audio.examples/D12.sampler.bis.pd
Normal file
|
@ -0,0 +1,203 @@
|
|||
#N canvas 104 78 1119 674 12;
|
||||
#N canvas 0 0 600 392 samples 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array sample1 176403 float 0;
|
||||
#X coords 0 1.02 176403 -1.02 200 130 1;
|
||||
#X restore 262 41 graph;
|
||||
#X text 282 385 ------ 4 seconds ------;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array sample2 176403 float 0;
|
||||
#X coords 0 1.02 176403 -1.02 200 130 1;
|
||||
#X restore 262 226 graph;
|
||||
#X restore 785 563 pd samples;
|
||||
#N canvas 52 219 971 512 recorder 0;
|
||||
#X obj 174 304 adc~ 1;
|
||||
#X obj 174 332 hip~ 5;
|
||||
#X obj 243 362 line~;
|
||||
#X obj 174 361 *~;
|
||||
#X msg 243 334 1;
|
||||
#X obj 302 299 del 3990;
|
||||
#X msg 279 334 0 10;
|
||||
#X obj 174 412 tabwrite~ sample1;
|
||||
#X msg 26 247 set \$1 \, bang;
|
||||
#X msg 348 270 stop;
|
||||
#X msg 302 270 bang;
|
||||
#X obj 220 180 route record stop reload browse;
|
||||
#X obj 411 288 loadbang;
|
||||
#X obj 514 243 openpanel;
|
||||
#X msg 514 215 bang;
|
||||
#X text 556 214 <-- browse for samples;
|
||||
#X text 482 339 v-- re-read original samples;
|
||||
#X obj 411 425 soundfiler;
|
||||
#X msg 411 367 read ../sound/bell.aiff sample1 \, read ../sound/voice2.wav
|
||||
sample2;
|
||||
#X msg 514 270 read \$1 sample1;
|
||||
#X obj 514 297 soundfiler;
|
||||
#X msg 220 41 record 1;
|
||||
#X msg 220 97 stop;
|
||||
#X msg 220 69 record 2;
|
||||
#X msg 220 124 reload;
|
||||
#X msg 220 152 browse;
|
||||
#X text 218 19 record \, etc.;
|
||||
#X obj 26 218 makefilename sample%d;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 4 0 2 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 2 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 5 0;
|
||||
#X connect 10 0 5 0;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 11 0 4 0;
|
||||
#X connect 11 0 27 0;
|
||||
#X connect 11 1 6 0;
|
||||
#X connect 11 1 9 0;
|
||||
#X connect 11 2 18 0;
|
||||
#X connect 11 3 14 0;
|
||||
#X connect 12 0 18 0;
|
||||
#X connect 13 0 19 0;
|
||||
#X connect 14 0 13 0;
|
||||
#X connect 18 0 17 0;
|
||||
#X connect 19 0 20 0;
|
||||
#X connect 21 0 11 0;
|
||||
#X connect 22 0 11 0;
|
||||
#X connect 23 0 11 0;
|
||||
#X connect 24 0 11 0;
|
||||
#X connect 25 0 11 0;
|
||||
#X connect 27 0 8 0;
|
||||
#X restore 785 586 pd recorder;
|
||||
#X text 782 458 sample number;
|
||||
#X obj 619 96 unpack 0 0 0 0 0 0 0;
|
||||
#X obj 563 124 poly 8 1;
|
||||
#X obj 654 270 route 1 2 3 4 5 6 7 8;
|
||||
#X obj 558 487 output~;
|
||||
#X obj 563 149 swap;
|
||||
#X obj 563 196 route 0;
|
||||
#X obj 563 173 pack;
|
||||
#X obj 605 221 unpack;
|
||||
#X obj 557 289 sampvoice2;
|
||||
#X obj 563 221 pack;
|
||||
#X text 933 411 amplitude;
|
||||
#X text 932 435 pitch;
|
||||
#X text 851 344 ARGUMENTS FOR:;
|
||||
#X text 784 386 pitch;
|
||||
#X text 784 410 amplitude;
|
||||
#X text 784 434 duration;
|
||||
#X text 13 4 POLY SAMPLER \, VERSION 2 FOR SEPARATE NOTE-ON/OFF MESSAGES
|
||||
;
|
||||
#X obj 619 71 r onoff;
|
||||
#X text 932 368 ON/OFF TRANSITIONS:;
|
||||
#X text 785 367 ENTIRE NOTES:;
|
||||
#X text 932 390 tag;
|
||||
#X text 782 485 sample onset;
|
||||
#X text 782 511 rise time;
|
||||
#X text 783 535 decay time;
|
||||
#X text 929 460 (same other 4);
|
||||
#X obj 836 159 f;
|
||||
#X obj 872 159 + 1;
|
||||
#X obj 836 185 mod 1e+06;
|
||||
#X obj 654 245 pack 0 0 0 0 0 0 0;
|
||||
#X obj 918 74 r note;
|
||||
#X obj 918 100 unpack 0 0 0 0 0 0 0;
|
||||
#X text 860 641 updated for Pd version 0.37;
|
||||
#X obj 895 127 t b f;
|
||||
#X obj 936 237 pack 0 0 0 0 0 0 0;
|
||||
#X obj 889 285 s onoff;
|
||||
#X obj 870 230 pipe;
|
||||
#X obj 870 253 pack;
|
||||
#X msg 103 528 \; onoff 1 90 60 1 0 0 100;
|
||||
#X msg 323 528 \; onoff 1 0;
|
||||
#X msg 104 570 \; onoff 2 90 48 1 0 0 100;
|
||||
#X msg 324 570 \; onoff 2 0;
|
||||
#X msg 104 627 \; note 51 90 1000 1 0 0 100;
|
||||
#X obj 557 312 sampvoice2;
|
||||
#X obj 557 336 sampvoice2;
|
||||
#X obj 557 360 sampvoice2;
|
||||
#X obj 557 383 sampvoice2;
|
||||
#X obj 557 407 sampvoice2;
|
||||
#X obj 557 430 sampvoice2;
|
||||
#X obj 557 454 sampvoice2;
|
||||
#X text 14 35 Here is a variation on the polyphonic sampler \, which
|
||||
can take separate messages to start and stop notes (so that you can
|
||||
attach it to a MIDI keyboard \, for example.) "Note" messages act as
|
||||
before \, but in an intermediate step they are split onto note-on and
|
||||
note-off messages \, sent to "onoff". You can alternatively send messages
|
||||
straight to onoff if you don't know the duration in advance.;
|
||||
#X text 12 150 Messages to "onoff" require a tag \, which is a number
|
||||
shared between the note-on and note-off message so that we can track
|
||||
down the voice to turn it off. If you're using MIDI input \, you can
|
||||
just re-use the pitch as a tag.;
|
||||
#X text 102 508 separate messages for not on and off:;
|
||||
#X text 101 608 single messages to do both as before:;
|
||||
#X text 10 221 Messages to "onoff" whose amplitude is zero are note-off
|
||||
messages (the other parameters of note-off messages are ignored). The
|
||||
"sampvoice2" abstraction is a modification of "sampvoice" which looks
|
||||
at the amplitude field to decide whether to begin or end a note.;
|
||||
#X text 10 301 To convert "note" messages to pairs of "onoff" messages
|
||||
\, first a counter generates a tag. The the "pipe" object delays a
|
||||
copy of the tag \, which the following "pack" object converts into
|
||||
a note-off message (a pair of numbers \, the tag and a zero.);
|
||||
#X text 9 382 Under "r onoff" \, the poly object allocates a voice
|
||||
number \, putting it out paired with velocity. After swapping the two
|
||||
and packing them into a single message \, the amplitude is checked
|
||||
against zero by the "route 0" object \; if zero \, the "pack" confects
|
||||
a 2-argument message (voice number and zero). Otherwise \, the "unpack"
|
||||
retrieves the nonzero amplitude for a note-on message \, to which we
|
||||
add all the other parameters and route to the appropriate voice.;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 1 31 1;
|
||||
#X connect 3 1 4 1;
|
||||
#X connect 3 2 31 2;
|
||||
#X connect 3 3 31 3;
|
||||
#X connect 3 4 31 4;
|
||||
#X connect 3 5 31 5;
|
||||
#X connect 3 6 31 6;
|
||||
#X connect 4 0 7 0;
|
||||
#X connect 4 2 7 1;
|
||||
#X connect 5 0 11 1;
|
||||
#X connect 5 1 45 1;
|
||||
#X connect 5 2 46 1;
|
||||
#X connect 5 3 47 1;
|
||||
#X connect 5 4 48 1;
|
||||
#X connect 5 5 49 1;
|
||||
#X connect 5 6 50 1;
|
||||
#X connect 5 7 51 1;
|
||||
#X connect 7 0 9 0;
|
||||
#X connect 7 1 9 1;
|
||||
#X connect 8 0 12 0;
|
||||
#X connect 8 1 10 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 10 1 31 0;
|
||||
#X connect 11 0 45 0;
|
||||
#X connect 12 0 5 0;
|
||||
#X connect 20 0 3 0;
|
||||
#X connect 28 0 29 0;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 30 0 28 1;
|
||||
#X connect 30 0 38 0;
|
||||
#X connect 30 0 36 0;
|
||||
#X connect 31 0 5 0;
|
||||
#X connect 32 0 33 0;
|
||||
#X connect 33 0 35 0;
|
||||
#X connect 33 1 36 1;
|
||||
#X connect 33 2 38 1;
|
||||
#X connect 33 3 36 3;
|
||||
#X connect 33 4 36 4;
|
||||
#X connect 33 5 36 5;
|
||||
#X connect 33 6 36 6;
|
||||
#X connect 35 0 28 0;
|
||||
#X connect 35 1 36 2;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 38 0 39 0;
|
||||
#X connect 39 0 37 0;
|
||||
#X connect 45 0 46 0;
|
||||
#X connect 46 0 47 0;
|
||||
#X connect 47 0 48 0;
|
||||
#X connect 48 0 49 0;
|
||||
#X connect 49 0 50 0;
|
||||
#X connect 50 0 51 0;
|
||||
#X connect 51 0 6 0;
|
||||
#X connect 51 0 6 1;
|
47
pd-0.44-2/doc/3.audio.examples/D13.additive.qlist.pd
Normal file
47
pd-0.44-2/doc/3.audio.examples/D13.additive.qlist.pd
Normal file
|
@ -0,0 +1,47 @@
|
|||
#N canvas 233 179 667 449 12;
|
||||
#X obj 16 182 osc-voice amp1 pit1;
|
||||
#X obj 16 206 osc-voice amp2 pit2;
|
||||
#X obj 16 230 osc-voice amp3 pit3;
|
||||
#X obj 16 254 osc-voice amp4 pit4;
|
||||
#X obj 16 278 osc-voice amp5 pit5;
|
||||
#X obj 16 302 osc-voice amp6 pit6;
|
||||
#X obj 16 326 osc-voice amp7 pit7;
|
||||
#X obj 16 350 osc-voice amp8 pit8;
|
||||
#X obj 464 343 qlist;
|
||||
#X msg 394 185 stop;
|
||||
#X msg 524 300 read qlist.txt;
|
||||
#X obj 524 255 loadbang;
|
||||
#X text 258 164 start;
|
||||
#X text 395 161 stop;
|
||||
#X text 534 279 reread file;
|
||||
#X msg 467 199 rewind;
|
||||
#X msg 535 199 next;
|
||||
#X msg 251 212 tempo 100 \, bang;
|
||||
#X msg 250 188 tempo 1 \, bang;
|
||||
#X text 82 11 USING QLIST TO SEQUENCE AN OSCILLATOR BANK;
|
||||
#X text 479 178 single step;
|
||||
#X obj 532 392 r #;
|
||||
#X text 28 49 Here is an eight voice additive synthesis patch controlled
|
||||
by a qlist. Open a text editor on the file \, "qlist.txt" \, to see
|
||||
how the oscillators' amplitudes and frequencies are specified. The
|
||||
abstraction \, "osc-voice" \, shows an effective way to make patches
|
||||
react to qlists but also to mousing.;
|
||||
#X text 234 391 this is where qlist comments go:;
|
||||
#X obj 16 380 output~;
|
||||
#X text 394 423 updatged for Pd version 0.39;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 24 0;
|
||||
#X connect 7 0 24 1;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 15 0 8 0;
|
||||
#X connect 16 0 8 0;
|
||||
#X connect 17 0 8 0;
|
||||
#X connect 18 0 8 0;
|
104
pd-0.44-2/doc/3.audio.examples/D14.vibrato.pd
Normal file
104
pd-0.44-2/doc/3.audio.examples/D14.vibrato.pd
Normal file
|
@ -0,0 +1,104 @@
|
|||
#N canvas 80 10 709 653 12;
|
||||
#X obj 28 258 r trigger;
|
||||
#X obj 28 454 *~;
|
||||
#X obj 28 482 *~;
|
||||
#X floatatom 63 304 3 0 100 0 - - -;
|
||||
#X msg 460 493 \; trigger 0;
|
||||
#X obj 28 281 unpack;
|
||||
#X floatatom 28 304 1 0 100 0 - - -;
|
||||
#X obj 27 533 +~ 0.3;
|
||||
#X obj 27 559 cos~;
|
||||
#X obj 27 507 osc~;
|
||||
#X obj 63 323 mtof;
|
||||
#X obj 63 345 sqrt;
|
||||
#X obj 63 367 sqrt;
|
||||
#X text 572 461 <-- octave up;
|
||||
#X msg 460 416 \; trigger 1 60;
|
||||
#X msg 460 453 \; trigger 1 72;
|
||||
#X text 550 494 <-- release;
|
||||
#X text 556 512 is optional;
|
||||
#X obj 28 424 *~;
|
||||
#X obj 237 404 +~ 1;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array array62 131 float 1;
|
||||
#A 0 0.970031 1 0.970031 0.881921 0.740952 0.555571 0.336891 0.0980184
|
||||
-0.146729 -0.382682 -0.595698 -0.773009 -0.88 -0.9 -0.92 -0.92 -0.85773
|
||||
-0.707109 -0.514106 -0.290288 -0.0490716 0.195086 0.427551 0.63439
|
||||
0.803205 0.86 0.88 0.88 0.88 0.84 0.82 0.471402 0.242986 6.63397e-06
|
||||
-0.242974 -0.471391 -0.671554 -0.831465 -0.941541 -0.995184 -0.989178
|
||||
-0.923883 -0.803213 -0.68 -0.42 -0.24 0.1 0.4 0.6 0.7071 0.857723 0.956937
|
||||
0.998795 0.980787 0.903994 0.773018 0.595708 0.382694 0.146742 -0.0980052
|
||||
-0.336878 -0.55556 -0.7 -0.8 -0.88 -0.88 -0.88 -0.84 -0.82 -0.555582
|
||||
-0.336903 -0.0980316 0.146716 0.38267 0.595687 0.773001 0.903983 0.980782
|
||||
0.998796 0.956945 0.857737 0.707119 0.514117 0.290301 0.0490849 -0.195073
|
||||
-0.427539 -0.63438 -0.803197 -0.923873 -0.989174 -0.995187 -0.94155
|
||||
-0.83148 -0.671573 -0.471414 -0.242999 -1.99019e-05 0.242961 0.471379
|
||||
0.671544 0.831458 0.88 0.9 0.9 0.88 0.803221 0.63441 0.08 -0.14 -0.28
|
||||
-0.48 -0.64 -0.72 -0.857717 -0.956933 -0.998794 -0.98079 -0.904 -0.773026
|
||||
-0.595719 -0.382706 -0.146755 0.097992 0.336866 0.555549 0.740934 0.881909
|
||||
0.970025 1 0.970038;
|
||||
#X coords 0 1 130 -1 200 100 1;
|
||||
#X restore 246 508 graph;
|
||||
#X obj 237 356 tabosc4~ array62;
|
||||
#X floatatom 237 312 3 0 0 0 - - -;
|
||||
#X obj 237 333 / 6;
|
||||
#X obj 237 380 *~;
|
||||
#X floatatom 391 333 3 0 0 0 - - -;
|
||||
#X text 236 438 since we'll multiply \,;
|
||||
#X text 235 453 vibrato output should;
|
||||
#X text 235 470 be centered at 1 \, not 0;
|
||||
#X text 273 384 multiply by vib depth;
|
||||
#X obj 391 361 / 6923;
|
||||
#X text 62 425 apply vibrato;
|
||||
#X text 66 453 fourth;
|
||||
#X text 69 469 power;
|
||||
#X text 97 537 waveform;
|
||||
#X text 96 517 simple;
|
||||
#X text 457 354 4/(exp(log(2)/1200)-1);
|
||||
#X text 461 335 conversion factor is;
|
||||
#X text 384 295 vibrato depth;
|
||||
#X text 383 312 in cents;
|
||||
#X text 228 274 vibrato speed;
|
||||
#X text 227 291 in Hertz;
|
||||
#X obj 28 392 adsr 0 100 200 100 300;
|
||||
#X obj 26 587 output~;
|
||||
#X text 88 9 USING ADSRS FOR PORTAMENTO AND ADDING VIBRATO TOO;
|
||||
#X text 43 30 Portamento can be treated as a special case of an ADSR
|
||||
envelope \, with 100 percent sustain. Vibrato is properly computed
|
||||
in units of pitch \, but it's also possible to do the job without having
|
||||
to convert from pitch to frequency units at the audio rate. To do this
|
||||
we just raise the "pitch" to the fourth power \, so that it acts pseudo-exponentially.
|
||||
Rather than add vibrato to the ADSR output \, we multiply a signal
|
||||
which controls relative frequency. The relative frequency change is
|
||||
one plus an oscillator.;
|
||||
#X text 439 626 updated for Pd version 0.39;
|
||||
#X text 45 185 The table below holds 6 cycles of vibrato with small
|
||||
variations to get a not-exactly-repeating vibrato. We thus have to
|
||||
divide vibrato frequency by six. You can just use a sine or triangle
|
||||
wave if you prefer.;
|
||||
#X text 573 426 <-- middle C;
|
||||
#X connect 0 0 5 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 2 0 9 0;
|
||||
#X connect 3 0 10 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 5 1 3 0;
|
||||
#X connect 6 0 42 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 43 0;
|
||||
#X connect 8 0 43 1;
|
||||
#X connect 9 0 7 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 42 1;
|
||||
#X connect 18 0 1 0;
|
||||
#X connect 18 0 1 1;
|
||||
#X connect 19 0 18 1;
|
||||
#X connect 21 0 24 0;
|
||||
#X connect 22 0 23 0;
|
||||
#X connect 23 0 21 0;
|
||||
#X connect 24 0 19 0;
|
||||
#X connect 25 0 30 0;
|
||||
#X connect 30 0 24 1;
|
||||
#X connect 42 0 18 0;
|
179
pd-0.44-2/doc/3.audio.examples/E01.spectrum.pd
Normal file
179
pd-0.44-2/doc/3.audio.examples/E01.spectrum.pd
Normal file
|
@ -0,0 +1,179 @@
|
|||
#N canvas 190 29 773 821 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array E01-signal 882 float 0;
|
||||
#X coords 0 5 882 -5 200 130 1;
|
||||
#X restore 531 41 graph;
|
||||
#X obj 40 304 hip~ 5;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array E01-spectrum 128 float 0;
|
||||
#X coords 0 4300 127 -40 257 130 1;
|
||||
#X restore 485 226 graph;
|
||||
#X text 134 243 <-- click to graph;
|
||||
#N canvas 45 83 558 569 fft 0;
|
||||
#X obj 19 62 inlet~;
|
||||
#X obj 85 214 inlet;
|
||||
#X obj 19 92 rfft~;
|
||||
#X obj 19 125 *~;
|
||||
#X obj 50 125 *~;
|
||||
#X obj 19 155 sqrt~;
|
||||
#X obj 85 248 tabwrite~ E01-spectrum;
|
||||
#X obj 332 109 block~ 4096 1;
|
||||
#X obj 19 181 biquad~ 0 0 0 0 1;
|
||||
#X text 83 93 Fourier series;
|
||||
#X text 88 146 magnitude;
|
||||
#X text 86 131 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 62 signal to analyze;
|
||||
#X text 182 166 delay two samples;
|
||||
#X text 181 182 for better graphing;
|
||||
#X obj 90 425 samplerate~;
|
||||
#X obj 90 402 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 90 472 5 0 0 0 - - -;
|
||||
#X obj 90 448 / 256;
|
||||
#X obj 90 378 loadbang;
|
||||
#X floatatom 90 541 5 0 0 0 - - -;
|
||||
#X obj 98 494 s fundamental;
|
||||
#X obj 90 517 ftom;
|
||||
#X text 146 540 <-just out of curiosity \, here's the pitch;
|
||||
#X text 14 319 At load time \, calculate a good choice of fundamental
|
||||
frequency for showing spectra: the 16th bin in a 4096-point spectrum
|
||||
\, so SR*16/4096 or SR/256.;
|
||||
#X text 135 216 "bang" into this inlet to graph it;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 8 0;
|
||||
#X connect 8 0 6 0;
|
||||
#X connect 16 0 19 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 18 0 22 0;
|
||||
#X connect 18 0 23 0;
|
||||
#X connect 19 0 18 0;
|
||||
#X connect 20 0 17 0;
|
||||
#X connect 23 0 21 0;
|
||||
#X restore 51 279 pd fft;
|
||||
#X text 531 173 ---- 0.02 seconds ----;
|
||||
#X obj 111 244 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 40 332 output~;
|
||||
#X obj 111 279 tabwrite~ E01-signal;
|
||||
#X text 523 800 updated for Pd version 0.37;
|
||||
#X text 516 359 1;
|
||||
#X text 550 359 2;
|
||||
#X text 582 359 3;
|
||||
#X text 614 359 4;
|
||||
#X text 647 359 5;
|
||||
#X text 677 359 6;
|
||||
#X text 708 359 7;
|
||||
#X text 484 359 0;
|
||||
#X text 520 378 -- partial number --;
|
||||
#X text 733 97 0;
|
||||
#X obj 42 42 r fundamental;
|
||||
#X obj 42 111 osc~;
|
||||
#X obj 63 136 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 41 161 *~;
|
||||
#X obj 85 111 osc~;
|
||||
#X obj 106 136 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 84 161 *~;
|
||||
#X obj 128 111 osc~;
|
||||
#X obj 149 136 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 127 161 *~;
|
||||
#X obj 128 88 * 2;
|
||||
#X obj 171 111 osc~;
|
||||
#X obj 192 136 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 170 161 *~;
|
||||
#X obj 214 111 osc~;
|
||||
#X obj 235 136 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 213 161 *~;
|
||||
#X obj 257 111 osc~;
|
||||
#X obj 278 136 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 256 161 *~;
|
||||
#X obj 42 88 * 0;
|
||||
#X obj 85 88 * 1;
|
||||
#X obj 171 88 * 3;
|
||||
#X obj 214 88 * 4;
|
||||
#X obj 257 88 * 5;
|
||||
#X text 303 136 <-- On/Off;
|
||||
#X text 337 152 for each;
|
||||
#X text 339 168 partial;
|
||||
#X text 595 11 WAVEFORM;
|
||||
#X text 578 204 SPECTRUM;
|
||||
#X text 25 415 The next series of patches demonstrates various kinds
|
||||
of modulation: AM \, waveshaping \, and FM. We will need a tool for
|
||||
graphing spectra which is introduced here. In this patch the signal
|
||||
to be analyzed is a simple sum of up to six partials of a fundamental
|
||||
frequency (which is 172 Hz \, close to F below middle C \, if your
|
||||
sample rate happens to be 44100 Hz. The fundamental is chosen to agree
|
||||
with the analysis patch ("pd FFT") and is computed within it).;
|
||||
#X text 25 546 The partials are numbered 0 through 5 \, where 0 means
|
||||
DC \, or zero frequency \, 1 is the fundamental \, and so on. The toggle
|
||||
switches allow you to turn them on and off separately. You have to
|
||||
press the "click to graph" button to update the two graphs.;
|
||||
#X text 745 344 0;
|
||||
#X text 743 223 1;
|
||||
#X text 744 282 0.5;
|
||||
#X text 26 631 The upper graph is just the (time domain) waveform \,
|
||||
about four periods long. The lower graph is the magnitude spectrum.
|
||||
Its peaks are the magnitudes of the partials. Note that a DC signal
|
||||
of amplitude one is considered a partial of magnitude 1 \, but the
|
||||
other partials \, which have peak amplitudes of 1 (and RMS 0.707) \,
|
||||
have peak magnitudes of only 0.5 in the spectrum.;
|
||||
#X obj 41 222 *~ 1;
|
||||
#X text 733 37 5;
|
||||
#X text 734 157 -5;
|
||||
#X text 81 221 sum;
|
||||
#X text 96 5 GRAPHING SPECTRA OF AUDIO SIGNALS;
|
||||
#X text 24 742 Here we're introducing a new feature: multiple signals
|
||||
connected to a signal inlet (as in the "*~ 1") are added. This is the
|
||||
most convenient way to sum the six partials.;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 1 0 7 1;
|
||||
#X connect 6 0 4 1;
|
||||
#X connect 6 0 8 0;
|
||||
#X connect 20 0 40 0;
|
||||
#X connect 20 0 41 0;
|
||||
#X connect 20 0 30 0;
|
||||
#X connect 20 0 42 0;
|
||||
#X connect 20 0 43 0;
|
||||
#X connect 20 0 44 0;
|
||||
#X connect 21 0 23 0;
|
||||
#X connect 22 0 23 1;
|
||||
#X connect 23 0 56 0;
|
||||
#X connect 24 0 26 0;
|
||||
#X connect 25 0 26 1;
|
||||
#X connect 26 0 56 0;
|
||||
#X connect 27 0 29 0;
|
||||
#X connect 28 0 29 1;
|
||||
#X connect 29 0 56 0;
|
||||
#X connect 30 0 27 0;
|
||||
#X connect 31 0 33 0;
|
||||
#X connect 32 0 33 1;
|
||||
#X connect 33 0 56 0;
|
||||
#X connect 34 0 36 0;
|
||||
#X connect 35 0 36 1;
|
||||
#X connect 36 0 56 0;
|
||||
#X connect 37 0 39 0;
|
||||
#X connect 38 0 39 1;
|
||||
#X connect 39 0 56 0;
|
||||
#X connect 40 0 21 0;
|
||||
#X connect 41 0 24 0;
|
||||
#X connect 42 0 31 0;
|
||||
#X connect 43 0 34 0;
|
||||
#X connect 44 0 37 0;
|
||||
#X connect 56 0 4 0;
|
||||
#X connect 56 0 1 0;
|
||||
#X connect 56 0 8 0;
|
197
pd-0.44-2/doc/3.audio.examples/E02.ring.modulation.pd
Normal file
197
pd-0.44-2/doc/3.audio.examples/E02.ring.modulation.pd
Normal file
|
@ -0,0 +1,197 @@
|
|||
#N canvas 269 43 755 746 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array E02-signal 882 float 0;
|
||||
#X coords 0 5 882 -5 200 130 1;
|
||||
#X restore 501 66 graph;
|
||||
#X obj 15 370 hip~ 5;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array E02-spectrum 128 float 0;
|
||||
#X coords 0 4300 127 -40 257 130 1;
|
||||
#X restore 455 251 graph;
|
||||
#N canvas 45 83 558 569 fft 0;
|
||||
#X obj 19 61 inlet~;
|
||||
#X obj 95 214 inlet;
|
||||
#X obj 29 92 rfft~;
|
||||
#X obj 29 125 *~;
|
||||
#X obj 60 125 *~;
|
||||
#X obj 29 155 sqrt~;
|
||||
#X obj 332 109 block~ 4096 1;
|
||||
#X obj 29 181 biquad~ 0 0 0 0 1;
|
||||
#X text 93 93 Fourier series;
|
||||
#X text 98 146 magnitude;
|
||||
#X text 96 131 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 192 166 delay two samples;
|
||||
#X text 191 182 for better graphing;
|
||||
#X obj 16 425 samplerate~;
|
||||
#X obj 16 402 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 16 472 5 0 0 0 - - -;
|
||||
#X obj 16 448 / 256;
|
||||
#X obj 16 378 loadbang;
|
||||
#X floatatom 16 541 5 0 0 0 - - -;
|
||||
#X obj 24 494 s fundamental;
|
||||
#X obj 16 517 ftom;
|
||||
#X text 14 319 At load time \, calculate a good choice of fundamental
|
||||
frequency for showing spectra: the 16th bin in a 4096-point spectrum
|
||||
\, so SR*16/4096 or SR/256.;
|
||||
#X text 145 216 "bang" into this inlet to graph it;
|
||||
#X floatatom 191 480 5 0 0 0 - - -;
|
||||
#X obj 191 456 / 4096;
|
||||
#X text 187 425 One bin is SR/4096:;
|
||||
#X text 72 540 <-just out of curiosity \, here's the fundamental pitch
|
||||
;
|
||||
#X obj 191 502 s freq-step;
|
||||
#X obj 95 248 tabwrite~ E02-spectrum;
|
||||
#X obj 20 281 tabwrite~ E02-signal;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 0 0 31 0;
|
||||
#X connect 1 0 30 0;
|
||||
#X connect 1 0 31 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 30 0;
|
||||
#X connect 15 0 18 0;
|
||||
#X connect 15 0 26 0;
|
||||
#X connect 16 0 15 0;
|
||||
#X connect 17 0 21 0;
|
||||
#X connect 17 0 22 0;
|
||||
#X connect 18 0 17 0;
|
||||
#X connect 19 0 16 0;
|
||||
#X connect 22 0 20 0;
|
||||
#X connect 25 0 29 0;
|
||||
#X connect 26 0 25 0;
|
||||
#X restore 23 343 pd fft;
|
||||
#X text 501 198 ---- 0.02 seconds ----;
|
||||
#X obj 84 344 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 15 398 output~;
|
||||
#X text 501 720 updated for Pd version 0.37;
|
||||
#X text 486 384 1;
|
||||
#X text 520 384 2;
|
||||
#X text 552 384 3;
|
||||
#X text 584 384 4;
|
||||
#X text 617 384 5;
|
||||
#X text 647 384 6;
|
||||
#X text 678 384 7;
|
||||
#X text 454 384 0;
|
||||
#X text 490 403 -- partial number --;
|
||||
#X text 703 120 0;
|
||||
#X obj 18 32 r fundamental;
|
||||
#X obj 18 94 osc~;
|
||||
#X obj 39 119 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X obj 17 144 *~;
|
||||
#X obj 61 94 osc~;
|
||||
#X obj 82 119 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X obj 60 144 *~;
|
||||
#X obj 104 94 osc~;
|
||||
#X obj 125 119 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
|
||||
1;
|
||||
#X obj 103 144 *~;
|
||||
#X obj 104 71 * 2;
|
||||
#X obj 147 94 osc~;
|
||||
#X obj 168 119 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 146 144 *~;
|
||||
#X obj 190 94 osc~;
|
||||
#X obj 211 119 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 189 144 *~;
|
||||
#X obj 233 94 osc~;
|
||||
#X obj 254 119 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 232 144 *~;
|
||||
#X obj 18 71 * 0;
|
||||
#X obj 61 71 * 1;
|
||||
#X obj 147 71 * 3;
|
||||
#X obj 190 71 * 4;
|
||||
#X obj 233 71 * 5;
|
||||
#X text 282 118 <-- On/Off;
|
||||
#X text 565 46 WAVEFORM;
|
||||
#X text 548 229 SPECTRUM;
|
||||
#X text 715 367 0;
|
||||
#X text 713 246 1;
|
||||
#X text 714 305 0.5;
|
||||
#X text 703 60 5;
|
||||
#X text 704 180 -5;
|
||||
#X obj 16 239 *~;
|
||||
#X text 300 102 partials;
|
||||
#X obj 154 270 osc~;
|
||||
#X floatatom 154 210 3 0 200 0 - - -;
|
||||
#X obj 154 239 *;
|
||||
#X obj 187 239 r freq-step;
|
||||
#X text 226 177 modulation;
|
||||
#X text 222 192 frequency in;
|
||||
#X text 185 209 <-- "steps" of f/16;
|
||||
#X text 97 -1 RING MODULATION: multiplying a complex tone by a sinusoid
|
||||
;
|
||||
#X obj 84 299 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X text 107 343 <-- graph once;
|
||||
#X obj 84 321 metro 500;
|
||||
#X text 107 298 <-- graph repeatedly;
|
||||
#X text 35 463 Now we ring modulate the signal by multiplying it by
|
||||
another sinusoid. The modulation frequency is controlled in steps of
|
||||
f/16 where "f" is the fundamental frequency \, giving roughly 11 Hz.
|
||||
per step. Note that if the modulation frequency is set to zero we can't
|
||||
predict the overall amplitude because it depends on what phase the
|
||||
modulation oscillator happened to have at that moment.;
|
||||
#X text 32 579 If you choose a multiple of the fundamental as a modulation
|
||||
frequency (16 \, 32 \, 48 \, 64 \, ... "steps") the result is again
|
||||
periodic at the original frequency. If you select a half-integer times
|
||||
the fundamental (8 \, 24 \, 40 \, ... steps) the pitch drops by an
|
||||
octave and you get only odd partials. For most other settings you'll
|
||||
get an inharmonic complex of tones. These are sometimes heard as separate
|
||||
pitches and other times they seem to fuse into a single timbre with
|
||||
indeterminate pitch.;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 1 0 6 1;
|
||||
#X connect 5 0 3 1;
|
||||
#X connect 18 0 38 0;
|
||||
#X connect 18 0 39 0;
|
||||
#X connect 18 0 28 0;
|
||||
#X connect 18 0 40 0;
|
||||
#X connect 18 0 41 0;
|
||||
#X connect 18 0 42 0;
|
||||
#X connect 19 0 21 0;
|
||||
#X connect 20 0 21 1;
|
||||
#X connect 21 0 51 0;
|
||||
#X connect 22 0 24 0;
|
||||
#X connect 23 0 24 1;
|
||||
#X connect 24 0 51 0;
|
||||
#X connect 25 0 27 0;
|
||||
#X connect 26 0 27 1;
|
||||
#X connect 27 0 51 0;
|
||||
#X connect 28 0 25 0;
|
||||
#X connect 29 0 31 0;
|
||||
#X connect 30 0 31 1;
|
||||
#X connect 31 0 51 0;
|
||||
#X connect 32 0 34 0;
|
||||
#X connect 33 0 34 1;
|
||||
#X connect 34 0 51 0;
|
||||
#X connect 35 0 37 0;
|
||||
#X connect 36 0 37 1;
|
||||
#X connect 37 0 51 0;
|
||||
#X connect 38 0 19 0;
|
||||
#X connect 39 0 22 0;
|
||||
#X connect 40 0 29 0;
|
||||
#X connect 41 0 32 0;
|
||||
#X connect 42 0 35 0;
|
||||
#X connect 51 0 3 0;
|
||||
#X connect 51 0 1 0;
|
||||
#X connect 53 0 51 1;
|
||||
#X connect 54 0 55 0;
|
||||
#X connect 55 0 53 0;
|
||||
#X connect 56 0 55 1;
|
||||
#X connect 61 0 63 0;
|
||||
#X connect 63 0 5 0;
|
140
pd-0.44-2/doc/3.audio.examples/E03.octave.divider.pd
Normal file
140
pd-0.44-2/doc/3.audio.examples/E03.octave.divider.pd
Normal file
|
@ -0,0 +1,140 @@
|
|||
#N canvas 51 52 793 665 12;
|
||||
#X obj 477 135 loadbang;
|
||||
#X obj 31 289 hip~ 5;
|
||||
#X obj 477 53 adc~ 1;
|
||||
#X obj 477 190 soundfiler;
|
||||
#X obj 32 322 output~;
|
||||
#X text 544 646 updated for Pd version 0.37;
|
||||
#X obj 478 100 tabwrite~ E03-table;
|
||||
#X msg 477 162 read ../sound/voice.wav E03-table;
|
||||
#X obj 117 64 fiddle~ 2048;
|
||||
#X obj 118 95 unpack;
|
||||
#X obj 111 199 osc~;
|
||||
#X obj 118 119 moses 1;
|
||||
#X obj 77 199 *~;
|
||||
#X obj 145 147 mtof;
|
||||
#X obj 145 170 *;
|
||||
#X msg 194 125 0.5;
|
||||
#X floatatom 194 154 3 0 0 0 - - -;
|
||||
#X msg 232 125 15;
|
||||
#N canvas 0 0 446 202 (subpatch) 0;
|
||||
#X obj 261 30 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X obj 100 20 inlet~;
|
||||
#X obj 99 87 *~;
|
||||
#X obj 98 159 outlet~;
|
||||
#X text 381 181 corner;
|
||||
#X connect 0 0 2 1;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X coords 0 0 100 100 40 18 1;
|
||||
#X restore 78 248 pd;
|
||||
#N canvas 0 0 446 202 (subpatch) 0;
|
||||
#X obj 261 30 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X obj 100 20 inlet~;
|
||||
#X obj 99 87 *~;
|
||||
#X obj 98 159 outlet~;
|
||||
#X text 381 181 corner;
|
||||
#X connect 0 0 2 1;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X coords 0 0 100 100 40 18 1;
|
||||
#X restore 32 248 pd;
|
||||
#X obj 78 222 *~ 2;
|
||||
#X obj 194 100 loadbang;
|
||||
#N canvas 414 195 613 302 looper 0;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array E03-table 44103 float 0;
|
||||
#X coords 0 1.02 44103 -1.02 200 130 1;
|
||||
#X restore 349 22 graph;
|
||||
#X text 347 161 ---- 44103 samples ----;
|
||||
#X obj 35 77 +~ 1;
|
||||
#X obj 35 25 phasor~ 1;
|
||||
#X obj 35 50 *~ 44100;
|
||||
#X obj 35 106 tabread4~ E03-table;
|
||||
#X obj 35 132 outlet~;
|
||||
#X text 46 238 one-second sample reader loop. You can replace this
|
||||
with an adc~ if you want to go live.;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 2 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X restore 118 18 pd looper;
|
||||
#X text 561 141 re-read original sample;
|
||||
#X obj 489 77 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#N canvas 300 203 758 306 delay 0;
|
||||
#X obj 15 222 outlet~;
|
||||
#X obj 14 21 inlet~;
|
||||
#X obj 15 102 loadbang;
|
||||
#X obj 14 49 delwrite~ E03-del 40;
|
||||
#X obj 15 195 delread~ E03-del;
|
||||
#X obj 15 152 expr 1000*1024/$f1;
|
||||
#X obj 15 128 samplerate~;
|
||||
#X text 208 47 write to delay line which has enough memory to hold
|
||||
40 msec;
|
||||
#X text 125 128 get sample rate at load time;
|
||||
#X text 185 152 divide 1024 by sample rate to give time in seconds
|
||||
\; multiply by 1000 to convert to milliseconds.;
|
||||
#X text 168 197 read from the delay line at the calculater delay;
|
||||
#X text 317 268 1024-sample delay;
|
||||
#X connect 1 0 3 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 4 0 0 0;
|
||||
#X connect 5 0 4 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X restore 31 71 pd delay;
|
||||
#X text 242 4 OCTAVE DIVIDING VIA RING MODULATION;
|
||||
#X text 508 75 <-- record a sample;
|
||||
#X text 265 125 <-- choose an effect;
|
||||
#X text 157 231 on/off for original;
|
||||
#X text 128 247 <--and processed sounds;
|
||||
#X text 196 274 This patch demonstrates using ring modulation to alias
|
||||
a sound down one octave. The ring modulation itself ("osc~" and multiplier)
|
||||
is easy. (We step it up by a factor of 2 to balance the original better.)
|
||||
;
|
||||
#X text 198 340 Harder is getting the fundamental frequency of the
|
||||
original sound. We do this with the complicated "fiddle~" object \,
|
||||
which puts out a stream of analysis data for an incoming signal. The
|
||||
"2048" argument specifies the analysis window size. The analysis is
|
||||
most closely aligned with what the sound was doing at the middle of
|
||||
the window \, i.e. \, 1024 samples ago. The "pd delay" window delays
|
||||
the signal itself 1024 samples so it will be as tightly synchronized
|
||||
with the analysis data as possible. (If you're doing this on a real-time
|
||||
input \, you might drop the delay and settle for less perfect synchronization.)
|
||||
;
|
||||
#X text 198 512 About fiddle~ \, suffice it to say that the third outlet
|
||||
contains (pitch \, amplitude) pairs. We unpack the pitch and strip
|
||||
out any zeros (when fiddle~ fails to find a pitch it outputs zero but
|
||||
we'd rather stick with the most recent good one). This is converted
|
||||
from MIDI to Hertz \, and multiplied by 1/2 to control the modulation
|
||||
oscillator. (You can also try large-ish integers which leave the pitch
|
||||
intact but introduce funny formants.);
|
||||
#X msg 406 237 read ../../saucisse.wav E03-table;
|
||||
#X obj 25 16 adc~ 1;
|
||||
#X connect 0 0 7 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 1 0 4 1;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 8 2 9 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 10 0 12 1;
|
||||
#X connect 11 1 13 0;
|
||||
#X connect 12 0 20 0;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 14 0 10 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 14 1;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 18 0 1 0;
|
||||
#X connect 19 0 1 0;
|
||||
#X connect 20 0 18 0;
|
||||
#X connect 21 0 15 0;
|
||||
#X connect 22 0 25 0;
|
||||
#X connect 22 0 8 0;
|
||||
#X connect 24 0 6 0;
|
||||
#X connect 25 0 19 0;
|
||||
#X connect 25 0 12 0;
|
||||
#X connect 34 0 3 0;
|
45
pd-0.44-2/doc/3.audio.examples/E04.difference.tone.pd
Normal file
45
pd-0.44-2/doc/3.audio.examples/E04.difference.tone.pd
Normal file
|
@ -0,0 +1,45 @@
|
|||
#N canvas 263 112 637 523 12;
|
||||
#X obj 19 128 +~;
|
||||
#X obj 18 209 output~;
|
||||
#X text 141 3 NONLINEAR DISTORTION AND DIFFERENCE TONES;
|
||||
#X obj 154 171 / 100;
|
||||
#X floatatom 154 151 5 0 500 0 - - -;
|
||||
#X obj 18 181 clip~ -1 1;
|
||||
#X floatatom 42 81 5 0 0 0 - - -;
|
||||
#X obj 18 155 *~;
|
||||
#X obj 42 35 loadbang;
|
||||
#X msg 154 127 50;
|
||||
#X obj 154 103 loadbang;
|
||||
#X text 385 494 updated for Pd version 0.37;
|
||||
#X text 94 80 <-- frequency of second tone;
|
||||
#X text 209 151 <-- before clipping;
|
||||
#X text 234 134 amplitude of sum;
|
||||
#X obj 18 9 osc~ 300;
|
||||
#X msg 42 58 225;
|
||||
#X text 99 226 This patch demonstrates how nonlinear distortion (also
|
||||
known as "waveshaping") can create difference tones from a pair of
|
||||
sinusoids. The sinusoids are initially tuned to 225 and 300 Hz \, a
|
||||
musical fourth \, and have amplitude of 50 percent (0.5) so that the
|
||||
sum is always less than 1 in absolute value. At these settings the
|
||||
"clip~" object passes its input through unchanged.;
|
||||
#X text 100 344 If the amplitude rises above 50 percent \, the clip~
|
||||
object starts altering the signal nonlinearly \, and the result is
|
||||
no longer as if the two sinusoids had been processed separately. Instead
|
||||
\, they "intermodulate" \, finding a common subharmonic if one exists.
|
||||
At 300 and 225 Hz \, the subharmonic is at 75 \, two octaves below
|
||||
the upper tone and a twelveth below the lower one. Change the frequency
|
||||
of the second tone and you will hear a variety of effects.;
|
||||
#X obj 42 103 osc~;
|
||||
#X connect 0 0 7 0;
|
||||
#X connect 3 0 7 1;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 5 0 1 1;
|
||||
#X connect 6 0 19 0;
|
||||
#X connect 7 0 5 0;
|
||||
#X connect 8 0 16 0;
|
||||
#X connect 9 0 4 0;
|
||||
#X connect 10 0 9 0;
|
||||
#X connect 15 0 0 0;
|
||||
#X connect 16 0 6 0;
|
||||
#X connect 19 0 0 1;
|
257
pd-0.44-2/doc/3.audio.examples/E05.chebychev.pd
Normal file
257
pd-0.44-2/doc/3.audio.examples/E05.chebychev.pd
Normal file
|
@ -0,0 +1,257 @@
|
|||
#N canvas 224 60 657 571 12;
|
||||
#X obj 23 269 output~;
|
||||
#X obj 45 74 / 100;
|
||||
#X floatatom 45 54 5 0 100 0 - - -;
|
||||
#X obj 23 144 *~;
|
||||
#X text 403 539 updated for Pd version 0.37;
|
||||
#X obj 22 29 osc~ 220;
|
||||
#X obj 45 97 pack 0 50;
|
||||
#X obj 45 121 line~;
|
||||
#X text 97 54 <-- index in;
|
||||
#X text 117 68 hundredths;
|
||||
#X obj 23 169 *~ 128;
|
||||
#X obj 23 217 tabread4~ E05-tab;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array E05-tab 259 float 1;
|
||||
#A 0 -1.20148 -1 -0.810724 -0.63326 -0.467216 -0.31221 -0.167866 -0.0338144
|
||||
0.0903053 0.204849 0.310166 0.406597 0.494477 0.574137 0.645895 0.71007
|
||||
0.766969 0.816895 0.860145 0.897008 0.927771 0.952708 0.972093 0.98619
|
||||
0.995261 0.999557 0.999329 0.994816 0.986257 0.97388 0.957912 0.938572
|
||||
0.916074 0.890625 0.86243 0.831684 0.798582 0.76331 0.726049 0.686977
|
||||
0.646266 0.60408 0.560583 0.515931 0.470276 0.423765 0.37654 0.328738
|
||||
0.280493 0.231934 0.183183 0.13436 0.0855808 0.0369554 -0.01141 -0.0594134
|
||||
-0.106956 -0.153946 -0.200292 -0.245909 -0.290715 -0.334633 -0.377589
|
||||
-0.419512 -0.460337 -0.5 -0.538443 -0.57561 -0.611449 -0.645912 -0.678953
|
||||
-0.710532 -0.740609 -0.76915 -0.796122 -0.821497 -0.845248 -0.867354
|
||||
-0.887794 -0.906551 -0.923612 -0.938965 -0.952601 -0.964516 -0.974704
|
||||
-0.983167 -0.989906 -0.994925 -0.99823 -0.999832 -0.999741 -0.997972
|
||||
-0.994539 -0.98946 -0.982757 -0.97445 -0.964564 -0.953125 -0.94016
|
||||
-0.925699 -0.909772 -0.892414 -0.873658 -0.85354 -0.832098 -0.809372
|
||||
-0.785401 -0.760228 -0.733895 -0.706446 -0.677928 -0.648387 -0.61787
|
||||
-0.586426 -0.554105 -0.520957 -0.487033 -0.452386 -0.417069 -0.381135
|
||||
-0.344638 -0.307632 -0.270174 -0.232319 -0.194122 -0.15564 -0.11693
|
||||
-0.0780487 -0.039053 0 0.039053 0.0780487 0.11693 0.15564 0.194122
|
||||
0.232319 0.270174 0.307632 0.344638 0.381135 0.417069 0.452386 0.487033
|
||||
0.520957 0.554105 0.586426 0.61787 0.648387 0.677928 0.706446 0.733895
|
||||
0.760228 0.785401 0.809372 0.832098 0.85354 0.873658 0.892414 0.909772
|
||||
0.925699 0.94016 0.953125 0.964564 0.97445 0.982757 0.98946 0.994539
|
||||
0.997972 0.999741 0.999832 0.99823 0.994925 0.989906 0.983167 0.974704
|
||||
0.964516 0.952601 0.938965 0.923612 0.906551 0.887794 0.867354 0.845248
|
||||
0.821497 0.796122 0.76915 0.740609 0.710532 0.678953 0.645912 0.611449
|
||||
0.57561 0.538443 0.5 0.460337 0.419512 0.377589 0.334633 0.290715 0.245909
|
||||
0.200292 0.153946 0.106956 0.0594134 0.01141 -0.0369554 -0.0855808
|
||||
-0.13436 -0.183183 -0.231934 -0.280493 -0.328738 -0.37654 -0.423765
|
||||
-0.470276 -0.515931 -0.560583 -0.60408 -0.646266 -0.686977 -0.726049
|
||||
-0.76331 -0.798582 -0.831684 -0.86243 -0.890625 -0.916074 -0.938572
|
||||
-0.957912 -0.97388 -0.986257 -0.994816 -0.999329 -0.999557 -0.995261
|
||||
-0.98619 -0.972093 -0.952708 -0.927771 -0.897008 -0.860145 -0.816895
|
||||
-0.766969 -0.71007 -0.645895 -0.574137 -0.494477 -0.406597 -0.310166
|
||||
-0.204849 -0.0903053 0.0338144 0.167866 0.31221 0.467216 0.63326 0.810724
|
||||
1 1.20148;
|
||||
#X coords 0 1 258 -1 200 140 1;
|
||||
#X restore 262 46 graph;
|
||||
#X text 497 28 subpatch to;
|
||||
#N canvas 113 0 849 700 make-table 0;
|
||||
#X obj 141 304 t b b;
|
||||
#X obj 213 329 f;
|
||||
#X obj 251 329 + 1;
|
||||
#X msg 235 306 0;
|
||||
#X obj 141 327 until;
|
||||
#X obj 213 359 t f f;
|
||||
#X obj 114 436 tabwrite E05-tab;
|
||||
#X obj 140 355 sel 258;
|
||||
#X text 203 172 normalize from -1 to 1;
|
||||
#X obj 141 285 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 88 386 expr ($f1-129)/128;
|
||||
#X obj 141 262 inlet;
|
||||
#X obj 171 534 t b b;
|
||||
#X obj 243 559 f;
|
||||
#X obj 281 559 + 1;
|
||||
#X msg 265 536 0;
|
||||
#X obj 171 557 until;
|
||||
#X obj 243 589 t f f;
|
||||
#X obj 144 666 tabwrite E05-tab;
|
||||
#X obj 170 585 sel 258;
|
||||
#X obj 171 515 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 118 616 expr ($f1-129)/128;
|
||||
#X obj 171 492 inlet;
|
||||
#X obj 444 228 t b b;
|
||||
#X obj 516 253 f;
|
||||
#X obj 554 253 + 1;
|
||||
#X msg 538 230 0;
|
||||
#X obj 444 251 until;
|
||||
#X obj 516 283 t f f;
|
||||
#X obj 417 360 tabwrite E05-tab;
|
||||
#X obj 443 279 sel 258;
|
||||
#X obj 391 334 expr 16*$f1*$f1*$f1*$f1*$f1-20*$f1*$f1*$f1+5*$f1;
|
||||
#X obj 444 209 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 391 310 expr ($f1-129)/128;
|
||||
#X obj 444 186 inlet;
|
||||
#X obj 504 476 t b b;
|
||||
#X obj 576 501 f;
|
||||
#X obj 614 501 + 1;
|
||||
#X msg 598 478 0;
|
||||
#X obj 504 499 until;
|
||||
#X obj 576 531 t f f;
|
||||
#X obj 477 624 tabwrite E05-tab;
|
||||
#X obj 503 527 sel 258;
|
||||
#X obj 504 457 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 448 558 expr ($f1-129)/128;
|
||||
#X obj 504 434 inlet;
|
||||
#X obj 88 410 expr 4*$f1*$f1*$f1-3*$f1;
|
||||
#X obj 118 640 expr 8*$f1*$f1*$f1*$f1-8*$f1*$f1+1;
|
||||
#X obj 448 582 expr 32*$f1*$f1*$f1*$f1*$f1*$f1 -48*$f1*$f1*$f1*$f1+18*$f1*$f1-1
|
||||
;
|
||||
#X text 641 622 6th C.P. and basta.;
|
||||
#X obj 83 92 t b b;
|
||||
#X obj 155 117 f;
|
||||
#X obj 193 117 + 1;
|
||||
#X msg 177 94 0;
|
||||
#X obj 83 115 until;
|
||||
#X obj 155 147 t f f;
|
||||
#X obj 56 224 tabwrite E05-tab;
|
||||
#X obj 82 143 sel 258;
|
||||
#X obj 83 73 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 30 174 expr ($f1-129)/128;
|
||||
#X obj 83 50 inlet;
|
||||
#X obj 30 198 expr 2*$f1*$f1-1;
|
||||
#X text 203 198 2nd C.P.;
|
||||
#X text 309 410 3rd C.P.;
|
||||
#X text 331 660 4th C.P.;
|
||||
#X text 613 357 5th C.P.;
|
||||
#X text 259 51 This patch computes Chebychev polynomials and stores
|
||||
them in a wavetable for use later.;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 0 1 3 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 1 1;
|
||||
#X connect 3 0 1 1;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 10 0;
|
||||
#X connect 5 1 6 1;
|
||||
#X connect 7 0 4 1;
|
||||
#X connect 9 0 0 0;
|
||||
#X connect 10 0 46 0;
|
||||
#X connect 11 0 9 0;
|
||||
#X connect 12 0 16 0;
|
||||
#X connect 12 1 15 0;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 13 0 17 0;
|
||||
#X connect 13 0 19 0;
|
||||
#X connect 14 0 13 1;
|
||||
#X connect 15 0 13 1;
|
||||
#X connect 16 0 13 0;
|
||||
#X connect 17 0 21 0;
|
||||
#X connect 17 1 18 1;
|
||||
#X connect 19 0 16 1;
|
||||
#X connect 20 0 12 0;
|
||||
#X connect 21 0 47 0;
|
||||
#X connect 22 0 20 0;
|
||||
#X connect 23 0 27 0;
|
||||
#X connect 23 1 26 0;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 24 0 28 0;
|
||||
#X connect 24 0 30 0;
|
||||
#X connect 25 0 24 1;
|
||||
#X connect 26 0 24 1;
|
||||
#X connect 27 0 24 0;
|
||||
#X connect 28 0 33 0;
|
||||
#X connect 28 1 29 1;
|
||||
#X connect 30 0 27 1;
|
||||
#X connect 31 0 29 0;
|
||||
#X connect 32 0 23 0;
|
||||
#X connect 33 0 31 0;
|
||||
#X connect 34 0 32 0;
|
||||
#X connect 35 0 39 0;
|
||||
#X connect 35 1 38 0;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 36 0 40 0;
|
||||
#X connect 36 0 42 0;
|
||||
#X connect 37 0 36 1;
|
||||
#X connect 38 0 36 1;
|
||||
#X connect 39 0 36 0;
|
||||
#X connect 40 0 44 0;
|
||||
#X connect 40 1 41 1;
|
||||
#X connect 42 0 39 1;
|
||||
#X connect 43 0 35 0;
|
||||
#X connect 44 0 48 0;
|
||||
#X connect 45 0 43 0;
|
||||
#X connect 46 0 6 0;
|
||||
#X connect 47 0 18 0;
|
||||
#X connect 48 0 41 0;
|
||||
#X connect 50 0 54 0;
|
||||
#X connect 50 1 53 0;
|
||||
#X connect 51 0 52 0;
|
||||
#X connect 51 0 55 0;
|
||||
#X connect 51 0 57 0;
|
||||
#X connect 52 0 51 1;
|
||||
#X connect 53 0 51 1;
|
||||
#X connect 54 0 51 0;
|
||||
#X connect 55 0 59 0;
|
||||
#X connect 55 1 56 1;
|
||||
#X connect 57 0 54 1;
|
||||
#X connect 58 0 50 0;
|
||||
#X connect 59 0 61 0;
|
||||
#X connect 60 0 58 0;
|
||||
#X connect 61 0 56 0;
|
||||
#X restore 489 146 pd make-table;
|
||||
#X obj 489 126 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 517 126 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 545 126 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 573 126 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 600 126 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X text 497 45 calculate;
|
||||
#X text 495 64 Chebychev;
|
||||
#X text 496 83 polynomials;
|
||||
#X text 490 107 2;
|
||||
#X text 517 107 3;
|
||||
#X text 546 107 4;
|
||||
#X text 572 108 5;
|
||||
#X text 601 107 6;
|
||||
#X text 134 2 waveshaping with Chebychev polynomials;
|
||||
#X obj 23 193 +~ 129;
|
||||
#X obj 23 242 hip~ 5;
|
||||
#X text 107 256 This patch demonstrates using Chebychev polynomials
|
||||
(of the first kind) to generate pure harmonics using waveshaping. The
|
||||
pure harmonic only comes out when the index is one (top of the scale).
|
||||
Smaller indices will give various mixes of harmonics. The table initially
|
||||
holds the fifth Chebychev polynomial \, so you can get the fifth harmonic.
|
||||
;
|
||||
#X text 106 355 There is an audible "rolling" sound as the index changes
|
||||
for the higher degree polynomials \, because the amplitudes of the
|
||||
lower partials can rise and fall several times apiece as the index
|
||||
rises from zero to one.;
|
||||
#X text 105 422 Indices greater than one will try to read values outside
|
||||
the table (which would be clipped appropriately). Anyway \, the polynomials
|
||||
increase rapidly in value outside the interval from -1 to 1 that we
|
||||
are using here.;
|
||||
#X text 106 491 When you get tired of Chebychef polynomials you can
|
||||
draw your own functions by hand and/or try other formulas.;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 10 0;
|
||||
#X connect 5 0 3 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 3 1;
|
||||
#X connect 10 0 29 0;
|
||||
#X connect 11 0 30 0;
|
||||
#X connect 15 0 14 0;
|
||||
#X connect 16 0 14 1;
|
||||
#X connect 17 0 14 2;
|
||||
#X connect 18 0 14 3;
|
||||
#X connect 19 0 14 4;
|
||||
#X connect 29 0 11 0;
|
||||
#X connect 30 0 0 0;
|
||||
#X connect 30 0 0 1;
|
335
pd-0.44-2/doc/3.audio.examples/E06.exponential.pd
Normal file
335
pd-0.44-2/doc/3.audio.examples/E06.exponential.pd
Normal file
|
@ -0,0 +1,335 @@
|
|||
#N canvas 85 89 754 729 12;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array E06-signal 882 float 0;
|
||||
#X coords 0 1.02 882 -1.02 200 130 1;
|
||||
#X restore 509 46 graph;
|
||||
#X obj 14 265 hip~ 5;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array E06-spectrum 128 float 0;
|
||||
#X coords 0 4300 127 -40 257 130 1;
|
||||
#X restore 463 222 graph;
|
||||
#N canvas 45 83 558 569 fft 0;
|
||||
#X obj 19 61 inlet~;
|
||||
#X obj 208 212 inlet;
|
||||
#X obj 29 92 rfft~;
|
||||
#X obj 29 125 *~;
|
||||
#X obj 60 125 *~;
|
||||
#X obj 29 155 sqrt~;
|
||||
#X obj 332 109 block~ 4096 1;
|
||||
#X obj 29 181 biquad~ 0 0 0 0 1;
|
||||
#X text 93 93 Fourier series;
|
||||
#X text 98 146 magnitude;
|
||||
#X text 96 131 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 193 164 delay two samples;
|
||||
#X text 191 182 for better graphing;
|
||||
#X obj 16 425 samplerate~;
|
||||
#X obj 16 402 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 16 472 5 0 0 0 - - -;
|
||||
#X obj 16 448 / 256;
|
||||
#X obj 16 378 loadbang;
|
||||
#X floatatom 16 541 5 0 0 0 - - -;
|
||||
#X obj 24 494 s fundamental;
|
||||
#X obj 16 517 ftom;
|
||||
#X text 14 319 At load time \, calculate a good choice of fundamental
|
||||
frequency for showing spectra: the 16th bin in a 4096-point spectrum
|
||||
\, so SR*16/4096 or SR/256.;
|
||||
#X floatatom 191 480 5 0 0 0 - - -;
|
||||
#X obj 191 456 / 4096;
|
||||
#X text 187 425 One bin is SR/4096:;
|
||||
#X obj 191 502 s freq-step;
|
||||
#X obj 208 295 tabwrite~ E06-spectrum;
|
||||
#X obj 19 295 tabwrite~ E06-signal;
|
||||
#X text 71 540 <-fundamental pitch;
|
||||
#X obj 220 257 metro 500;
|
||||
#X obj 220 234 inlet;
|
||||
#X text 273 232 toggle to graph repeatedly;
|
||||
#X text 262 212 bang to graph once;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 0 0 29 0;
|
||||
#X connect 1 0 28 0;
|
||||
#X connect 1 0 29 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 28 0;
|
||||
#X connect 15 0 18 0;
|
||||
#X connect 15 0 25 0;
|
||||
#X connect 16 0 15 0;
|
||||
#X connect 17 0 21 0;
|
||||
#X connect 17 0 22 0;
|
||||
#X connect 18 0 17 0;
|
||||
#X connect 19 0 16 0;
|
||||
#X connect 22 0 20 0;
|
||||
#X connect 24 0 27 0;
|
||||
#X connect 25 0 24 0;
|
||||
#X connect 31 0 28 0;
|
||||
#X connect 31 0 29 0;
|
||||
#X connect 32 0 31 0;
|
||||
#X restore 22 238 pd fft;
|
||||
#X text 509 178 ---- 0.02 seconds ----;
|
||||
#X obj 82 217 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 14 293 output~;
|
||||
#X text 499 708 updated for Pd version 0.37;
|
||||
#X text 494 355 1;
|
||||
#X text 528 355 2;
|
||||
#X text 560 355 3;
|
||||
#X text 592 355 4;
|
||||
#X text 625 355 5;
|
||||
#X text 655 355 6;
|
||||
#X text 686 355 7;
|
||||
#X text 462 355 0;
|
||||
#X text 496 372 -- partial number --;
|
||||
#X text 711 100 0;
|
||||
#X obj 12 30 r fundamental;
|
||||
#X obj 12 57 osc~;
|
||||
#X text 573 26 WAVEFORM;
|
||||
#X text 557 204 SPECTRUM;
|
||||
#X text 723 338 0;
|
||||
#X text 721 217 1;
|
||||
#X text 722 276 0.5;
|
||||
#X obj 82 238 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array E06-tab 1003 float 1;
|
||||
#A 0 1.01005 1 0.99005 0.980199 0.970446 0.960789 0.951229 0.941765
|
||||
0.932394 0.923116 0.913931 0.904837 0.895834 0.88692 0.878095 0.869358
|
||||
0.860708 0.852144 0.843665 0.83527 0.826959 0.818731 0.810584 0.802519
|
||||
0.794534 0.786628 0.778801 0.771052 0.76338 0.755784 0.748264 0.740818
|
||||
0.733447 0.726149 0.718924 0.71177 0.704688 0.697676 0.690734 0.683861
|
||||
0.677057 0.67032 0.66365 0.657047 0.650509 0.644036 0.637628 0.631284
|
||||
0.625002 0.618783 0.612626 0.606531 0.600496 0.594521 0.588605 0.582748
|
||||
0.57695 0.571209 0.565525 0.559898 0.554327 0.548812 0.543351 0.537944
|
||||
0.532592 0.527292 0.522046 0.516851 0.511709 0.506617 0.501576 0.496585
|
||||
0.491644 0.486752 0.481909 0.477114 0.472367 0.467666 0.463013 0.458406
|
||||
0.453845 0.449329 0.444858 0.440432 0.436049 0.431711 0.427415 0.423162
|
||||
0.418952 0.414783 0.410656 0.40657 0.402524 0.398519 0.394554 0.390628
|
||||
0.386741 0.382893 0.379083 0.375311 0.371577 0.367879 0.364219 0.360595
|
||||
0.357007 0.353455 0.349938 0.346456 0.343008 0.339595 0.336216 0.332871
|
||||
0.329559 0.32628 0.323033 0.319819 0.316637 0.313486 0.310367 0.307279
|
||||
0.304221 0.301194 0.298197 0.29523 0.292293 0.289384 0.286505 0.283654
|
||||
0.280832 0.278037 0.275271 0.272532 0.26982 0.267135 0.264477 0.261846
|
||||
0.25924 0.256661 0.254107 0.251579 0.249075 0.246597 0.244143 0.241714
|
||||
0.239309 0.236928 0.23457 0.232236 0.229925 0.227638 0.225373 0.22313
|
||||
0.22091 0.218712 0.216536 0.214381 0.212248 0.210136 0.208045 0.205975
|
||||
0.203926 0.201897 0.199888 0.197899 0.19593 0.19398 0.19205 0.190139
|
||||
0.188247 0.186374 0.18452 0.182684 0.180866 0.179066 0.177284 0.17552
|
||||
0.173774 0.172045 0.170333 0.168638 0.16696 0.165299 0.163654 0.162026
|
||||
0.160414 0.158817 0.157237 0.155673 0.154124 0.15259 0.151072 0.149569
|
||||
0.14808 0.146607 0.145148 0.143704 0.142274 0.140858 0.139457 0.138069
|
||||
0.136695 0.135335 0.133989 0.132655 0.131336 0.130029 0.128735 0.127454
|
||||
0.126186 0.12493 0.123687 0.122456 0.121238 0.120032 0.118837 0.117655
|
||||
0.116484 0.115325 0.114178 0.113042 0.111917 0.110803 0.109701 0.108609
|
||||
0.107528 0.106459 0.105399 0.10435 0.103312 0.102284 0.101266 0.100259
|
||||
0.0992613 0.0982736 0.0972958 0.0963276 0.0953692 0.0944202 0.0934807
|
||||
0.0925506 0.0916297 0.0907179 0.0898153 0.0889216 0.0880368 0.0871608
|
||||
0.0862936 0.085435 0.0845849 0.0837432 0.08291 0.082085 0.0812682 0.0804596
|
||||
0.079659 0.0788664 0.0780817 0.0773047 0.0765356 0.075774 0.07502 0.0742736
|
||||
0.0735345 0.0728029 0.0720785 0.0713613 0.0706512 0.0699482 0.0692522
|
||||
0.0685631 0.0678809 0.0672055 0.0665368 0.0658748 0.0652193 0.0645703
|
||||
0.0639279 0.0632918 0.062662 0.0620385 0.0614212 0.0608101 0.060205
|
||||
0.0596059 0.0590129 0.0584257 0.0578443 0.0572688 0.0566989 0.0561348
|
||||
0.0555762 0.0550232 0.0544757 0.0539337 0.053397 0.0528657 0.0523397
|
||||
0.0518189 0.0513033 0.0507928 0.0502874 0.0497871 0.0492917 0.0488012
|
||||
0.0483156 0.0478349 0.0473589 0.0468877 0.0464212 0.0459593 0.045502
|
||||
0.0450492 0.044601 0.0441572 0.0437178 0.0432828 0.0428521 0.0424257
|
||||
0.0420036 0.0415857 0.0411719 0.0407622 0.0403566 0.0399551 0.0395575
|
||||
0.0391639 0.0387742 0.0383884 0.0380064 0.0376283 0.0372538 0.0368832
|
||||
0.0365162 0.0361528 0.0357931 0.035437 0.0350844 0.0347353 0.0343896
|
||||
0.0340475 0.0337087 0.0333733 0.0330412 0.0327124 0.0323869 0.0320647
|
||||
0.0317456 0.0314298 0.031117 0.0308074 0.0305009 0.0301974 0.0298969
|
||||
0.0295994 0.0293049 0.0290133 0.0287246 0.0284388 0.0281559 0.0278757
|
||||
0.0275983 0.0273237 0.0270518 0.0267827 0.0265162 0.0262523 0.0259911
|
||||
0.0257325 0.0254765 0.025223 0.024972 0.0247235 0.0244775 0.024234
|
||||
0.0239928 0.0237541 0.0235177 0.0232837 0.0230521 0.0228227 0.0225956
|
||||
0.0223708 0.0221482 0.0219278 0.0217096 0.0214936 0.0212797 0.021068
|
||||
0.0208584 0.0206508 0.0204453 0.0202419 0.0200405 0.0198411 0.0196437
|
||||
0.0194482 0.0192547 0.0190631 0.0188734 0.0186856 0.0184997 0.0183156
|
||||
0.0181334 0.017953 0.0177743 0.0175975 0.0174224 0.017249 0.0170774
|
||||
0.0169075 0.0167392 0.0165727 0.0164078 0.0162445 0.0160829 0.0159229
|
||||
0.0157644 0.0156076 0.0154523 0.0152985 0.0151463 0.0149956 0.0148464
|
||||
0.0146986 0.0145524 0.0144076 0.0142642 0.0141223 0.0139818 0.0138427
|
||||
0.0137049 0.0135686 0.0134336 0.0132999 0.0131675 0.0130365 0.0129068
|
||||
0.0127784 0.0126512 0.0125254 0.0124007 0.0122773 0.0121552 0.0120342
|
||||
0.0119145 0.0117959 0.0116786 0.0115624 0.0114473 0.0113334 0.0112206
|
||||
0.011109 0.0109985 0.010889 0.0107807 0.0106734 0.0105672 0.0104621
|
||||
0.010358 0.0102549 0.0101529 0.0100518 0.00995182 0.0098528 0.00975476
|
||||
0.0096577 0.0095616 0.00946646 0.00937227 0.00927902 0.00918669 0.00909528
|
||||
0.00900478 0.00891518 0.00882647 0.00873865 0.0086517 0.00856561 0.00848038
|
||||
0.008396 0.00831246 0.00822975 0.00814786 0.00806679 0.00798652 0.00790705
|
||||
0.00782838 0.00775048 0.00767337 0.00759701 0.00752142 0.00744658 0.00737249
|
||||
0.00729913 0.0072265 0.0071546 0.00708341 0.00701293 0.00694315 0.00687406
|
||||
0.00680567 0.00673795 0.0066709 0.00660453 0.00653881 0.00647375 0.00640933
|
||||
0.00634556 0.00628242 0.00621991 0.00615802 0.00609675 0.00603608 0.00597602
|
||||
0.00591656 0.00585769 0.0057994 0.0057417 0.00568457 0.00562801 0.00557201
|
||||
0.00551657 0.00546167 0.00540733 0.00535353 0.00530026 0.00524752 0.0051953
|
||||
0.00514361 0.00509243 0.00504176 0.00499159 0.00494193 0.00489275 0.00484407
|
||||
0.00479587 0.00474815 0.00470091 0.00465413 0.00460782 0.00456197 0.00451658
|
||||
0.00447164 0.00442715 0.0043831 0.00433948 0.00429631 0.00425356 0.00421123
|
||||
0.00416933 0.00412785 0.00408677 0.00404611 0.00400585 0.00396599 0.00392653
|
||||
0.00388746 0.00384878 0.00381048 0.00377257 0.00373503 0.00369786 0.00366107
|
||||
0.00362464 0.00358857 0.00355287 0.00351752 0.00348252 0.00344786 0.00341356
|
||||
0.00337959 0.00334597 0.00331267 0.00327971 0.00324708 0.00321477 0.00318278
|
||||
0.00315111 0.00311976 0.00308871 0.00305798 0.00302755 0.00299743 0.0029676
|
||||
0.00293808 0.00290884 0.0028799 0.00285124 0.00282287 0.00279478 0.00276698
|
||||
0.00273944 0.00271219 0.0026852 0.00265848 0.00263203 0.00260584 0.00257991
|
||||
0.00255424 0.00252883 0.00250366 0.00247875 0.00245409 0.00242967 0.00240549
|
||||
0.00238156 0.00235786 0.0023344 0.00231117 0.00228818 0.00226541 0.00224287
|
||||
0.00222055 0.00219846 0.00217658 0.00215492 0.00213348 0.00211225 0.00209124
|
||||
0.00207043 0.00204983 0.00202943 0.00200924 0.00198925 0.00196945 0.00194986
|
||||
0.00193045 0.00191125 0.00189223 0.0018734 0.00185476 0.0018363 0.00181803
|
||||
0.00179994 0.00178203 0.0017643 0.00174675 0.00172937 0.00171216 0.00169512
|
||||
0.00167826 0.00166156 0.00164502 0.00162866 0.00161245 0.00159641 0.00158052
|
||||
0.0015648 0.00154923 0.00153381 0.00151855 0.00150344 0.00148848 0.00147367
|
||||
0.00145901 0.00144449 0.00143012 0.00141589 0.0014018 0.00138785 0.00137404
|
||||
0.00136037 0.00134683 0.00133343 0.00132016 0.00130703 0.00129402 0.00128115
|
||||
0.0012684 0.00125578 0.00124328 0.00123091 0.00121866 0.00120654 0.00119453
|
||||
0.00118265 0.00117088 0.00115923 0.00114769 0.00113627 0.00112497 0.00111377
|
||||
0.00110269 0.00109172 0.00108086 0.0010701 0.00105946 0.00104891 0.00103848
|
||||
0.00102814 0.00101791 0.00100779 0.000997758 0.00098783 0.000978001
|
||||
0.00096827 0.000958635 0.000949097 0.000939653 0.000930303 0.000921047
|
||||
0.000911882 0.000902808 0.000893825 0.000884932 0.000876127 0.000867409
|
||||
0.000858778 0.000850233 0.000841773 0.000833397 0.000825105 0.000816895
|
||||
0.000808767 0.000800719 0.000792752 0.000784864 0.000777055 0.000769323
|
||||
0.000761668 0.000754089 0.000746586 0.000739157 0.000731803 0.000724521
|
||||
0.000717312 0.000710174 0.000703108 0.000696112 0.000689185 0.000682328
|
||||
0.000675539 0.000668817 0.000662162 0.000655574 0.00064905 0.000642592
|
||||
0.000636198 0.000629868 0.000623601 0.000617396 0.000611253 0.000605171
|
||||
0.000599149 0.000593188 0.000587285 0.000581442 0.000575656 0.000569928
|
||||
0.000564257 0.000558643 0.000553084 0.000547581 0.000542133 0.000536738
|
||||
0.000531398 0.00052611 0.000520875 0.000515692 0.000510561 0.000505481
|
||||
0.000500451 0.000495472 0.000490542 0.000485661 0.000480829 0.000476044
|
||||
0.000471307 0.000466618 0.000461975 0.000457378 0.000452827 0.000448321
|
||||
0.000443861 0.000439444 0.000435072 0.000430743 0.000426456 0.000422213
|
||||
0.000418012 0.000413853 0.000409735 0.000405658 0.000401622 0.000397626
|
||||
0.000393669 0.000389752 0.000385874 0.000382034 0.000378233 0.00037447
|
||||
0.000370744 0.000367055 0.000363402 0.000359786 0.000356206 0.000352662
|
||||
0.000349153 0.000345679 0.000342239 0.000338834 0.000335463 0.000332125
|
||||
0.00032882 0.000325548 0.000322309 0.000319102 0.000315927 0.000312783
|
||||
0.000309671 0.00030659 0.000303539 0.000300519 0.000297529 0.000294568
|
||||
0.000291637 0.000288735 0.000285862 0.000283018 0.000280202 0.000277414
|
||||
0.000274654 0.000271921 0.000269215 0.000266536 0.000263884 0.000261259
|
||||
0.000258659 0.000256085 0.000253537 0.000251014 0.000248517 0.000246044
|
||||
0.000243596 0.000241172 0.000238772 0.000236396 0.000234044 0.000231716
|
||||
0.00022941 0.000227127 0.000224867 0.00022263 0.000220415 0.000218221
|
||||
0.00021605 0.0002139 0.000211772 0.000209665 0.000207579 0.000205513
|
||||
0.000203468 0.000201444 0.000199439 0.000197455 0.00019549 0.000193545
|
||||
0.000191619 0.000189713 0.000187825 0.000185956 0.000184106 0.000182274
|
||||
0.00018046 0.000178665 0.000176887 0.000175127 0.000173384 0.000171659
|
||||
0.000169951 0.00016826 0.000166586 0.000164928 0.000163287 0.000161663
|
||||
0.000160054 0.000158461 0.000156885 0.000155324 0.000153778 0.000152248
|
||||
0.000150733 0.000149233 0.000147748 0.000146278 0.000144823 0.000143382
|
||||
0.000141955 0.000140543 0.000139144 0.00013776 0.000136389 0.000135032
|
||||
0.000133688 0.000132358 0.000131041 0.000129737 0.000128446 0.000127168
|
||||
0.000125903 0.00012465 0.00012341 0.000122182 0.000120966 0.000119763
|
||||
0.000118571 0.000117391 0.000116223 0.000115067 0.000113922 0.000112788
|
||||
0.000111666 0.000110555 0.000109455 0.000108366 0.000107287 0.00010622
|
||||
0.000105163 0.000104117 0.00010308 0.000102055 0.000101039 0.000100034
|
||||
9.90387e-05 9.80533e-05 9.70776e-05 9.61117e-05 9.51553e-05 9.42085e-05
|
||||
9.32711e-05 9.23431e-05 9.14242e-05 9.05145e-05 8.96139e-05 8.87222e-05
|
||||
8.78394e-05 8.69654e-05 8.61001e-05 8.52434e-05 8.43952e-05 8.35554e-05
|
||||
8.27241e-05 8.1901e-05 8.1086e-05 8.02792e-05 7.94804e-05 7.86896e-05
|
||||
7.79066e-05 7.71314e-05 7.6364e-05 7.56041e-05 7.48518e-05 7.4107e-05
|
||||
7.33696e-05 7.26396e-05 7.19169e-05 7.12012e-05 7.04928e-05 6.97914e-05
|
||||
6.9097e-05 6.84094e-05 6.77287e-05 6.70548e-05 6.63876e-05 6.5727e-05
|
||||
6.5073e-05 6.44256e-05 6.37845e-05 6.31498e-05 6.25215e-05 6.18994e-05
|
||||
6.12835e-05 6.06737e-05 6.007e-05 5.94723e-05 5.88805e-05 5.82947e-05
|
||||
5.77146e-05 5.71403e-05 5.65718e-05 5.60089e-05 5.54516e-05 5.48998e-05
|
||||
5.43536e-05 5.38128e-05 5.32773e-05 5.27472e-05 5.22224e-05 5.17027e-05
|
||||
5.11883e-05 5.06789e-05 5.01747e-05 4.96754e-05 4.91812e-05 4.86918e-05
|
||||
4.82073e-05 4.77276e-05 4.72527e-05 4.67826e-05 4.63171e-05;
|
||||
#A 1000 0 0 0;
|
||||
#X coords 0 1 1002 0 180 100 1;
|
||||
#X restore 254 118 graph;
|
||||
#N canvas 140 79 589 249 make-table 0;
|
||||
#X obj 164 81 t b b;
|
||||
#X obj 236 106 f;
|
||||
#X obj 274 106 + 1;
|
||||
#X msg 258 83 0;
|
||||
#X obj 164 104 until;
|
||||
#X obj 236 136 t f f;
|
||||
#X obj 164 62 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 104 164 expr exp(-($f1-1)/100);
|
||||
#X obj 163 132 sel 999;
|
||||
#X text 35 10 This patch computes a decaying exponential function \,
|
||||
100 points per unit.;
|
||||
#X obj 137 196 tabwrite E06-tab;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 0 1 3 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 0 8 0;
|
||||
#X connect 2 0 1 1;
|
||||
#X connect 3 0 1 1;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 5 1 10 1;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 8 0 4 1;
|
||||
#X restore 302 258 pd make-table;
|
||||
#X text 252 85 waveshaping function;
|
||||
#X text 438 210 0;
|
||||
#X text 437 114 1;
|
||||
#X obj 12 168 +~ 1;
|
||||
#X obj 12 146 *~ 100;
|
||||
#X obj 12 83 +~ 1;
|
||||
#X floatatom 68 53 5 0 200 0 - - -;
|
||||
#X obj 68 96 pack 0 50;
|
||||
#X obj 68 120 line~;
|
||||
#X text 157 69 tenths;
|
||||
#X obj 68 73 / 10;
|
||||
#X obj 12 124 *~;
|
||||
#X obj 13 190 tabread4~ E06-tab;
|
||||
#X text 711 40 1;
|
||||
#X text 712 160 -1;
|
||||
#X text 103 237 <-- repeatedly;
|
||||
#X text 104 217 <-- graph once;
|
||||
#X text 121 0 Waveshaping using an exponential function;
|
||||
#X text 120 53 <--index in;
|
||||
#X text 250 218 0;
|
||||
#X text 417 220 10;
|
||||
#X text 14 652 When the index of modulation exceeds 5 we scan past
|
||||
the right hand border of the table (the thousandth point \, corresponding
|
||||
to exp(-10). This isn't a problem because the values are all close
|
||||
to zero there.;
|
||||
#X text 14 555 Table lookup is prepared as follows. First add one to
|
||||
the sinusoid and adjust its amplitude according to index \; it ranges
|
||||
from 0 to 2*index. Then adjust for the table's input scale (100 points
|
||||
per unit \, so multiply by 100) and add one to skip the interpolation
|
||||
point at the beginning of the table.;
|
||||
#X text 13 398 Here we use an exponential function as a waveshaping
|
||||
transfer function. The theory is shown in detail in the accompanying
|
||||
book \, but in short \, we adjust the sinusoid so that \, as the index
|
||||
increases \, we scan starting from the left of the transfer function
|
||||
(previously the reading location grew from the center). The table contains
|
||||
exp(-x) with x varying from 0 to 10 When the index is zero \, the output
|
||||
is the constant 1 and the spectrum holds only DC. As the index grows
|
||||
\, the output is a sequence of steadily narrower pulses \, whose spectrum
|
||||
gets progressively fatter.;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 1 0 6 1;
|
||||
#X connect 5 0 3 1;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 19 0 33 0;
|
||||
#X connect 25 0 3 2;
|
||||
#X connect 31 0 40 0;
|
||||
#X connect 32 0 31 0;
|
||||
#X connect 33 0 39 0;
|
||||
#X connect 34 0 38 0;
|
||||
#X connect 35 0 36 0;
|
||||
#X connect 36 0 39 1;
|
||||
#X connect 38 0 35 0;
|
||||
#X connect 39 0 32 0;
|
||||
#X connect 40 0 3 0;
|
||||
#X connect 40 0 1 0;
|
109
pd-0.44-2/doc/3.audio.examples/E07.evenodd.pd
Normal file
109
pd-0.44-2/doc/3.audio.examples/E07.evenodd.pd
Normal file
|
@ -0,0 +1,109 @@
|
|||
#N canvas 184 126 784 591 12;
|
||||
#X obj 230 101 f;
|
||||
#X obj 264 77 + 1;
|
||||
#X obj 264 101 mod 11;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array E07 11 float 2;
|
||||
#X coords 0 96 11 36 100 160 1;
|
||||
#X restore 528 15 graph;
|
||||
#X floatatom 320 53 0 10 999 0 - - -;
|
||||
#X obj 230 173 mtof;
|
||||
#X msg 26 92 1;
|
||||
#X obj 27 217 *~;
|
||||
#X obj 27 267 cos~;
|
||||
#X obj 27 292 hip~ 5;
|
||||
#X obj 27 244 +~ 0.1;
|
||||
#X floatatom 61 144 0 0 0 0 - - -;
|
||||
#X floatatom 166 145 0 0 200 0 - - -;
|
||||
#X floatatom 96 144 0 0 999 0 - - -;
|
||||
#X floatatom 131 144 0 0 999 0 - - -;
|
||||
#X msg 112 267 0;
|
||||
#X msg 112 245 0.1;
|
||||
#X msg 112 289 0.25;
|
||||
#X text 68 108 ADSR controls;
|
||||
#X text 106 125 A;
|
||||
#X text 141 125 D;
|
||||
#X text 176 125 S;
|
||||
#X floatatom 320 77 0 1 11 0 - - -;
|
||||
#X text 354 79 <--increment;
|
||||
#X text 355 56 <--msec;
|
||||
#X obj 26 193 *~ 0.01;
|
||||
#X obj 230 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X obj 27 321 output~;
|
||||
#X text 527 562 updated for Pd version 0.37;
|
||||
#X obj 26 170 adsr 70 10 90 50 500;
|
||||
#X obj 230 150 +;
|
||||
#X floatatom 265 150 0 -48 120 0 - - -;
|
||||
#X text 299 152 <--transpose;
|
||||
#N canvas 61 76 538 208 make-table 0;
|
||||
#X obj 38 71 loadbang;
|
||||
#X text 16 11 This patch loads a sequence of pitches into E07. The
|
||||
values are floating-point \, so we could use microtones (60.5 \, for
|
||||
example) if we wish.;
|
||||
#X msg 38 99 \; E07 0 54 55 57 63 61 67 71 57 70 61 63 \; E07 yticks
|
||||
36 12 1 \; E07 ylabel 12 36 48 60 72 84 96;
|
||||
#X connect 0 0 2 0;
|
||||
#X restore 527 195 pd make-table;
|
||||
#X obj 176 50 sel 0;
|
||||
#X msg 26 69 0;
|
||||
#X text 48 125 level;
|
||||
#X obj 230 53 metro 130;
|
||||
#X obj 60 217 osc~;
|
||||
#X text 111 225 symmetry;
|
||||
#X text 157 265 even;
|
||||
#X text 165 288 odd;
|
||||
#X text 147 244 mixed;
|
||||
#X obj 230 126 tabread E07;
|
||||
#X text 253 26 <--ON/OFF;
|
||||
#X text 238 232 This patch uses a stepping sequencer to control a waveshaping
|
||||
instrument. A metronome (metro 130) drives a counter (f \, +1 \, and
|
||||
mod 11) which counts repeatedly through 11 values which are read from
|
||||
the stored table (tabread E07). The values may be read in sequence
|
||||
\, by twos or threes \, etc. \, according to the "increment" parameter.
|
||||
;
|
||||
#X text 239 328 The metronome also triggers an ADSR envelope \, whose
|
||||
parameters may also be changed using the "level" \, "A" \, "D" \, and
|
||||
"S" controls.;
|
||||
#X text 142 5 SEQUENCED WAVESHAPING SYNTHESIZER;
|
||||
#X text 240 380 The synthesis (osc~ \, *~ \, +~ 0.1 \, cos~) is a very
|
||||
simple application of the waveshaping technique. The oscillator (whose
|
||||
amplitude depends on the ADSR generator) is used as an index into the
|
||||
"cos~" wavetable. An additional offset ("symmetry") controls how the
|
||||
oscillator's waveform is centered on the wavetable. If the offset is
|
||||
zero \, the oscillator reads into the (even) cosine function (producing
|
||||
only even harmonics). If the offset is 0.25 \, we read 1/4 wave into
|
||||
the cosine function: the result is an odd function and we get odd harmonics.
|
||||
Between the two we get mixtures of even and odd.;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 0 0 43 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 0 1;
|
||||
#X connect 4 0 37 1;
|
||||
#X connect 5 0 38 0;
|
||||
#X connect 6 0 29 0;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 27 0;
|
||||
#X connect 9 0 27 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 29 1;
|
||||
#X connect 12 0 29 4;
|
||||
#X connect 13 0 29 2;
|
||||
#X connect 14 0 29 3;
|
||||
#X connect 15 0 10 1;
|
||||
#X connect 16 0 10 1;
|
||||
#X connect 17 0 10 1;
|
||||
#X connect 22 0 1 1;
|
||||
#X connect 25 0 7 0;
|
||||
#X connect 26 0 34 0;
|
||||
#X connect 26 0 37 0;
|
||||
#X connect 29 0 25 0;
|
||||
#X connect 30 0 5 0;
|
||||
#X connect 31 0 30 1;
|
||||
#X connect 34 0 35 0;
|
||||
#X connect 35 0 29 0;
|
||||
#X connect 37 0 0 0;
|
||||
#X connect 37 0 6 0;
|
||||
#X connect 38 0 7 1;
|
||||
#X connect 43 0 30 0;
|
196
pd-0.44-2/doc/3.audio.examples/E08.phase.mod.pd
Normal file
196
pd-0.44-2/doc/3.audio.examples/E08.phase.mod.pd
Normal file
|
@ -0,0 +1,196 @@
|
|||
#N canvas 36 68 722 738 12;
|
||||
#X obj 224 164 *~;
|
||||
#X floatatom 224 107 0 0 0 0 - - -;
|
||||
#X obj 312 144 line~;
|
||||
#X floatatom 128 121 0 0 0 0 - - -;
|
||||
#X obj 128 235 cos~;
|
||||
#X obj 128 191 +~;
|
||||
#X obj 224 132 osc~ 0;
|
||||
#X obj 312 118 pack 0 50;
|
||||
#X floatatom 312 65 0 0 0 0 - - -;
|
||||
#X obj 312 92 / 100;
|
||||
#X text 286 27 modulation index;
|
||||
#X text 286 42 in hundredths;
|
||||
#X text 125 78 carrier;
|
||||
#X text 124 96 frequency;
|
||||
#X text 209 83 frequency;
|
||||
#X text 210 66 modulation;
|
||||
#X text 33 132 carrier;
|
||||
#X text 33 147 phase -->;
|
||||
#X text 6 175 phase;
|
||||
#X text 5 190 modulation-->;
|
||||
#X text 12 217 output;
|
||||
#X text 11 234 waveform -->;
|
||||
#X text 129 1 PHASE MODULATION;
|
||||
#X text 16 378 Most implementations of "FM" actually use phase \, not
|
||||
frequency \, modulation \, because it extends in a more natural way
|
||||
to "multi-operator FM" with three or more oscillators.;
|
||||
#X text 16 434 To do phase modulation \, we split the "carrier oscillator"
|
||||
into its phase calculation (phasor~) and its waveform lookup (cos~).
|
||||
These together would be equivalent to an osc~ object \, but the "+~"
|
||||
between them adds the modulating oscillator's output to the phase.
|
||||
;
|
||||
#X text 20 652 We also have to use a line~ to smooth changes in the
|
||||
modulation index \, which wasn't necessary in the previous patch.;
|
||||
#X obj 128 148 phasor~;
|
||||
#X obj 117 557 cos~;
|
||||
#X obj 117 529 phasor~;
|
||||
#X text 60 539 this:;
|
||||
#X text 219 532 is the same;
|
||||
#X text 220 551 as this:;
|
||||
#X obj 335 544 osc~;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array phase-out 441 float 1;
|
||||
#A 0 0.43245 0.433463 0.434452 0.435418 0.43636 0.43728 0.438178 0.439056
|
||||
0.439912 0.440749 0.441567 0.442366 0.443148 0.443912 0.444659 0.445391
|
||||
0.446107 0.446809 0.447497 0.448172 0.448834 0.449484 0.450122 0.450751
|
||||
0.451369 0.451978 0.452579 0.453172 0.453758 0.454338 0.454911 0.45548
|
||||
0.456045 0.456606 0.457164 0.457719 0.458274 0.458827 0.45938 0.459934
|
||||
0.460489 0.461046 0.461605 0.462168 0.462735 0.463306 0.463883 0.464466
|
||||
0.465056 0.465654 0.466259 0.466873 0.467497 0.468131 0.468776 0.469433
|
||||
0.470102 0.470783 0.471479 0.472188 0.472913 0.473653 0.474409 0.475182
|
||||
0.475973 0.476782 0.477611 0.478459 0.479327 0.480216 0.481127 0.48206
|
||||
0.483015 0.483994 0.484997 0.486024 0.487077 0.488156 0.48926 0.490392
|
||||
0.491552 0.49274 0.493957 0.495203 0.496479 0.497785 0.499123 0.500493
|
||||
0.501896 0.503332 0.504801 0.506304 0.507842 0.509415 0.511023 0.512667
|
||||
0.514348 0.516066 0.517821 0.519615 0.521447 0.523318 0.525228 0.527179
|
||||
0.52917 0.531202 0.533275 0.53539 0.537547 0.539747 0.541992 0.54428
|
||||
0.546613 0.548989 0.551411 0.553877 0.556389 0.558947 0.561551 0.564202
|
||||
0.5669 0.569645 0.572437 0.575278 0.578166 0.581104 0.58409 0.587125
|
||||
0.59021 0.593345 0.596529 0.599764 0.603051 0.606389 0.609778 0.613219
|
||||
0.61671 0.620254 0.62385 0.627497 0.631197 0.634949 0.638754 0.642612
|
||||
0.646522 0.650486 0.654503 0.658573 0.662696 0.666873 0.671104 -0.324611
|
||||
-0.320273 -0.315881 -0.311434 -0.306931 -0.302375 -0.297764 -0.2931
|
||||
-0.288381 -0.283608 -0.278781 -0.2739 -0.268964 -0.263975 -0.258931
|
||||
-0.253833 -0.248682 -0.243476 -0.238217 -0.232904 -0.227537 -0.222116
|
||||
-0.216642 -0.211115 -0.205534 -0.1999 -0.194211 -0.18847 -0.182675
|
||||
-0.176829 -0.170929 -0.164978 -0.158975 -0.152919 -0.146813 -0.140655
|
||||
-0.134446 -0.128186 -0.121875 -0.115514 -0.109103 -0.102642 -0.0961313
|
||||
-0.0895714 -0.0829625 -0.0763049 -0.0695988 -0.0628447 -0.056041 -0.0491896
|
||||
-0.0422913 -0.0353461 -0.0283546 -0.0213171 -0.0142339 -0.00710538
|
||||
6.80089e-05 0.00728586 0.0145478 0.0218535 0.0292025 0.0365944 0.0440286
|
||||
0.0515049 0.0590228 0.0665818 0.0741815 0.0818213 0.0895009 0.0972198
|
||||
0.104978 0.112776 0.120611 0.128484 0.136393 0.144339 0.15232 0.160337
|
||||
0.168388 0.176473 0.184592 0.192744 0.200929 0.209146 0.217393 0.225672
|
||||
0.233981 0.24232 0.250688 0.259084 0.267509 0.27596 0.284439 0.292944
|
||||
0.301475 0.310031 0.318611 0.327215 0.335842 0.344491 0.353162 0.361854
|
||||
0.370566 0.379298 0.38805 0.39682 0.405608 0.414413 0.423234 0.432072
|
||||
0.440924 0.449792 0.458673 0.467567 0.476474 0.485394 0.494324 0.503265
|
||||
0.512216 0.521176 0.530145 0.539121 0.548104 0.557094 0.566089 0.575089
|
||||
0.584094 0.593102 0.602113 0.611126 0.620141 0.629157 0.638173 0.647189
|
||||
0.656203 0.665215 0.674225 0.683232 0.692234 0.701231 0.710224 0.71921
|
||||
0.728189 0.737161 0.746124 0.755079 0.764024 0.772959 0.781884 0.790796
|
||||
0.799697 0.808584 0.817458 0.826318 0.835162 0.843992 0.852804 0.861601
|
||||
0.870379 0.879139 0.887879 0.8966 0.905301 0.913981 0.92264 0.931276
|
||||
0.93989 0.94848 0.957046 0.965588 0.974105 0.982595 0.99106 0.999497
|
||||
1.00791 1.01629 1.02464 1.03296 1.04126 1.04952 1.05775 1.06595 1.07412
|
||||
1.08225 1.09035 1.09841 1.10645 1.11444 1.1224 1.13033 1.13822 1.14607
|
||||
1.15388 1.16166 1.1694 1.17709 1.18475 1.19237 1.19995 1.20749 1.21498
|
||||
1.22244 1.22985 1.23722 1.24454 1.25182 1.25906 1.26625 1.2734 0.280502
|
||||
0.287559 0.29457 0.301536 0.308454 0.315325 0.32215 0.328926 0.335655
|
||||
0.342335 0.348967 0.35555 0.362084 0.368568 0.375003 0.381388 0.387722
|
||||
0.394004 0.400235 0.406415 0.412544 0.418621 0.424647 0.430621 0.436542
|
||||
0.442412 0.448228 0.453993 0.459704 0.465363 0.470969 0.476521 0.48202
|
||||
0.487466 0.492858 0.498196 0.503481 0.508712 0.513889 0.519011 0.524077
|
||||
0.52909 0.534049 0.538953 0.543804 0.5486 0.553342 0.55803 0.562664
|
||||
0.567243 0.571769 0.57624 0.580658 0.585021 0.589331 0.593587 0.597789
|
||||
0.601938 0.606033 0.610075 0.614064 0.617999 0.621879 0.625706 0.629481
|
||||
0.633203 0.636873 0.640491 0.644057 0.647571 0.651033 0.654445 0.657805
|
||||
0.661114 0.664372 0.66758 0.670739 0.673847 0.676905 0.679914 0.682875
|
||||
;
|
||||
#X array cos-out 441 float 1;
|
||||
#A 0 -0.911256 -0.913872 -0.916365 -0.918789 -0.921097 -0.923342 -0.925486
|
||||
-0.927564 -0.92956 -0.931483 -0.93335 -0.935129 -0.936867 -0.938528
|
||||
-0.940137 -0.941707 -0.943197 -0.944657 -0.946072 -0.947426 -0.948755
|
||||
-0.95004 -0.951276 -0.952491 -0.953672 -0.954806 -0.955924 -0.957024
|
||||
-0.958071 -0.959106 -0.960132 -0.961119 -0.962086 -0.963047 -0.963993
|
||||
-0.964903 -0.965811 -0.966718 -0.967595 -0.968461 -0.969329 -0.970192
|
||||
-0.971025 -0.971863 -0.972707 -0.973527 -0.974343 -0.975168 -0.975986
|
||||
-0.976786 -0.977597 -0.978414 -0.979202 -0.980003 -0.980816 -0.981596
|
||||
-0.982391 -0.983194 -0.983968 -0.984757 -0.985543 -0.98631 -0.987093
|
||||
-0.987851 -0.98861 -0.98937 -0.990102 -0.990852 -0.991557 -0.992275
|
||||
-0.99296 -0.993642 -0.994295 -0.994935 -0.995544 -0.996137 -0.996687
|
||||
-0.997227 -0.997705 -0.998173 -0.998575 -0.998944 -0.999273 -0.999527
|
||||
-0.999743 -0.999894 -0.999966 -0.999981 -0.999927 -0.999765 -0.999526
|
||||
-0.999202 -0.998785 -0.99824 -0.997586 -0.996816 -0.995923 -0.994897
|
||||
-0.99373 -0.992413 -0.990934 -0.989283 -0.987458 -0.985449 -0.983247
|
||||
-0.980843 -0.978222 -0.975372 -0.972288 -0.968961 -0.965377 -0.96153
|
||||
-0.95741 -0.952995 -0.948265 -0.943231 -0.937881 -0.932182 -0.926128
|
||||
-0.919728 -0.912938 -0.905762 -0.898197 -0.890198 -0.881799 -0.87293
|
||||
-0.863637 -0.853855 -0.843612 -0.832873 -0.821629 -0.809886 -0.797593
|
||||
-0.784764 -0.771394 -0.757466 -0.742953 -0.727864 -0.712189 -0.695918
|
||||
-0.679041 -0.661549 -0.643437 -0.624697 -0.605324 -0.585314 -0.564664
|
||||
-0.543374 -0.521441 -0.498869 -0.475658 -0.451811 -0.427334 -0.402219
|
||||
-0.376482 -0.350131 -0.323174 -0.295626 -0.267508 -0.238824 -0.2096
|
||||
-0.179853 -0.149603 -0.118875 -0.0876953 -0.0560885 -0.0240874 0.00827867
|
||||
0.040974 0.0739643 0.107208 0.140666 0.174297 0.208056 0.241893 0.275757
|
||||
0.309603 0.343385 0.377036 0.410498 0.443712 0.476616 0.509148 0.541242
|
||||
0.572835 0.603858 0.634244 0.66391 0.692797 0.720837 0.747961 0.774084
|
||||
0.799131 0.823051 0.845758 0.867169 0.887248 0.90588 0.923037 0.938628
|
||||
0.952605 0.964885 0.975433 0.984153 0.991037 0.995988 0.998986 0.999997
|
||||
0.998938 0.995807 0.990576 0.983211 0.973668 0.961961 0.948075 0.932007
|
||||
0.913757 0.893328 0.87073 0.845995 0.81915 0.790227 0.759268 0.726324
|
||||
0.691452 0.654714 0.616181 0.57593 0.534037 0.490599 0.445716 0.399491
|
||||
0.352033 0.303459 0.253886 0.203441 0.152259 0.100478 0.0482368 -0.00432081
|
||||
-0.057045 -0.109786 -0.162386 -0.214696 -0.266564 -0.317814 -0.368301
|
||||
-0.417864 -0.466337 -0.513584 -0.559424 -0.603732 -0.646344 -0.687125
|
||||
-0.725934 -0.762631 -0.797101 -0.829205 -0.858847 -0.8859 -0.91028
|
||||
-0.931885 -0.950636 -0.966466 -0.97929 -0.989092 -0.995773 -0.999358
|
||||
-0.999773 -0.997042 -0.991152 -0.982099 -0.969941 -0.954655 -0.936332
|
||||
-0.915008 -0.890737 -0.863625 -0.833713 -0.801132 -0.765979 -0.728348
|
||||
-0.688394 -0.646219 -0.601975 -0.555817 -0.507869 -0.45832 -0.407319
|
||||
-0.355036 -0.301652 -0.247328 -0.192258 -0.136617 -0.0805873 -0.0243537
|
||||
0.0319027 0.0879985 0.143752 0.198986 0.253526 0.307194 0.359834 0.411262
|
||||
0.461345 0.509907 0.556823 0.601935 0.645131 0.686266 0.725245 0.761935
|
||||
0.796272 0.828125 0.857461 0.884158 0.9082 0.929508 0.948044 0.9638
|
||||
0.976698 0.986778 0.99402 0.998404 0.999981 0.998763 0.994751 0.988022
|
||||
0.978621 0.966582 0.95197 0.93487 0.915357 0.893512 0.869405 0.843139
|
||||
0.814817 0.784538 0.752408 0.718535 0.68303 0.646007 0.607581 0.567872
|
||||
0.526996 0.485074 0.442227 0.398573 0.354231 0.30932 0.263957 0.218256
|
||||
0.172326 0.126282 0.0802317 0.0342922 -0.0114471 -0.0568861 -0.101931
|
||||
-0.146492 -0.190474 -0.233802 -0.276394 -0.318171 -0.359072 -0.399015
|
||||
-0.437958 -0.475821 -0.512573 -0.548149 -0.582512 -0.615632 -0.647446
|
||||
-0.677951 -0.707119 -0.734897 -0.761296 -0.786293 -0.80988 -0.83204
|
||||
-0.852773 -0.872085 -0.88998 -0.906462 -0.921542 -0.935229 -0.94754
|
||||
-0.95849 -0.968102 -0.976397 -0.9834 -0.989136 -0.993613 -0.996882
|
||||
-0.998976 -0.99993 -0.999748 -0.998484 -0.996188 -0.99286 -0.988563
|
||||
-0.983336 -0.977186 -0.970195 -0.962347 -0.953732 -0.944344 -0.934249
|
||||
-0.923482 -0.912051 -0.900028 -0.887441 -0.874296 -0.860659 -0.846562
|
||||
-0.832035 -0.817101 -0.801792 -0.786149 -0.770201 -0.753977 -0.737507
|
||||
-0.720826 -0.703952 -0.686912 -0.669731 -0.652436 -0.635043 -0.617572
|
||||
-0.600055 -0.582513 -0.564966 -0.547418 -0.529898 -0.512429 -0.495016
|
||||
-0.477676 -0.460438 -0.443287 -0.426265 -0.409364;
|
||||
#X coords 0 1 440 -1 200 140 1;
|
||||
#X restore 509 190 graph;
|
||||
#X obj 213 246 tabwrite~ phase-out;
|
||||
#X obj 213 273 tabwrite~ cos-out;
|
||||
#X msg 213 221 bang;
|
||||
#X text 260 220 <-- graph them;
|
||||
#X obj 126 296 output~;
|
||||
#X obj 127 270 hip~;
|
||||
#X text 408 98 ramped to avoid;
|
||||
#X text 407 114 clicks.);
|
||||
#X text 407 82 (the index is;
|
||||
#X text 435 704 updated for Pd version 0.37;
|
||||
#X text 21 588 The "modulation" index \, which in true FM is in units
|
||||
of Hertz \, is dimensionless for phase moduation. "Good" values tend
|
||||
to be between 0 and 1... in this patch the index is in hundredths.
|
||||
;
|
||||
#X connect 0 0 5 1;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 2 0 0 1;
|
||||
#X connect 3 0 26 0;
|
||||
#X connect 4 0 35 0;
|
||||
#X connect 4 0 39 0;
|
||||
#X connect 5 0 4 0;
|
||||
#X connect 5 0 34 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 2 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 7 0;
|
||||
#X connect 26 0 5 0;
|
||||
#X connect 28 0 27 0;
|
||||
#X connect 36 0 34 0;
|
||||
#X connect 36 0 35 0;
|
||||
#X connect 39 0 38 0;
|
||||
#X connect 39 0 38 1;
|
139
pd-0.44-2/doc/3.audio.examples/E09.FM.spectrum.pd
Normal file
139
pd-0.44-2/doc/3.audio.examples/E09.FM.spectrum.pd
Normal file
|
@ -0,0 +1,139 @@
|
|||
#N canvas 127 136 697 536 12;
|
||||
#X obj 94 188 *~;
|
||||
#X obj 136 188 line~;
|
||||
#X obj 18 179 cos~;
|
||||
#X obj 18 154 +~;
|
||||
#X obj 136 165 pack 0 50;
|
||||
#X floatatom 136 117 0 0 0 0 - - -;
|
||||
#X obj 136 141 / 100;
|
||||
#X obj 18 129 phasor~;
|
||||
#X obj 18 284 output~;
|
||||
#X obj 17 253 hip~;
|
||||
#X text 442 513 updated for Pd version 0.37;
|
||||
#N canvas 122 211 558 609 fft 1;
|
||||
#X obj 19 61 inlet~;
|
||||
#X obj 208 212 inlet;
|
||||
#X obj 29 92 rfft~;
|
||||
#X obj 29 125 *~;
|
||||
#X obj 60 125 *~;
|
||||
#X obj 29 155 sqrt~;
|
||||
#X obj 332 109 block~ 4096 1;
|
||||
#X obj 29 181 biquad~ 0 0 0 0 1;
|
||||
#X text 93 93 Fourier series;
|
||||
#X text 98 146 magnitude;
|
||||
#X text 96 131 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 193 164 delay two samples;
|
||||
#X text 191 182 for better graphing;
|
||||
#X obj 19 459 samplerate~;
|
||||
#X obj 19 436 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 19 506 5 0 0 0 - - -;
|
||||
#X obj 19 482 / 256;
|
||||
#X obj 19 412 loadbang;
|
||||
#X obj 75 528 s fundamental;
|
||||
#X text 17 359 At load time \, calculate a good choice of fundamental
|
||||
frequency for showing spectra: the 16th bin in a 4096-point spectrum
|
||||
\, so SR*16/4096 or SR/256.;
|
||||
#X obj 231 259 metro 500;
|
||||
#X obj 231 236 inlet;
|
||||
#X text 284 234 toggle to graph repeatedly;
|
||||
#X text 262 212 bang to graph once;
|
||||
#X obj 19 295 tabwrite~ E09-signal;
|
||||
#X obj 231 298 tabwrite~ E09-spectrum;
|
||||
#X obj 19 528 t b f;
|
||||
#X msg 19 551 \; cm 6;
|
||||
#X text 25 585 set carrier multiplier after fundamental;
|
||||
#X obj 29 205 /~ 4096;
|
||||
#X msg 209 322 \; pd dsp 1;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 0 0 26 0;
|
||||
#X connect 1 0 26 0;
|
||||
#X connect 1 0 27 0;
|
||||
#X connect 1 0 32 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 31 0;
|
||||
#X connect 15 0 18 0;
|
||||
#X connect 16 0 15 0;
|
||||
#X connect 17 0 28 0;
|
||||
#X connect 18 0 17 0;
|
||||
#X connect 19 0 16 0;
|
||||
#X connect 22 0 26 0;
|
||||
#X connect 22 0 27 0;
|
||||
#X connect 23 0 22 0;
|
||||
#X connect 23 0 32 0;
|
||||
#X connect 28 0 29 0;
|
||||
#X connect 28 1 20 0;
|
||||
#X connect 31 0 27 0;
|
||||
#X restore 62 243 pd fft;
|
||||
#X obj 122 222 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 122 243 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 143 242 <-- repeatedly;
|
||||
#X text 144 222 <-- graph once;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array E09-signal 882 float 0;
|
||||
#X coords 0 1.02 882 -1.02 200 80 1;
|
||||
#X restore 433 28 graph;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array E09-spectrum 259 float 0;
|
||||
#X coords 0 0.51 258 -0.008 259 130 1;
|
||||
#X restore 403 175 graph;
|
||||
#X text 442 114 ---- 0.02 seconds ----;
|
||||
#X text 433 306 2;
|
||||
#X text 464 306 4;
|
||||
#X text 403 306 0;
|
||||
#X text 441 321 -- partial number --;
|
||||
#X text 497 8 WAVEFORM;
|
||||
#X text 497 157 SPECTRUM;
|
||||
#X text 663 291 0;
|
||||
#X text 664 173 0.5;
|
||||
#X obj 93 117 osc~;
|
||||
#X obj 93 86 r fundamental;
|
||||
#X text 171 117 index (x100);
|
||||
#X text 496 306 6;
|
||||
#X text 529 306 8;
|
||||
#X text 557 306 10;
|
||||
#X text 589 306 12;
|
||||
#X text 621 306 14;
|
||||
#X text 43 3 SPECTRUM OF TWO-OPERATOR PHASE MODULATION;
|
||||
#X floatatom 18 58 3 0 15 0 - - -;
|
||||
#X obj 18 105 *;
|
||||
#X obj 18 33 r cm;
|
||||
#X text 52 57 carrier harmonic #;
|
||||
#X text 71 367 This patch measures the spectrum of two-operator phase
|
||||
modulation. The carrier frequency is initially six times the modulation
|
||||
frequency \, but you can change it with the "carrier harmonic #" control.
|
||||
Changing the index changes the relative strengths of the harmonics.
|
||||
Past a certain index (which depends on the carrier frequency) the lower
|
||||
sidebands begin to reflect about the left edge of the spectrum \, causing
|
||||
complicated interference effects.;
|
||||
#X connect 0 0 3 1;
|
||||
#X connect 1 0 0 1;
|
||||
#X connect 2 0 9 0;
|
||||
#X connect 2 0 11 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 4 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 9 0 8 1;
|
||||
#X connect 12 0 11 1;
|
||||
#X connect 13 0 11 2;
|
||||
#X connect 27 0 0 0;
|
||||
#X connect 28 0 27 0;
|
||||
#X connect 28 0 37 1;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 37 0 7 0;
|
||||
#X connect 38 0 36 0;
|
156
pd-0.44-2/doc/3.audio.examples/E10.complex.FM.pd
Normal file
156
pd-0.44-2/doc/3.audio.examples/E10.complex.FM.pd
Normal file
|
@ -0,0 +1,156 @@
|
|||
#N canvas 165 123 695 505 12;
|
||||
#X obj 94 247 *~;
|
||||
#X obj 109 223 line~;
|
||||
#X obj 18 179 cos~;
|
||||
#X obj 18 154 +~;
|
||||
#X obj 109 200 pack 0 50;
|
||||
#X floatatom 109 152 0 0 300 0 - - -;
|
||||
#X obj 109 176 / 100;
|
||||
#X obj 18 129 phasor~;
|
||||
#X obj 20 340 output~;
|
||||
#X obj 19 309 hip~;
|
||||
#X text 437 472 updated for Pd version 0.37;
|
||||
#N canvas 62 299 558 609 fft 0;
|
||||
#X obj 19 61 inlet~;
|
||||
#X obj 208 212 inlet;
|
||||
#X obj 29 92 rfft~;
|
||||
#X obj 29 125 *~;
|
||||
#X obj 60 125 *~;
|
||||
#X obj 29 155 sqrt~;
|
||||
#X obj 332 109 block~ 4096 1;
|
||||
#X obj 29 181 biquad~ 0 0 0 0 1;
|
||||
#X text 93 93 Fourier series;
|
||||
#X text 98 146 magnitude;
|
||||
#X text 96 131 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 193 164 delay two samples;
|
||||
#X text 191 182 for better graphing;
|
||||
#X obj 16 425 samplerate~;
|
||||
#X obj 16 402 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 16 472 5 0 0 0 - - -;
|
||||
#X obj 16 448 / 256;
|
||||
#X obj 16 378 loadbang;
|
||||
#X obj 72 494 s fundamental;
|
||||
#X text 14 319 At load time \, calculate a good choice of fundamental
|
||||
frequency for showing spectra: the 16th bin in a 4096-point spectrum
|
||||
\, so SR*16/4096 or SR/256.;
|
||||
#X obj 220 257 metro 500;
|
||||
#X obj 220 234 inlet;
|
||||
#X text 273 232 toggle to graph repeatedly;
|
||||
#X text 262 212 bang to graph once;
|
||||
#X obj 16 494 t b f;
|
||||
#X obj 19 295 tabwrite~ E10-spectrum;
|
||||
#X obj 208 295 tabwrite~ E10-spectrum;
|
||||
#X text 72 536 set carrier multiplier and modulation multipliers after
|
||||
fundamental;
|
||||
#X msg 16 516 \; cm 8 \; m1 2 \; m2 3;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 0 0 27 0;
|
||||
#X connect 1 0 27 0;
|
||||
#X connect 1 0 28 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 28 0;
|
||||
#X connect 15 0 18 0;
|
||||
#X connect 16 0 15 0;
|
||||
#X connect 17 0 26 0;
|
||||
#X connect 18 0 17 0;
|
||||
#X connect 19 0 16 0;
|
||||
#X connect 22 0 27 0;
|
||||
#X connect 22 0 28 0;
|
||||
#X connect 23 0 22 0;
|
||||
#X connect 26 0 30 0;
|
||||
#X connect 26 1 20 0;
|
||||
#X restore 65 311 pd fft;
|
||||
#X obj 125 290 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 125 311 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
|
||||
1;
|
||||
#X text 146 310 <-- repeatedly;
|
||||
#X text 147 290 <-- graph once;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array E10-spectrum 259 float 0;
|
||||
#X coords 0 2100 258 -20 259 130 1;
|
||||
#X restore 396 122 graph;
|
||||
#X text 426 253 2;
|
||||
#X text 457 253 4;
|
||||
#X text 396 253 0;
|
||||
#X text 434 268 -- partial number --;
|
||||
#X text 490 104 SPECTRUM;
|
||||
#X text 656 238 0;
|
||||
#X text 657 120 0.5;
|
||||
#X obj 93 128 osc~;
|
||||
#X obj 267 79 r fundamental;
|
||||
#X text 489 253 6;
|
||||
#X text 522 253 8;
|
||||
#X text 550 253 10;
|
||||
#X text 582 253 12;
|
||||
#X text 614 253 14;
|
||||
#X floatatom 18 58 3 0 15 0 - - -;
|
||||
#X obj 18 105 *;
|
||||
#X obj 18 33 r cm;
|
||||
#X text 43 3 SPECTRUM OF COMPLEX PHASE MODULATION;
|
||||
#X text 23 73 carrier;
|
||||
#X obj 93 107 *;
|
||||
#X floatatom 93 60 3 0 15 0 - - -;
|
||||
#X text 99 74 mod 1;
|
||||
#X obj 93 35 r m1;
|
||||
#X text 138 154 index1;
|
||||
#X obj 197 249 *~;
|
||||
#X obj 212 225 line~;
|
||||
#X obj 212 202 pack 0 50;
|
||||
#X floatatom 212 154 0 0 300 0 - - -;
|
||||
#X obj 212 178 / 100;
|
||||
#X obj 196 130 osc~;
|
||||
#X obj 196 109 *;
|
||||
#X floatatom 196 62 3 0 15 0 - - -;
|
||||
#X text 202 76 mod 2;
|
||||
#X text 246 154 index2;
|
||||
#X obj 196 37 r m2;
|
||||
#X text 126 349 Now we introduce a second modulator oscillator. The
|
||||
carrier is on the 8th harmonic and the two modulators are at 2 and
|
||||
3 times the fundamental. When either index of modulation is zero \,
|
||||
changing the other index gives the familiar 2-operator FM result. But
|
||||
if index2 is nonzero (try around 10 \, for example) then sliding index1
|
||||
upward from 0 introduces sidebands around each of the sidebands.;
|
||||
#X connect 0 0 3 1;
|
||||
#X connect 1 0 0 1;
|
||||
#X connect 2 0 9 0;
|
||||
#X connect 2 0 11 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 4 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 9 0 8 1;
|
||||
#X connect 12 0 11 1;
|
||||
#X connect 13 0 11 2;
|
||||
#X connect 24 0 0 0;
|
||||
#X connect 25 0 32 1;
|
||||
#X connect 25 0 36 1;
|
||||
#X connect 25 0 47 1;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 7 0;
|
||||
#X connect 33 0 31 0;
|
||||
#X connect 36 0 24 0;
|
||||
#X connect 37 0 36 0;
|
||||
#X connect 39 0 37 0;
|
||||
#X connect 41 0 3 1;
|
||||
#X connect 42 0 41 1;
|
||||
#X connect 43 0 42 0;
|
||||
#X connect 44 0 45 0;
|
||||
#X connect 45 0 43 0;
|
||||
#X connect 46 0 41 0;
|
||||
#X connect 47 0 46 0;
|
||||
#X connect 48 0 47 0;
|
||||
#X connect 51 0 48 0;
|
82
pd-0.44-2/doc/3.audio.examples/F01.pulse.pd
Normal file
82
pd-0.44-2/doc/3.audio.examples/F01.pulse.pd
Normal file
|
@ -0,0 +1,82 @@
|
|||
#N canvas 15 126 835 625 12;
|
||||
#X obj 272 163 line~;
|
||||
#X floatatom 53 64 0 0 0 0 - - -;
|
||||
#X obj 30 315 cos~;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array pulse-output 882 float 0;
|
||||
#X coords 0 1.02 882 -1.02 200 130 1;
|
||||
#X restore 583 409 graph;
|
||||
#X obj 53 91 phasor~ 0;
|
||||
#X obj 272 139 pack 0 50;
|
||||
#X floatatom 272 90 0 0 100 0 - - -;
|
||||
#X text 50 43 frequency;
|
||||
#X obj 53 115 -~ 0.5;
|
||||
#X obj 53 207 *~;
|
||||
#X obj 272 114 / 10;
|
||||
#X obj 30 265 clip~ -0.5 0.5;
|
||||
#X obj 30 418 hip~ 5;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array phase-output 882 float 0;
|
||||
#X coords 0 1.02 882 -1.02 200 60 1;
|
||||
#X restore 583 150 graph;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array clip-output 882 float 0;
|
||||
#X coords 0 1.02 882 -1.02 200 130 1;
|
||||
#X restore 583 272 graph;
|
||||
#X text 113 114 phase -1/2 to 1/2;
|
||||
#X text 139 91 phase 0 to 1;
|
||||
#X text 119 5 PULSE GENERATOR;
|
||||
#X obj 19 234 tabwrite~ phase-output;
|
||||
#X obj 19 393 tabwrite~ pulse-output;
|
||||
#X text 103 419 high pass filter to cut DC;
|
||||
#X text 319 115 fix range;
|
||||
#X text 326 164 smooth it;
|
||||
#X text 314 187 add 1;
|
||||
#X text 41 148 <-- click to graph;
|
||||
#X text 83 209 increase amplitude;
|
||||
#X text 164 264 clip back to range -1/2 to 1/2;
|
||||
#X text 90 316 cosine wave lookup (-1/2 and 1/2 give -1);
|
||||
#X obj 272 188 +~ 1;
|
||||
#X obj 19 292 tabwrite~ clip-output;
|
||||
#X text 585 539 ---- 0.02 seconds ----;
|
||||
#X obj 19 148 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 30 446 output~;
|
||||
#X obj 30 338 +~ 1;
|
||||
#X obj 30 361 *~ 0.5;
|
||||
#X text 574 589 updated for Pd version 0.37;
|
||||
#X text 88 337 add one (range now from 0 to 2);
|
||||
#X text 96 360 ...and now from 0 to 1;
|
||||
#X text 20 531 This patch computes a pulse train \, with an "index"
|
||||
control that essentually squeezes the pulses. If "bandwidth" is zero
|
||||
you get a pure cosine wave \, and for larger values of the bandwidth
|
||||
\, the cosine wave is squeezed to fill smaller portions of the waveform.
|
||||
;
|
||||
#X text 269 71 index;
|
||||
#X text 790 142 0.5;
|
||||
#X text 787 198 -0.5;
|
||||
#X text 785 264 1;
|
||||
#X text 787 390 -1;
|
||||
#X text 785 405 1;
|
||||
#X text 786 528 -1;
|
||||
#X connect 0 0 28 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 33 0;
|
||||
#X connect 4 0 8 0;
|
||||
#X connect 5 0 0 0;
|
||||
#X connect 6 0 10 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 9 0 18 0;
|
||||
#X connect 10 0 5 0;
|
||||
#X connect 11 0 2 0;
|
||||
#X connect 11 0 29 0;
|
||||
#X connect 12 0 32 0;
|
||||
#X connect 12 0 32 1;
|
||||
#X connect 28 0 9 1;
|
||||
#X connect 31 0 18 0;
|
||||
#X connect 31 0 29 0;
|
||||
#X connect 31 0 19 0;
|
||||
#X connect 33 0 34 0;
|
||||
#X connect 34 0 19 0;
|
||||
#X connect 34 0 12 0;
|
152
pd-0.44-2/doc/3.audio.examples/F02.just.say.pd
Normal file
152
pd-0.44-2/doc/3.audio.examples/F02.just.say.pd
Normal file
|
@ -0,0 +1,152 @@
|
|||
#N canvas 32 67 900 421 12;
|
||||
#X obj 39 247 cos~;
|
||||
#X graph graph1 0 -1.02 44100 1.02 452 206 652 76;
|
||||
#X array env-output 44100 float 0;
|
||||
#X pop;
|
||||
#X floatatom 71 305 0 0 0;
|
||||
#N canvas 159 26 495 266 output 0;
|
||||
#X obj 338 160 t b;
|
||||
#X obj 338 110 f;
|
||||
#X obj 338 60 inlet;
|
||||
#X text 344 29 mute;
|
||||
#X obj 338 185 f;
|
||||
#X msg 425 178 0;
|
||||
#X msg 338 85 bang;
|
||||
#X obj 338 135 moses 1;
|
||||
#X obj 425 153 t b f;
|
||||
#X obj 397 117 moses 1;
|
||||
#X obj 83 148 dbtorms;
|
||||
#X obj 397 92 r master-lvl;
|
||||
#X obj 83 42 r master-lvl;
|
||||
#X obj 338 210 s master-lvl;
|
||||
#X obj 22 181 inlet~;
|
||||
#X obj 199 41 inlet;
|
||||
#X text 199 18 level;
|
||||
#X obj 199 100 s master-lvl;
|
||||
#X msg 96 65 set \$1;
|
||||
#X obj 96 89 outlet;
|
||||
#X msg 214 64 \; pd dsp 1;
|
||||
#X obj 83 194 line~;
|
||||
#X obj 22 212 *~;
|
||||
#X obj 22 241 dac~;
|
||||
#X obj 83 171 pack 0 50;
|
||||
#X text 20 158 audio;
|
||||
#X text 93 110 show level;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 4 0 13 0;
|
||||
#X connect 5 0 13 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 7 1 8 0;
|
||||
#X connect 8 0 5 0;
|
||||
#X connect 9 1 4 1;
|
||||
#X connect 10 0 24 0;
|
||||
#X connect 11 0 1 1;
|
||||
#X connect 11 0 9 0;
|
||||
#X connect 12 0 10 0;
|
||||
#X connect 12 0 18 0;
|
||||
#X connect 14 0 22 0;
|
||||
#X connect 15 0 17 0;
|
||||
#X connect 15 0 20 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 21 0 22 1;
|
||||
#X connect 22 0 23 0;
|
||||
#X connect 22 0 23 1;
|
||||
#X connect 24 0 21 0;
|
||||
#X restore 39 333 pd output;
|
||||
#X msg 115 306 MUTE;
|
||||
#X msg 162 93 bang;
|
||||
#X text 203 93 <-- click to graph;
|
||||
#X obj 39 168 -~ 0.5;
|
||||
#X obj 39 192 *~;
|
||||
#X obj 39 219 clip~ -0.5 0.5;
|
||||
#X obj 39 274 hip~ 5;
|
||||
#X obj 126 60 *~;
|
||||
#X floatatom 205 142 0 0 0;
|
||||
#X floatatom 205 168 0 0 0;
|
||||
#X obj 126 27 phasor~ -4;
|
||||
#X obj 126 191 +~ 0.5;
|
||||
#X obj 162 117 tabwrite~ env-output;
|
||||
#X text 451 211 --------- 1 second ---------;
|
||||
#X floatatom 205 194 0 0 0;
|
||||
#X obj 126 142 lop~ 130;
|
||||
#N canvas 168 232 351 420 freq 0;
|
||||
#X obj 180 176 t f f;
|
||||
#X obj 181 202 *;
|
||||
#X obj 60 320 line 0 30;
|
||||
#X obj 90 132 t b b;
|
||||
#X obj 90 107 metro 100;
|
||||
#X obj 61 287 pack;
|
||||
#X obj 60 376 outlet;
|
||||
#X floatatom 89 82 0 0 0;
|
||||
#X floatatom 54 243 0 0 0;
|
||||
#X floatatom 94 248 0 0 0;
|
||||
#X obj 60 348 pack 0 30;
|
||||
#X obj 55 202 + 150;
|
||||
#X obj 88 34 loadbang;
|
||||
#X msg 89 58 1;
|
||||
#X obj 56 175 random 300;
|
||||
#X obj 181 226 + 100;
|
||||
#X obj 179 152 random 35;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 0 1 1 1;
|
||||
#X connect 1 0 15 0;
|
||||
#X connect 2 0 10 0;
|
||||
#X connect 3 0 14 0;
|
||||
#X connect 3 1 16 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 7 0 4 0;
|
||||
#X connect 8 0 5 0;
|
||||
#X connect 9 0 5 1;
|
||||
#X connect 10 0 6 0;
|
||||
#X connect 11 0 8 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 7 0;
|
||||
#X connect 14 0 11 0;
|
||||
#X connect 15 0 4 1;
|
||||
#X connect 15 0 9 0;
|
||||
#X connect 16 0 0 0;
|
||||
#X restore 38 94 pd freq;
|
||||
#X obj 39 119 line~;
|
||||
#X obj 39 144 phasor~;
|
||||
#X text 225 19 negative frequency;
|
||||
#X text 226 35 makes falling sawtooth;
|
||||
#X text 155 59 square it to make a curve;
|
||||
#X text 245 152 you can;
|
||||
#X text 243 170 adjust these;
|
||||
#X text 247 189 values;
|
||||
#X text 334 250 We interrupt this series of patches to bring you an
|
||||
important message from Nancy Reagan. If \, anywhere \, at any time
|
||||
\, someone offers you an illicit drug \, just say one word in reply...
|
||||
;
|
||||
#X text 334 313 Now that I'm sure you've heard this important message
|
||||
\, we can return to the essentially frivolous occupation of making
|
||||
turn-of-the-millenium western art music.;
|
||||
#X obj 126 165 *~ 6;
|
||||
#X text 561 384 updated for Pd version 0.34;
|
||||
#X text 156 305 <-- output;
|
||||
#X connect 0 0 10 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 4 0 3 2;
|
||||
#X connect 5 0 16 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 0 0;
|
||||
#X connect 10 0 3 0;
|
||||
#X connect 11 0 16 0;
|
||||
#X connect 11 0 19 0;
|
||||
#X connect 12 0 19 1;
|
||||
#X connect 13 0 31 1;
|
||||
#X connect 14 0 11 0;
|
||||
#X connect 14 0 11 1;
|
||||
#X connect 15 0 8 1;
|
||||
#X connect 18 0 15 1;
|
||||
#X connect 19 0 31 0;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 22 0 7 0;
|
||||
#X connect 31 0 15 0;
|
126
pd-0.44-2/doc/3.audio.examples/F03.pulse.spectrum.pd
Normal file
126
pd-0.44-2/doc/3.audio.examples/F03.pulse.spectrum.pd
Normal file
|
@ -0,0 +1,126 @@
|
|||
#N canvas 227 143 860 515 12;
|
||||
#X obj 189 166 line~;
|
||||
#X obj 42 187 cos~;
|
||||
#X obj 189 142 pack 0 50;
|
||||
#X floatatom 189 41 0 0 100 0 - - -;
|
||||
#X obj 43 114 -~ 0.5;
|
||||
#X obj 43 140 *~;
|
||||
#X obj 189 67 / 10;
|
||||
#X obj 189 91 moses 0;
|
||||
#X msg 189 115 0;
|
||||
#X obj 42 163 clip~ -0.5 0.5;
|
||||
#X text 184 23 bandwidth;
|
||||
#X obj 189 191 +~ 1;
|
||||
#X obj 42 211 +~ 1;
|
||||
#X text 63 1 PULSE SPECTRUM MEASUREMENT;
|
||||
#X text 14 357 Here is a measured amplitude spectrum for the pulse
|
||||
train. Nutice that \, other than a smallish spillover \, the energy
|
||||
sits in one "lobe" whose changing width justifies our calling the squeeze
|
||||
factor the "bandwidth.";
|
||||
#X text 16 428 The spectrum is in units of amplitude. THe sidelobes
|
||||
\, although they look small \, are actually only about 34 dB down.
|
||||
You can design more complicated pulse trains \, little Blackman window
|
||||
functions \, which control the sidelobes much better.;
|
||||
#X obj 42 293 output~;
|
||||
#X obj 41 262 hip~;
|
||||
#N canvas 122 211 558 609 fft 0;
|
||||
#X obj 19 61 inlet~;
|
||||
#X obj 208 212 inlet;
|
||||
#X obj 29 92 rfft~;
|
||||
#X obj 29 125 *~;
|
||||
#X obj 60 125 *~;
|
||||
#X obj 29 155 sqrt~;
|
||||
#X obj 332 109 block~ 4096 1;
|
||||
#X obj 29 181 biquad~ 0 0 0 0 1;
|
||||
#X text 93 93 Fourier series;
|
||||
#X text 98 146 magnitude;
|
||||
#X text 96 131 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 193 164 delay two samples;
|
||||
#X text 191 182 for better graphing;
|
||||
#X obj 264 434 samplerate~;
|
||||
#X obj 264 457 / 256;
|
||||
#X obj 238 261 metro 500;
|
||||
#X obj 238 238 inlet;
|
||||
#X text 291 236 toggle to graph repeatedly;
|
||||
#X text 262 212 bang to graph once;
|
||||
#X obj 29 205 /~ 4096;
|
||||
#X obj 19 295 tabwrite~ F03-signal;
|
||||
#X obj 235 299 tabwrite~ F03-spectrum;
|
||||
#X obj 264 409 bang~;
|
||||
#X msg 209 322 \; pd dsp 1;
|
||||
#X obj 264 482 s freq;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 0 0 22 0;
|
||||
#X connect 1 0 22 0;
|
||||
#X connect 1 0 23 0;
|
||||
#X connect 1 0 25 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 21 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 26 0;
|
||||
#X connect 17 0 22 0;
|
||||
#X connect 17 0 23 0;
|
||||
#X connect 18 0 17 0;
|
||||
#X connect 18 0 25 0;
|
||||
#X connect 21 0 23 0;
|
||||
#X connect 24 0 15 0;
|
||||
#X restore 95 264 pd fft;
|
||||
#X obj 155 243 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 155 264 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 176 263 <-- repeatedly;
|
||||
#X text 177 243 <-- graph once;
|
||||
#X obj 42 235 *~ 0.5;
|
||||
#X obj 43 90 phasor~;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array F03-signal 882 float 0;
|
||||
#X coords 0 1.02 882 -1.02 200 130 1;
|
||||
#X restore 640 321 graph;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array F03-spectrum 259 float 0;
|
||||
#X coords 0 0.51 258 -0.008 256 130 1;
|
||||
#X restore 579 99 graph;
|
||||
#X text 640 454 ---- 0.02 seconds ----;
|
||||
#X text 608 230 2;
|
||||
#X text 639 230 4;
|
||||
#X text 578 230 0;
|
||||
#X text 616 245 -- partial number --;
|
||||
#X text 671 230 6;
|
||||
#X text 704 230 8;
|
||||
#X text 732 230 10;
|
||||
#X text 764 230 12;
|
||||
#X text 796 230 14;
|
||||
#X text 605 488 updated for Pd version 0.37;
|
||||
#X obj 43 63 r freq;
|
||||
#X connect 0 0 11 0;
|
||||
#X connect 1 0 12 0;
|
||||
#X connect 2 0 0 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 7 1 2 0;
|
||||
#X connect 8 0 2 0;
|
||||
#X connect 9 0 1 0;
|
||||
#X connect 11 0 5 1;
|
||||
#X connect 12 0 23 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 17 0 16 1;
|
||||
#X connect 19 0 18 1;
|
||||
#X connect 20 0 18 2;
|
||||
#X connect 23 0 17 0;
|
||||
#X connect 23 0 18 0;
|
||||
#X connect 24 0 4 0;
|
||||
#X connect 38 0 24 0;
|
133
pd-0.44-2/doc/3.audio.examples/F04.waveshaping.pulse.pd
Normal file
133
pd-0.44-2/doc/3.audio.examples/F04.waveshaping.pulse.pd
Normal file
|
@ -0,0 +1,133 @@
|
|||
#N canvas 240 229 900 586 12;
|
||||
#X obj 220 171 line~;
|
||||
#X obj 220 147 pack 0 50;
|
||||
#X floatatom 220 46 0 0 0 0 - - -;
|
||||
#X obj 70 108 *~;
|
||||
#X obj 220 72 / 10;
|
||||
#X obj 220 96 moses 0;
|
||||
#X msg 220 120 0;
|
||||
#X text 215 28 bandwidth;
|
||||
#X obj 78 141 *~;
|
||||
#X obj 18 141 sig~ 1;
|
||||
#X obj 39 194 /~;
|
||||
#X obj 54 168 +~;
|
||||
#X text 111 141 X^2;
|
||||
#X text 84 171 1+X^2;
|
||||
#X text 71 196 1/(1+X^2);
|
||||
#X text 28 4 ANOTHER PULSE WIDTH MOD ALGORITHM;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array F04-signal 882 float 0;
|
||||
#X coords 0 1.02 882 -1.02 200 130 1;
|
||||
#X restore 646 328 graph;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array F04-spectrum 259 float 0;
|
||||
#X coords 0 1.01 258 -0.008 256 200 1;
|
||||
#X restore 587 38 graph;
|
||||
#X text 646 461 ---- 0.02 seconds ----;
|
||||
#X text 614 237 2;
|
||||
#X text 645 237 4;
|
||||
#X text 584 237 0;
|
||||
#X text 622 252 -- partial number --;
|
||||
#X text 677 237 6;
|
||||
#X text 710 237 8;
|
||||
#X text 738 237 10;
|
||||
#X text 770 237 12;
|
||||
#X text 802 237 14;
|
||||
#X obj 40 277 output~;
|
||||
#X obj 39 246 hip~;
|
||||
#N canvas 122 211 558 609 fft 0;
|
||||
#X obj 19 61 inlet~;
|
||||
#X obj 224 210 inlet;
|
||||
#X obj 29 92 rfft~;
|
||||
#X obj 29 125 *~;
|
||||
#X obj 60 125 *~;
|
||||
#X obj 29 155 sqrt~;
|
||||
#X obj 332 109 block~ 4096 1;
|
||||
#X obj 29 181 biquad~ 0 0 0 0 1;
|
||||
#X text 93 93 Fourier series;
|
||||
#X text 98 146 magnitude;
|
||||
#X text 96 131 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 193 164 delay two samples;
|
||||
#X text 191 182 for better graphing;
|
||||
#X obj 264 434 samplerate~;
|
||||
#X obj 251 255 metro 500;
|
||||
#X obj 251 232 inlet;
|
||||
#X text 301 232 toggle to graph repeatedly;
|
||||
#X text 278 210 bang to graph once;
|
||||
#X obj 29 205 /~ 4096;
|
||||
#X obj 264 409 bang~;
|
||||
#X obj 264 457 / 512;
|
||||
#X obj 19 295 tabwrite~ F04-signal;
|
||||
#X obj 250 291 tabwrite~ F04-spectrum;
|
||||
#X obj 264 483 s freq/2;
|
||||
#X msg 224 321 \; pd dsp 1;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 0 0 23 0;
|
||||
#X connect 1 0 23 0;
|
||||
#X connect 1 0 24 0;
|
||||
#X connect 1 0 26 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 20 0;
|
||||
#X connect 15 0 22 0;
|
||||
#X connect 16 0 23 0;
|
||||
#X connect 16 0 24 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 17 0 26 0;
|
||||
#X connect 20 0 24 0;
|
||||
#X connect 21 0 15 0;
|
||||
#X connect 22 0 25 0;
|
||||
#X restore 93 248 pd fft;
|
||||
#X obj 153 227 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 153 248 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 174 247 <-- repeatedly;
|
||||
#X text 175 227 <-- graph once;
|
||||
#X obj 69 81 osc~;
|
||||
#X text 632 540 updated for Pd version 0.37;
|
||||
#X text 23 515 NOTE: The PAF algorithm is protected by patents belonging
|
||||
to IRCAM. Noncommercial use seems to be fine with them but contact
|
||||
them first if you want to sell something using this.;
|
||||
#X text 24 473 This is the form of pulse train used in the original
|
||||
Phase Aligned Formant (PAF) algorithm.;
|
||||
#X text 23 342 Here we use waveshaping to make another form of pulse
|
||||
train. This one has a neat spectrum: the partials drop off exponentially
|
||||
(with the "bandwidth" controlling the rate of dropoff.) In later patches
|
||||
we'll use a wavetable to do the waveshaping but for simplicity \, it's
|
||||
done algebraically here. The oscillator runs at half the fundamental
|
||||
frequency. The symmetry of the waveshaping doubles the frequency of
|
||||
the output.;
|
||||
#X text 849 222 0;
|
||||
#X text 846 35 1;
|
||||
#X obj 69 56 r freq/2;
|
||||
#X connect 0 0 3 1;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 3 0 8 0;
|
||||
#X connect 3 0 8 1;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 5 1 1 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 8 0 11 1;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 10 0 29 0;
|
||||
#X connect 10 0 30 0;
|
||||
#X connect 11 0 10 1;
|
||||
#X connect 29 0 28 0;
|
||||
#X connect 29 0 28 1;
|
||||
#X connect 31 0 30 1;
|
||||
#X connect 32 0 30 2;
|
||||
#X connect 35 0 3 0;
|
||||
#X connect 42 0 35 0;
|
160
pd-0.44-2/doc/3.audio.examples/F05.ring.modulation.pd
Normal file
160
pd-0.44-2/doc/3.audio.examples/F05.ring.modulation.pd
Normal file
|
@ -0,0 +1,160 @@
|
|||
#N canvas 83 89 793 595 12;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array F05-signal 882 float 0;
|
||||
#X coords 0 1 882 -1 200 130 1;
|
||||
#X restore 554 218 graph;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array F05-spectrum 256 float 0;
|
||||
#X coords 0 0.51 255 -0.008 256 130 1;
|
||||
#X restore 499 22 graph;
|
||||
#X text 552 349 ---- 0.02 seconds ----;
|
||||
#X text 507 563 updated for Pd version 0.37;
|
||||
#X text 495 155 0;
|
||||
#X text 534 174 -- partial number --;
|
||||
#X text 761 142 0;
|
||||
#X text 758 19 0.5;
|
||||
#X floatatom 51 61 0 0 100 0 - - -;
|
||||
#N canvas 329 22 680 421 pulse-train 0;
|
||||
#X obj 184 348 line~;
|
||||
#X obj 39 317 cos~;
|
||||
#X obj 184 324 pack 0 50;
|
||||
#X obj 39 245 -~ 0.5;
|
||||
#X obj 39 269 *~;
|
||||
#X obj 184 252 / 10;
|
||||
#X obj 184 276 moses 0;
|
||||
#X msg 184 300 0;
|
||||
#X obj 39 293 clip~ -0.5 0.5;
|
||||
#X obj 184 372 +~ 1;
|
||||
#X obj 39 341 +~ 1;
|
||||
#X obj 184 228 inlet;
|
||||
#X obj 39 389 outlet~;
|
||||
#X obj 39 365 *~ 0.5;
|
||||
#X text 53 5 This is a modified version of the pulse train generator
|
||||
from two examples back.;
|
||||
#X text 107 140 We have to add 1/2 and wrap so that the center of the
|
||||
pulse comes at phase zero (previously it was 1/2 cycle out of phase).
|
||||
This wasn't a problem before but now we have to be in phase with the
|
||||
oscillator we're multpplying with.;
|
||||
#X text 276 262 otherwise it's the same as before.;
|
||||
#X obj 40 85 phasor~;
|
||||
#X obj 40 58 r freq;
|
||||
#X connect 0 0 9 0;
|
||||
#X connect 1 0 10 0;
|
||||
#X connect 2 0 0 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 8 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 6 1 2 0;
|
||||
#X connect 7 0 2 0;
|
||||
#X connect 8 0 1 0;
|
||||
#X connect 9 0 4 1;
|
||||
#X connect 10 0 13 0;
|
||||
#X connect 11 0 5 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 3 0;
|
||||
#X connect 18 0 17 0;
|
||||
#X restore 51 86 pd pulse-train;
|
||||
#X text 83 61 <-- bandwidth;
|
||||
#X obj 51 219 *~;
|
||||
#X text 113 123 <-- modulation frequency as;
|
||||
#X text 152 137 multiple of fundamental;
|
||||
#X obj 51 277 output~;
|
||||
#X obj 50 246 hip~;
|
||||
#N canvas 122 211 563 534 fft 0;
|
||||
#X obj 19 61 inlet~;
|
||||
#X obj 208 212 inlet;
|
||||
#X obj 29 92 rfft~;
|
||||
#X obj 29 125 *~;
|
||||
#X obj 60 125 *~;
|
||||
#X obj 29 155 sqrt~;
|
||||
#X obj 332 109 block~ 4096 1;
|
||||
#X obj 29 181 biquad~ 0 0 0 0 1;
|
||||
#X text 93 93 Fourier series;
|
||||
#X text 98 146 magnitude;
|
||||
#X text 96 131 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 193 164 delay two samples;
|
||||
#X text 191 182 for better graphing;
|
||||
#X obj 264 434 samplerate~;
|
||||
#X obj 245 262 metro 500;
|
||||
#X obj 245 233 inlet;
|
||||
#X text 298 231 toggle to graph repeatedly;
|
||||
#X text 262 212 bang to graph once;
|
||||
#X obj 29 205 /~ 4096;
|
||||
#X obj 264 409 bang~;
|
||||
#X obj 264 483 s freq;
|
||||
#X obj 264 457 / 256;
|
||||
#X obj 19 295 tabwrite~ F05-signal;
|
||||
#X obj 245 294 tabwrite~ F05-spectrum;
|
||||
#X msg 224 321 \; pd dsp 1;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 0 0 24 0;
|
||||
#X connect 1 0 24 0;
|
||||
#X connect 1 0 25 0;
|
||||
#X connect 1 0 26 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 20 0;
|
||||
#X connect 15 0 23 0;
|
||||
#X connect 16 0 24 0;
|
||||
#X connect 16 0 25 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 17 0 26 0;
|
||||
#X connect 20 0 25 0;
|
||||
#X connect 21 0 15 0;
|
||||
#X connect 23 0 22 0;
|
||||
#X restore 98 245 pd fft;
|
||||
#X obj 158 224 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 158 245 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
|
||||
1;
|
||||
#X text 179 244 <-- repeatedly;
|
||||
#X text 180 224 <-- graph once;
|
||||
#X text 527 155 2;
|
||||
#X text 559 155 4;
|
||||
#X text 591 155 6;
|
||||
#X text 623 155 8;
|
||||
#X text 656 155 10;
|
||||
#X text 688 155 12;
|
||||
#X text 719 155 14;
|
||||
#X text 759 213 1;
|
||||
#X text 759 337 -1;
|
||||
#X text 122 185 modulating oscillator;
|
||||
#X text 153 6 RING MODULATED PULSE TRAINS;
|
||||
#X text 23 357 Now we take a pulse train and ring modulate it \, which
|
||||
effectively aliases the spectrum so that it is centered at any desired
|
||||
partial number. The "bandwidth" control still affects the shape of
|
||||
the peak \, independently of where it is centered. This generates a
|
||||
formant centered at the given partial.;
|
||||
#X floatatom 73 123 0 0 100 0 - - -;
|
||||
#X obj 73 182 osc~;
|
||||
#X obj 73 157 *;
|
||||
#X obj 107 157 r freq;
|
||||
#X text 23 457 This patch is limited to making formants centered on
|
||||
harmonics. The center frequency thus can't be moved smoothly up and
|
||||
down at will (try shift-clicking on modulation frequency to make fractions).
|
||||
Next we'll look at two techniques for sliding a formant frequency without
|
||||
losing harmonicity.;
|
||||
#X text 184 85 <-- pulse train;
|
||||
#X text 220 101 generator from before;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 11 0 15 0;
|
||||
#X connect 11 0 16 0;
|
||||
#X connect 15 0 14 0;
|
||||
#X connect 15 0 14 1;
|
||||
#X connect 17 0 16 1;
|
||||
#X connect 18 0 16 2;
|
||||
#X connect 33 0 35 0;
|
||||
#X connect 34 0 11 1;
|
||||
#X connect 35 0 34 0;
|
||||
#X connect 36 0 35 1;
|
117
pd-0.44-2/doc/3.audio.examples/F06.packets.pd
Normal file
117
pd-0.44-2/doc/3.audio.examples/F06.packets.pd
Normal file
|
@ -0,0 +1,117 @@
|
|||
#N canvas 207 159 864 663 12;
|
||||
#X obj 327 413 line~;
|
||||
#X obj 55 456 cos~;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array pulse-output 882 float 0;
|
||||
#X coords 0 1 882 -1 200 130 1;
|
||||
#X restore 627 339 graph;
|
||||
#X obj 327 390 pack 0 50;
|
||||
#X floatatom 327 344 0 0 0 0 - - -;
|
||||
#X obj 55 355 -~ 0.5;
|
||||
#X obj 55 410 *~;
|
||||
#X obj 327 367 / 10;
|
||||
#X obj 55 433 clip~ -0.5 0.5;
|
||||
#X text 327 322 bandwidth;
|
||||
#X obj 327 436 +~ 1;
|
||||
#X obj 55 479 +~ 1;
|
||||
#X obj 206 491 cos~;
|
||||
#X obj 56 547 *~;
|
||||
#X floatatom 228 346 4 0 0 0 - - -;
|
||||
#X obj 228 366 / 10;
|
||||
#X text 627 472 --- 0.02 seconds ---;
|
||||
#X obj 206 465 *~;
|
||||
#N canvas 129 316 777 218 graph 1;
|
||||
#X obj 70 76 inlet~;
|
||||
#X obj 662 76 inlet;
|
||||
#X obj 67 143 tabwrite~ pulse-output;
|
||||
#X obj 298 81 inlet~;
|
||||
#X obj 472 74 inlet~;
|
||||
#X obj 295 148 tabwrite~ window;
|
||||
#X obj 477 149 tabwrite~ carrier;
|
||||
#X msg 654 140 \; pd dsp 1;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 6 0;
|
||||
#X restore 100 572 pd graph;
|
||||
#X obj 228 412 line~;
|
||||
#X obj 228 389 pack 0 50;
|
||||
#N canvas 0 0 450 300 graph3 0;
|
||||
#X array carrier 882 float 0;
|
||||
#X coords 0 1 881 -1 200 140 1;
|
||||
#X restore 627 188 graph;
|
||||
#N canvas 0 0 450 300 graph4 0;
|
||||
#X array window 882 float 0;
|
||||
#X coords 0 1 881 -1 200 140 1;
|
||||
#X restore 628 35 graph;
|
||||
#X text 204 573 <-- graph;
|
||||
#X floatatom 55 310 4 0 0 0 - - -;
|
||||
#X obj 55 331 phasor~ 100;
|
||||
#X text 31 2 WINDOWED PACKETS;
|
||||
#X text 51 266 fundamental;
|
||||
#X text 206 260 center;
|
||||
#X text 204 279 freq. (in;
|
||||
#X text 203 298 tenths of;
|
||||
#X text 202 318 fundamental);
|
||||
#X text 119 493 window;
|
||||
#X text 241 469 magnified phase;
|
||||
#X text 283 509 desired center frequency;
|
||||
#X text 255 492 <--this cosine goes at the;
|
||||
#X text 284 528 but its phase is reset each;
|
||||
#X text 282 547 fundamental period.;
|
||||
#X text 28 32 The simpler of two techniques for making slidable center
|
||||
frequencies is to synthesize enveloped sinusoidal wave packets. The
|
||||
packets should repeat at the fundamental frequency \, but the frequency
|
||||
of the packet itself controls the center frequency of the formant.
|
||||
The length of the packet varies inversely with bandwidth.;
|
||||
#X obj 55 604 output~;
|
||||
#X obj 55 580 hip~;
|
||||
#X obj 182 573 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X text 601 635 updated for Pd version 0.37;
|
||||
#X obj 55 502 *~ 0.5;
|
||||
#X text 831 161 -1;
|
||||
#X text 833 31 1;
|
||||
#X text 831 314 -1;
|
||||
#X text 835 184 1;
|
||||
#X text 832 458 -1;
|
||||
#X text 835 333 1;
|
||||
#X text 26 132 In the patch below \, the "clip~" followed by "cos~"
|
||||
and "+~ 1" is the enveloping ("windowing") function \, which appears
|
||||
in the top graph. The carrier \, on the other hand \, is a broken sinusoid
|
||||
made by amplifying the phasor~ (the "*~" controlled by "center freq.")
|
||||
and taking the cos~ of the result. The "breaks" in the sinusoid only
|
||||
occur when the enveloping signal is zero.;
|
||||
#X text 105 464 raised;
|
||||
#X text 113 479 cosine;
|
||||
#X text 51 285 frequency;
|
||||
#X connect 0 0 10 0;
|
||||
#X connect 1 0 11 0;
|
||||
#X connect 3 0 0 0;
|
||||
#X connect 4 0 7 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 5 0 17 0;
|
||||
#X connect 6 0 8 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 8 0 1 0;
|
||||
#X connect 10 0 6 1;
|
||||
#X connect 11 0 43 0;
|
||||
#X connect 12 0 13 1;
|
||||
#X connect 12 0 18 2;
|
||||
#X connect 13 0 18 0;
|
||||
#X connect 13 0 40 0;
|
||||
#X connect 14 0 15 0;
|
||||
#X connect 15 0 20 0;
|
||||
#X connect 17 0 12 0;
|
||||
#X connect 19 0 17 1;
|
||||
#X connect 20 0 19 0;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 25 0 5 0;
|
||||
#X connect 40 0 39 0;
|
||||
#X connect 40 0 39 1;
|
||||
#X connect 41 0 18 3;
|
||||
#X connect 43 0 13 0;
|
||||
#X connect 43 0 18 1;
|
147
pd-0.44-2/doc/3.audio.examples/F07.packet.spectrum.pd
Normal file
147
pd-0.44-2/doc/3.audio.examples/F07.packet.spectrum.pd
Normal file
|
@ -0,0 +1,147 @@
|
|||
#N canvas 83 221 774 628 12;
|
||||
#X obj 302 351 line~;
|
||||
#X obj 34 444 cos~;
|
||||
#X floatatom 71 560 0 0 0;
|
||||
#N canvas 176 241 532 273 output 0;
|
||||
#X obj 338 160 t b;
|
||||
#X obj 338 110 f;
|
||||
#X obj 338 60 inlet;
|
||||
#X text 344 29 mute;
|
||||
#X obj 338 185 f;
|
||||
#X msg 425 178 0;
|
||||
#X msg 338 85 bang;
|
||||
#X obj 338 135 moses 1;
|
||||
#X obj 398 111 moses 1;
|
||||
#X obj 83 148 dbtorms;
|
||||
#X obj 398 86 r master-lvl;
|
||||
#X obj 83 42 r master-lvl;
|
||||
#X obj 338 210 s master-lvl;
|
||||
#X obj 17 148 inlet~;
|
||||
#X obj 199 41 inlet;
|
||||
#X text 199 18 level;
|
||||
#X obj 199 100 s master-lvl;
|
||||
#X msg 96 65 set \$1;
|
||||
#X obj 96 89 outlet;
|
||||
#X msg 214 64 \; pd dsp 1;
|
||||
#X obj 83 194 line~;
|
||||
#X obj 22 212 *~;
|
||||
#X obj 22 241 dac~;
|
||||
#X obj 83 171 pack 0 50;
|
||||
#X text 15 125 audio;
|
||||
#X text 93 110 show level;
|
||||
#X obj 17 177 hip~ 1;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 4 0 12 0;
|
||||
#X connect 5 0 12 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 7 1 5 0;
|
||||
#X connect 8 1 4 1;
|
||||
#X connect 9 0 23 0;
|
||||
#X connect 10 0 1 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 9 0;
|
||||
#X connect 11 0 17 0;
|
||||
#X connect 13 0 26 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 14 0 19 0;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 20 0 21 1;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 21 0 22 1;
|
||||
#X connect 23 0 20 0;
|
||||
#X connect 26 0 21 0;
|
||||
#X restore 35 587 pd output;
|
||||
#X msg 111 560 MUTE;
|
||||
#X obj 302 327 pack 0 50;
|
||||
#X floatatom 302 255 0 0 0;
|
||||
#X obj 34 356 -~ 0.5;
|
||||
#X obj 34 395 *~;
|
||||
#X obj 302 279 / 10;
|
||||
#X obj 34 420 clip~ -0.5 0.5;
|
||||
#X text 302 233 bandwidth;
|
||||
#X obj 302 375 +~ 1;
|
||||
#X obj 35 467 +~ 1;
|
||||
#X obj 184 440 cos~;
|
||||
#X obj 35 496 *~;
|
||||
#X floatatom 206 269 4 0 0;
|
||||
#X obj 206 293 / 10;
|
||||
#X obj 184 414 *~;
|
||||
#X text 204 224 center;
|
||||
#X text 204 243 freq.;
|
||||
#X obj 302 303 max 0;
|
||||
#X obj 206 365 line~;
|
||||
#X obj 206 341 pack 0 50;
|
||||
#X obj 206 317 max 0;
|
||||
#X floatatom 34 308 4 0 0;
|
||||
#X obj 34 332 phasor~ 100;
|
||||
#X text 156 559 <-- output;
|
||||
#X text 30 283 freq.;
|
||||
#X text 30 264 fundamental;
|
||||
#X graph graph1 0 0 128 500 440 492 696 362;
|
||||
#X array spectrum 128 float 0;
|
||||
#X pop;
|
||||
#X msg 108 498 bang;
|
||||
#N canvas 204 17 358 238 fft 0;
|
||||
#X obj 46 48 inlet~;
|
||||
#X obj 159 181 tabwrite~ spectrum;
|
||||
#X obj 159 145 inlet;
|
||||
#X obj 46 78 rfft~;
|
||||
#X obj 46 111 *~;
|
||||
#X obj 77 111 *~;
|
||||
#X obj 46 141 sqrt~;
|
||||
#X obj 191 45 block~ 1024 1;
|
||||
#X connect 0 0 3 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 4 1;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 5 1;
|
||||
#X connect 4 0 6 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X restore 59 524 pd fft;
|
||||
#X text 439 502 0;
|
||||
#X text 687 499 5512;
|
||||
#X text 149 498 <-- graph;
|
||||
#X text 31 2 WINDOWED PACKET SPECTRUM;
|
||||
#X text 19 34 Here's the spectrum you get. Note that even if you put
|
||||
the center frequency right on a partial \, there is significant energy
|
||||
in neighboring partials (try fundamental 440 \, "center freq" 30 \,
|
||||
bandwidth 0.);
|
||||
#X text 18 104 The center frequency is in units of ten per partial
|
||||
\, or in other words a value of "30" means "centered on the third partial".
|
||||
;
|
||||
#X text 505 596 updated for Pd version 0.34;
|
||||
#X text 22 155 This technique only works if you're doing Hanning-window
|
||||
shaped PWM--you can't combine this naturally with FM or with the waveshaping
|
||||
technique we'll see later.;
|
||||
#X connect 0 0 12 0;
|
||||
#X connect 1 0 13 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 4 0 3 2;
|
||||
#X connect 5 0 0 0;
|
||||
#X connect 6 0 9 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 7 0 18 0;
|
||||
#X connect 8 0 10 0;
|
||||
#X connect 9 0 21 0;
|
||||
#X connect 10 0 1 0;
|
||||
#X connect 12 0 8 1;
|
||||
#X connect 13 0 15 0;
|
||||
#X connect 14 0 15 1;
|
||||
#X connect 15 0 3 0;
|
||||
#X connect 15 0 32 0;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 17 0 24 0;
|
||||
#X connect 18 0 14 0;
|
||||
#X connect 21 0 5 0;
|
||||
#X connect 22 0 18 1;
|
||||
#X connect 23 0 22 0;
|
||||
#X connect 24 0 23 0;
|
||||
#X connect 25 0 26 0;
|
||||
#X connect 26 0 7 0;
|
||||
#X connect 31 0 32 1;
|
70
pd-0.44-2/doc/3.audio.examples/F08.two.cosines.pd
Normal file
70
pd-0.44-2/doc/3.audio.examples/F08.two.cosines.pd
Normal file
|
@ -0,0 +1,70 @@
|
|||
#N canvas 534 115 698 613 12;
|
||||
#X obj 157 408 cos~;
|
||||
#X floatatom 204 198 4 0 100 0 - - -;
|
||||
#X obj 204 222 / 10;
|
||||
#X text 461 275 --- 0.02 seconds ---;
|
||||
#X obj 157 378 *~;
|
||||
#X obj 204 294 line~;
|
||||
#X obj 204 246 max 0;
|
||||
#N canvas 0 0 450 300 graph3 0;
|
||||
#X array F08-carrier 882 float 0;
|
||||
#X coords 0 2 881 -2 200 140 1;
|
||||
#X restore 447 123 graph;
|
||||
#X floatatom 57 295 4 0 0 0 - - -;
|
||||
#X text 53 251 fundamental;
|
||||
#X text 53 270 frequency;
|
||||
#X obj 199 408 cos~;
|
||||
#X obj 240 321 wrap~;
|
||||
#X obj 204 348 -~;
|
||||
#X obj 199 378 +~;
|
||||
#X obj 204 445 -~;
|
||||
#X obj 219 475 *~;
|
||||
#X obj 197 500 +~;
|
||||
#X obj 204 270 pack 0 50;
|
||||
#X text 254 408 synthesize the two partials;
|
||||
#X text 447 590 updated for Pd version 0.37;
|
||||
#X obj 198 526 hip~;
|
||||
#X obj 199 552 output~;
|
||||
#X text 26 29 The other \, spiffier way is to make a sum of cosines
|
||||
to interpolate between adjacent harmonics. Suppose for example we want
|
||||
a center frequency of 5.3 (in units of the fundamental.) We just take
|
||||
partial 5 with amplitude 0.7 and partial 6 with amplitude 0.3:;
|
||||
#X obj 286 552 tabwrite~ F08-carrier;
|
||||
#X text 316 528 <-graph;
|
||||
#X obj 284 527 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 57 319 phasor~ 100;
|
||||
#X text 83 149 center frequency (in;
|
||||
#X text 82 169 tenths of fundamental);
|
||||
#X text 125 3 MOVABLE CENTER FREQUENCY BY ADDING TWO COSINES;
|
||||
#X text 295 320 the fractional part "q";
|
||||
#X text 253 347 subtract to get the integer part "k";
|
||||
#X text 249 380 multiply phase by k and k+1;
|
||||
#X text 252 444 c2 - c1;
|
||||
#X text 267 473 q * (c2 - c1);
|
||||
#X text 236 500 q * c2 + (1-q) * c1;
|
||||
#X connect 0 0 15 1;
|
||||
#X connect 0 0 17 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 4 0 0 0;
|
||||
#X connect 4 0 14 0;
|
||||
#X connect 5 0 13 0;
|
||||
#X connect 5 0 12 0;
|
||||
#X connect 6 0 18 0;
|
||||
#X connect 8 0 27 0;
|
||||
#X connect 11 0 15 0;
|
||||
#X connect 12 0 13 1;
|
||||
#X connect 12 0 16 1;
|
||||
#X connect 13 0 4 1;
|
||||
#X connect 14 0 11 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 17 1;
|
||||
#X connect 17 0 21 0;
|
||||
#X connect 17 0 24 0;
|
||||
#X connect 18 0 5 0;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 21 0 22 1;
|
||||
#X connect 26 0 24 0;
|
||||
#X connect 27 0 4 0;
|
||||
#X connect 27 0 14 1;
|
94
pd-0.44-2/doc/3.audio.examples/F09.declickit.pd
Normal file
94
pd-0.44-2/doc/3.audio.examples/F09.declickit.pd
Normal file
|
@ -0,0 +1,94 @@
|
|||
#N canvas 10 49 579 665 12;
|
||||
#X obj 130 481 cos~;
|
||||
#X obj 130 451 *~;
|
||||
#X obj 172 481 cos~;
|
||||
#X obj 214 397 wrap~;
|
||||
#X obj 177 402 -~;
|
||||
#X obj 172 451 +~;
|
||||
#X obj 172 516 -~;
|
||||
#X obj 192 548 *~;
|
||||
#X obj 170 573 +~;
|
||||
#X obj 204 159 loadbang;
|
||||
#X obj 204 185 metro 400;
|
||||
#X obj 216 209 del 200;
|
||||
#X obj 252 326 samphold~;
|
||||
#N canvas 0 0 405 406 switch 0;
|
||||
#X obj 15 383 outlet~;
|
||||
#X obj 8 193 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X obj 329 195 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 18 99 loadbang;
|
||||
#X obj 18 131 1;
|
||||
#X obj 53 261 sel 1;
|
||||
#X obj 53 287 0;
|
||||
#X obj 339 259 sel 1;
|
||||
#X obj 339 288 0;
|
||||
#X obj 47 316 inlet~;
|
||||
#X obj 15 344 *~;
|
||||
#X obj 340 312 inlet~;
|
||||
#X obj 308 340 *~;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 0 10 1;
|
||||
#X connect 2 0 7 0;
|
||||
#X connect 2 0 12 1;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 2 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 1 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 0 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 0 0;
|
||||
#X coords 0 0 1 1 80 35 1;
|
||||
#X restore 177 351 pd switch;
|
||||
#X text 31 2 CHANGING THE CENTER FREQUENCY QUICKLY;
|
||||
#X text 34 27 Since in the previous patch the amplitudes of the two
|
||||
cosines depend on "center frequency" we can't change that discontinuously
|
||||
without clicking \, as you hear in this patch. The fix is to use a
|
||||
samphold~ object to keep the center frequency frozen except at phase
|
||||
crossings. At the phase crossings the two weighted cosines add to one
|
||||
\, so we can discontinuously change the frequencies and weights there.
|
||||
;
|
||||
#X text 266 365 <--toggles to select which one;
|
||||
#X text 369 384 is actually used;
|
||||
#X obj 171 602 output~;
|
||||
#X floatatom 225 264 3 0 50 0 - - -;
|
||||
#X obj 178 263 pack;
|
||||
#X text 258 263 <--gliss time;
|
||||
#X text 324 647 updated for Pd version 0.37;
|
||||
#X obj 178 287 line~;
|
||||
#X msg 216 239 13.5;
|
||||
#X msg 178 239 4;
|
||||
#X obj 70 287 phasor~ 80;
|
||||
#X connect 0 0 6 1;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 3 0 4 1;
|
||||
#X connect 3 0 7 1;
|
||||
#X connect 4 0 1 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 8 1;
|
||||
#X connect 8 0 18 0;
|
||||
#X connect 8 0 18 1;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 25 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 24 0;
|
||||
#X connect 12 0 13 1;
|
||||
#X connect 13 0 4 0;
|
||||
#X connect 13 0 3 0;
|
||||
#X connect 19 0 20 1;
|
||||
#X connect 20 0 23 0;
|
||||
#X connect 23 0 13 0;
|
||||
#X connect 23 0 12 0;
|
||||
#X connect 24 0 20 0;
|
||||
#X connect 25 0 20 0;
|
||||
#X connect 26 0 1 0;
|
||||
#X connect 26 0 5 1;
|
||||
#X connect 26 0 12 1;
|
152
pd-0.44-2/doc/3.audio.examples/F10.sweepable.FM.pd
Normal file
152
pd-0.44-2/doc/3.audio.examples/F10.sweepable.FM.pd
Normal file
|
@ -0,0 +1,152 @@
|
|||
#N canvas 60 64 834 697 12;
|
||||
#X obj 168 476 cos~;
|
||||
#X obj 168 430 *~;
|
||||
#X obj 211 478 cos~;
|
||||
#X obj 252 379 wrap~;
|
||||
#X obj 215 378 -~;
|
||||
#X obj 211 455 +~;
|
||||
#X obj 209 513 -~;
|
||||
#X obj 230 539 *~;
|
||||
#X obj 215 348 samphold~;
|
||||
#X text 167 6 APPLYING TWO-COSINE CARRIER TO FM;
|
||||
#X floatatom 232 228 4 0 200 0 - - -;
|
||||
#X obj 232 251 / 10;
|
||||
#X text 232 147 center;
|
||||
#X obj 232 300 line~;
|
||||
#X text 232 167 freq. (in;
|
||||
#X text 232 187 tenths of;
|
||||
#X text 232 207 fundamental);
|
||||
#X obj 232 277 pack 0 50;
|
||||
#X obj 121 283 phasor~;
|
||||
#X floatatom 121 260 4 0 0 0 - - -;
|
||||
#X text 106 207 fundamental;
|
||||
#X text 106 227 (= mod freq);
|
||||
#X text 435 254 index;
|
||||
#X text 435 274 (percent);
|
||||
#X floatatom 435 295 4 0 500 0 - - -;
|
||||
#X obj 385 361 cos~;
|
||||
#X obj 435 364 line~;
|
||||
#X obj 385 384 *~;
|
||||
#X obj 435 318 / 100;
|
||||
#X obj 435 341 pack 0 50;
|
||||
#X obj 168 453 +~;
|
||||
#X text 388 410 modulating;
|
||||
#X text 388 430 oscillator;
|
||||
#X text 40 452 both phases-->;
|
||||
#X text 9 435 add modulator to;
|
||||
#X obj 233 632 output~;
|
||||
#X obj 232 601 hip~;
|
||||
#N canvas 122 211 558 609 fft 0;
|
||||
#X obj 23 55 inlet~;
|
||||
#X obj 210 303 inlet;
|
||||
#X obj 27 215 rfft~;
|
||||
#X obj 27 248 *~;
|
||||
#X obj 58 248 *~;
|
||||
#X obj 27 278 sqrt~;
|
||||
#X obj 334 200 block~ 4096 1;
|
||||
#X obj 27 304 biquad~ 0 0 0 0 1;
|
||||
#X text 91 216 Fourier series;
|
||||
#X text 96 269 magnitude;
|
||||
#X text 94 254 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 195 255 delay two samples;
|
||||
#X text 193 273 for better graphing;
|
||||
#X obj 292 79 samplerate~;
|
||||
#X obj 240 352 metro 500;
|
||||
#X obj 240 329 inlet;
|
||||
#X text 293 327 toggle to graph repeatedly;
|
||||
#X text 264 303 bang to graph once;
|
||||
#X obj 27 328 /~ 4096;
|
||||
#X obj 292 54 bang~;
|
||||
#X msg 211 413 \; pd dsp 1;
|
||||
#X obj 237 390 tabwrite~ F10-spectrum;
|
||||
#X obj 292 102 / 4096;
|
||||
#X obj 58 135 osc~;
|
||||
#X obj 58 163 +~ 1;
|
||||
#X obj 28 188 *~;
|
||||
#X text 113 138 hanning window;
|
||||
#X obj 254 79 0.5;
|
||||
#X connect 0 0 27 0;
|
||||
#X connect 1 0 22 0;
|
||||
#X connect 1 0 23 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 20 0;
|
||||
#X connect 15 0 24 0;
|
||||
#X connect 16 0 23 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 17 0 22 0;
|
||||
#X connect 20 0 23 0;
|
||||
#X connect 21 0 15 0;
|
||||
#X connect 21 0 29 0;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 25 0 26 0;
|
||||
#X connect 26 0 27 1;
|
||||
#X connect 27 0 2 0;
|
||||
#X connect 29 0 25 1;
|
||||
#X restore 286 601 pd fft;
|
||||
#X obj 346 580 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 346 601 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
|
||||
1;
|
||||
#X text 367 600 <-- repeatedly;
|
||||
#X text 368 580 <-- graph once;
|
||||
#X text 580 663 updated for Pd version 0.37;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array F10-spectrum 259 float 0;
|
||||
#X coords 0 0.51 258 -0.008 256 130 1;
|
||||
#X restore 560 386 graph;
|
||||
#X text 552 517 0;
|
||||
#X obj 207 565 +~;
|
||||
#X text 31 30 We can apply the two-cosine method to FM synthesis to
|
||||
get FM spectra which slide up and down: we just treat the cosines like
|
||||
carrier signals in an FM instrument. This doesn't work as well as you'd
|
||||
wish \, because the phases of the partials of the two FM instruments
|
||||
don't line up \, so that \, for indices of modulation above about 20%
|
||||
\, you get beating effects as the center frequency goes up and down.
|
||||
;
|
||||
#X text 614 527 -- frequency --;
|
||||
#X text 792 518 2700;
|
||||
#X connect 0 0 6 1;
|
||||
#X connect 0 0 45 0;
|
||||
#X connect 1 0 30 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 3 0 4 1;
|
||||
#X connect 3 0 7 1;
|
||||
#X connect 4 0 1 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 45 1;
|
||||
#X connect 8 0 4 0;
|
||||
#X connect 8 0 3 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 17 0;
|
||||
#X connect 13 0 8 0;
|
||||
#X connect 17 0 13 0;
|
||||
#X connect 18 0 8 1;
|
||||
#X connect 18 0 25 0;
|
||||
#X connect 18 0 1 0;
|
||||
#X connect 18 0 5 1;
|
||||
#X connect 19 0 18 0;
|
||||
#X connect 24 0 28 0;
|
||||
#X connect 25 0 27 0;
|
||||
#X connect 26 0 27 1;
|
||||
#X connect 27 0 30 1;
|
||||
#X connect 28 0 29 0;
|
||||
#X connect 29 0 26 0;
|
||||
#X connect 30 0 5 0;
|
||||
#X connect 30 0 0 0;
|
||||
#X connect 36 0 35 0;
|
||||
#X connect 36 0 35 1;
|
||||
#X connect 38 0 37 1;
|
||||
#X connect 39 0 37 2;
|
||||
#X connect 45 0 36 0;
|
||||
#X connect 45 0 37 0;
|
126
pd-0.44-2/doc/3.audio.examples/F11.anharmonic.FM.pd
Normal file
126
pd-0.44-2/doc/3.audio.examples/F11.anharmonic.FM.pd
Normal file
|
@ -0,0 +1,126 @@
|
|||
#N canvas 60 64 790 527 12;
|
||||
#X obj 122 381 cos~;
|
||||
#X floatatom 173 184 4 0 200 0 - - -;
|
||||
#X obj 173 207 / 10;
|
||||
#X text 173 103 center;
|
||||
#X text 173 123 freq. (in;
|
||||
#X text 173 143 tenths of;
|
||||
#X text 173 163 fundamental);
|
||||
#X floatatom 70 192 4 0 0 0 - - -;
|
||||
#X text 46 145 fundamental;
|
||||
#X text 46 165 (= mod freq);
|
||||
#X text 251 208 index;
|
||||
#X text 251 228 (percent);
|
||||
#X floatatom 251 249 4 0 500 0 - - -;
|
||||
#X obj 251 318 line~;
|
||||
#X obj 201 338 *~;
|
||||
#X obj 251 272 / 100;
|
||||
#X obj 251 295 pack 0 50;
|
||||
#X obj 122 358 +~;
|
||||
#X text 204 364 modulating;
|
||||
#X text 209 381 oscillator;
|
||||
#X obj 123 459 output~;
|
||||
#X obj 122 428 hip~;
|
||||
#N canvas 122 211 558 609 fft 0;
|
||||
#X obj 23 55 inlet~;
|
||||
#X obj 210 303 inlet;
|
||||
#X obj 27 215 rfft~;
|
||||
#X obj 27 248 *~;
|
||||
#X obj 58 248 *~;
|
||||
#X obj 27 278 sqrt~;
|
||||
#X obj 334 200 block~ 4096 1;
|
||||
#X obj 27 304 biquad~ 0 0 0 0 1;
|
||||
#X text 91 216 Fourier series;
|
||||
#X text 96 269 magnitude;
|
||||
#X text 94 254 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 195 255 delay two samples;
|
||||
#X text 193 273 for better graphing;
|
||||
#X obj 292 79 samplerate~;
|
||||
#X obj 240 352 metro 500;
|
||||
#X obj 240 329 inlet;
|
||||
#X text 293 327 toggle to graph repeatedly;
|
||||
#X text 264 303 bang to graph once;
|
||||
#X obj 27 328 /~ 4096;
|
||||
#X obj 292 54 bang~;
|
||||
#X msg 211 413 \; pd dsp 1;
|
||||
#X obj 292 102 / 4096;
|
||||
#X obj 58 135 osc~;
|
||||
#X obj 58 163 +~ 1;
|
||||
#X obj 28 188 *~;
|
||||
#X text 113 138 hanning window;
|
||||
#X obj 254 79 0.5;
|
||||
#X obj 240 390 tabwrite~ F11-spectrum;
|
||||
#X connect 0 0 26 0;
|
||||
#X connect 1 0 22 0;
|
||||
#X connect 1 0 29 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 20 0;
|
||||
#X connect 15 0 23 0;
|
||||
#X connect 16 0 29 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 17 0 22 0;
|
||||
#X connect 20 0 29 0;
|
||||
#X connect 21 0 15 0;
|
||||
#X connect 21 0 28 0;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 25 0 26 1;
|
||||
#X connect 26 0 2 0;
|
||||
#X connect 28 0 24 1;
|
||||
#X restore 176 428 pd fft;
|
||||
#X obj 236 407 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 236 428 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 257 427 <-- repeatedly;
|
||||
#X text 258 407 <-- graph once;
|
||||
#X text 530 479 updated for Pd version 0.37;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array F11-spectrum 259 float 0;
|
||||
#X coords 0 0.51 258 -0.008 256 130 1;
|
||||
#X restore 514 291 graph;
|
||||
#X text 506 422 0;
|
||||
#X text 568 432 -- frequency --;
|
||||
#X text 743 427 2700;
|
||||
#X obj 173 256 *;
|
||||
#X obj 173 233 t b f;
|
||||
#X obj 201 315 osc~;
|
||||
#X obj 122 322 phasor~;
|
||||
#X text 31 30 Here's what happens if you just slide the carrier frequency
|
||||
around. The spectrum moves up and down all right \, but is only periodic
|
||||
at the original period when the center frequency roosts on a harmonic.
|
||||
;
|
||||
#X text 50 308 carrier;
|
||||
#X text 24 325 oscillator;
|
||||
#X text 167 6 HOW NOT TO APPLY TWO-COSINE CARRIER TO FM;
|
||||
#X connect 0 0 21 0;
|
||||
#X connect 0 0 22 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 33 0;
|
||||
#X connect 7 0 32 0;
|
||||
#X connect 7 0 34 0;
|
||||
#X connect 12 0 15 0;
|
||||
#X connect 13 0 14 1;
|
||||
#X connect 14 0 17 1;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 13 0;
|
||||
#X connect 17 0 0 0;
|
||||
#X connect 21 0 20 0;
|
||||
#X connect 21 0 20 1;
|
||||
#X connect 23 0 22 1;
|
||||
#X connect 24 0 22 2;
|
||||
#X connect 32 0 35 0;
|
||||
#X connect 33 0 32 0;
|
||||
#X connect 33 1 32 1;
|
||||
#X connect 34 0 14 0;
|
||||
#X connect 35 0 17 0;
|
226
pd-0.44-2/doc/3.audio.examples/F12.paf.pd
Normal file
226
pd-0.44-2/doc/3.audio.examples/F12.paf.pd
Normal file
|
@ -0,0 +1,226 @@
|
|||
#N canvas 262 0 692 819 12;
|
||||
#X obj 38 593 cos~;
|
||||
#X obj 38 570 *~;
|
||||
#X obj 81 593 cos~;
|
||||
#X obj 137 527 wrap~;
|
||||
#X obj 101 527 -~;
|
||||
#X obj 81 570 +~;
|
||||
#X obj 74 623 -~;
|
||||
#X obj 94 655 *~;
|
||||
#X obj 56 655 +~;
|
||||
#X obj 100 500 samphold~;
|
||||
#X floatatom 159 378 4 0 500 0 - - -;
|
||||
#X obj 159 401 / 10;
|
||||
#X text 157 311 center;
|
||||
#X obj 159 449 line~;
|
||||
#X text 157 359 fundamental);
|
||||
#X obj 159 426 pack 0 50;
|
||||
#X obj 39 446 phasor~;
|
||||
#X floatatom 39 425 4 0 0 0 - - -;
|
||||
#X text 19 398 fundamental;
|
||||
#X text 303 460 index;
|
||||
#X text 303 477 (percent);
|
||||
#X floatatom 303 498 4 0 500 0 - - -;
|
||||
#X obj 303 544 line~;
|
||||
#X obj 224 564 *~;
|
||||
#X obj 303 521 pack 0 50;
|
||||
#N canvas 0 0 450 300 graph4 0;
|
||||
#X array bell-curve 200 float 1;
|
||||
#A 0 1.12535e-07 1.54727e-07 2.12059e-07 2.89706e-07 3.94519e-07 5.35535e-07
|
||||
7.24633e-07 9.77371e-07 1.31404e-06 1.76105e-06 2.35258e-06 3.13275e-06
|
||||
4.15832e-06 5.50199e-06 7.25659e-06 9.54016e-06 1.25023e-05 1.63317e-05
|
||||
2.1266e-05 2.76026e-05 3.57128e-05 4.60584e-05 5.92113e-05 7.58768e-05
|
||||
9.69224e-05 0.00012341 0.000156634 0.000198167 0.000249912 0.000314163
|
||||
0.000393669 0.000491721 0.000612231 0.000759842 0.000940028 0.00115923
|
||||
0.00142498 0.00174605 0.00213263 0.00259648 0.00315111 0.00381201 0.00459678
|
||||
0.0055254 0.0066204 0.00790705 0.0094136 0.0111714 0.013215 0.0155826
|
||||
0.0183156 0.0214592 0.0250621 0.0291763 0.0338573 0.0391639 0.0451575
|
||||
0.0519019 0.0594631 0.0679081 0.0773047 0.0877205 0.0992216 0.111872
|
||||
0.125732 0.140858 0.1573 0.1751 0.194291 0.214896 0.236928 0.260383
|
||||
0.285247 0.311486 0.339053 0.367879 0.397882 0.428956 0.46098 0.493812
|
||||
0.527292 0.561244 0.595473 0.62977 0.663916 0.697676 0.730811 0.763074
|
||||
0.794216 0.823987 0.852144 0.878447 0.902668 0.924595 0.944027 0.960789
|
||||
0.974725 0.985703 0.99362 0.998401 1 0.998401 0.99362 0.985703 0.974725
|
||||
0.960789 0.944027 0.924595 0.902668 0.878447 0.852144 0.823987 0.794216
|
||||
0.763074 0.730811 0.697676 0.663916 0.62977 0.595473 0.561244 0.527292
|
||||
0.493812 0.46098 0.428956 0.397882 0.367879 0.339053 0.311486 0.285247
|
||||
0.260383 0.236928 0.214896 0.194291 0.1751 0.1573 0.140858 0.125732
|
||||
0.111872 0.0992216 0.0877205 0.0773047 0.0679081 0.0594631 0.0519019
|
||||
0.0451575 0.0391639 0.0338573 0.0291763 0.0250621 0.0214592 0.0183156
|
||||
0.0155826 0.013215 0.0111714 0.0094136 0.00790705 0.0066204 0.0055254
|
||||
0.00459678 0.00381201 0.00315111 0.00259648 0.00213263 0.00174605 0.00142498
|
||||
0.00115923 0.000940028 0.000759842 0.000612231 0.000491721 0.000393669
|
||||
0.000314163 0.000249912 0.000198167 0.000156634 0.00012341 9.69224e-05
|
||||
7.58768e-05 5.92113e-05 4.60584e-05 3.57128e-05 2.76026e-05 2.1266e-05
|
||||
1.63317e-05 1.25023e-05 9.54016e-06 7.25659e-06 5.50199e-06 4.15832e-06
|
||||
3.13275e-06 2.35258e-06 1.76105e-06 1.31404e-06 9.77371e-07 7.24633e-07
|
||||
5.35535e-07 3.94519e-07 2.89706e-07 2.12059e-07 1.54727e-07;
|
||||
#X coords 0 1 199 0 200 140 1;
|
||||
#X restore 443 555 graph;
|
||||
#N canvas 94 264 600 388 make-table 0;
|
||||
#X msg 81 44 bang;
|
||||
#X obj 81 73 t b b;
|
||||
#X obj 159 142 f;
|
||||
#X obj 197 142 + 1;
|
||||
#X msg 175 112 0;
|
||||
#X obj 81 102 until;
|
||||
#X obj 161 177 t f f;
|
||||
#X obj 76 306 tabwrite bell-curve;
|
||||
#X obj 52 270 expr exp(-$f1*$f1);
|
||||
#X obj 63 168 sel 199;
|
||||
#X obj 51 241 expr ($f1-100)/25;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 1 4 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 2 0 9 0;
|
||||
#X connect 3 0 2 1;
|
||||
#X connect 4 0 2 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 10 0;
|
||||
#X connect 6 1 7 1;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 5 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X restore 507 515 pd make-table;
|
||||
#X obj 224 541 cos~;
|
||||
#X obj 224 518 -~ 0.25;
|
||||
#X obj 224 587 +~ 100;
|
||||
#X obj 224 610 tabread4~ bell-curve;
|
||||
#X obj 95 684 *~;
|
||||
#X text 131 682 <--ring mod step;
|
||||
#X text 256 635 waveshaper;
|
||||
#X text 425 791 updated for Pd version 0.37;
|
||||
#X text 157 326 frequency;
|
||||
#X text 157 342 (tenths of;
|
||||
#X text 441 698 0;
|
||||
#X text 632 697 200;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array F12-spectrum 259 float 0;
|
||||
#X coords 0 0.51 258 -0.008 256 130 1;
|
||||
#X restore 421 308 graph;
|
||||
#X text 418 440 0;
|
||||
#X text 475 444 -- frequency --;
|
||||
#X text 644 441 2700;
|
||||
#X obj 95 756 output~;
|
||||
#X obj 94 725 hip~;
|
||||
#N canvas 122 211 558 609 fft 0;
|
||||
#X obj 23 55 inlet~;
|
||||
#X obj 210 303 inlet;
|
||||
#X obj 27 215 rfft~;
|
||||
#X obj 27 248 *~;
|
||||
#X obj 58 248 *~;
|
||||
#X obj 27 278 sqrt~;
|
||||
#X obj 334 200 block~ 4096 1;
|
||||
#X obj 27 304 biquad~ 0 0 0 0 1;
|
||||
#X text 91 216 Fourier series;
|
||||
#X text 96 269 magnitude;
|
||||
#X text 94 254 calculate;
|
||||
#X text 21 3 This subpatch computes the spectrum of the incoming signal
|
||||
with a (rectangular windowed) FFT. FFTs aren't properly introduced
|
||||
until much later.;
|
||||
#X text 83 61 signal to analyze;
|
||||
#X text 195 255 delay two samples;
|
||||
#X text 193 273 for better graphing;
|
||||
#X obj 292 79 samplerate~;
|
||||
#X obj 240 352 metro 500;
|
||||
#X obj 240 329 inlet;
|
||||
#X text 293 327 toggle to graph repeatedly;
|
||||
#X text 264 303 bang to graph once;
|
||||
#X obj 27 328 /~ 4096;
|
||||
#X obj 292 54 bang~;
|
||||
#X msg 211 413 \; pd dsp 1;
|
||||
#X obj 292 102 / 4096;
|
||||
#X obj 58 135 osc~;
|
||||
#X obj 58 163 +~ 1;
|
||||
#X obj 28 188 *~;
|
||||
#X text 113 138 hanning window;
|
||||
#X obj 254 79 0.5;
|
||||
#X obj 240 390 tabwrite~ F12-spectrum;
|
||||
#X connect 0 0 26 0;
|
||||
#X connect 1 0 22 0;
|
||||
#X connect 1 0 29 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 3 1;
|
||||
#X connect 2 1 4 0;
|
||||
#X connect 2 1 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 7 0 20 0;
|
||||
#X connect 15 0 23 0;
|
||||
#X connect 16 0 29 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 17 0 22 0;
|
||||
#X connect 20 0 29 0;
|
||||
#X connect 21 0 15 0;
|
||||
#X connect 21 0 28 0;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 25 0 26 1;
|
||||
#X connect 26 0 2 0;
|
||||
#X connect 28 0 24 1;
|
||||
#X restore 148 725 pd fft;
|
||||
#X obj 208 704 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 208 725 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
|
||||
1;
|
||||
#X text 229 724 <-- repeatedly;
|
||||
#X text 230 704 <-- graph once;
|
||||
#X text 17 21 Instead of using the two cosines as FM carrier oscillators
|
||||
\, we can use them as ring modulators for a natural or synthetic tone.
|
||||
Here we use waveshaping - to wit \, a sinusoid looking up a Gaussian
|
||||
bell curve. This has the nice properties that the partials are always
|
||||
positive cosines in phase \, and the spectrum spreads out smoothly
|
||||
as the index changes.;
|
||||
#X text 98 1 PAF: TWO-COSINE RING MODULATOR FOR WAVESHAPER;
|
||||
#X text 17 253 Then with ~* we do the ring modulation and we're done.
|
||||
This is the PAF (phase-aligned formant) synthesis algorithm (patented
|
||||
1993 by IRCAM).;
|
||||
#X obj 224 492 *~ 0.5;
|
||||
#X text 17 129 For phase coherency \, the waveshaper and the cosine
|
||||
pair are driven from the same phasor~ object. Since the waveshaping
|
||||
is done using a symmetric curve \, its output is at double the frequency
|
||||
of the input. So for each cycle of the phasor we compute a half-cycle
|
||||
of the sine function (by multiplying by 0.5 and subtracting 0.25 before
|
||||
the cosine lookup). We center the cosine output for lookup in a 200-point
|
||||
table containing a bell curve.;
|
||||
#X connect 0 0 6 1;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 3 0 4 1;
|
||||
#X connect 3 0 7 1;
|
||||
#X connect 4 0 1 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 8 1;
|
||||
#X connect 8 0 31 0;
|
||||
#X connect 9 0 4 0;
|
||||
#X connect 9 0 3 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 15 0;
|
||||
#X connect 13 0 9 0;
|
||||
#X connect 15 0 13 0;
|
||||
#X connect 16 0 9 1;
|
||||
#X connect 16 0 5 1;
|
||||
#X connect 16 0 1 0;
|
||||
#X connect 16 0 53 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 21 0 24 0;
|
||||
#X connect 22 0 23 1;
|
||||
#X connect 23 0 29 0;
|
||||
#X connect 24 0 22 0;
|
||||
#X connect 27 0 23 0;
|
||||
#X connect 28 0 27 0;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 30 0 31 1;
|
||||
#X connect 31 0 44 0;
|
||||
#X connect 31 0 45 0;
|
||||
#X connect 44 0 43 0;
|
||||
#X connect 44 0 43 1;
|
||||
#X connect 46 0 45 1;
|
||||
#X connect 47 0 45 2;
|
||||
#X connect 53 0 28 0;
|
164
pd-0.44-2/doc/3.audio.examples/F13.paf.control.pd
Normal file
164
pd-0.44-2/doc/3.audio.examples/F13.paf.control.pd
Normal file
|
@ -0,0 +1,164 @@
|
|||
#N canvas 89 36 756 792 12;
|
||||
#X obj 127 608 cos~;
|
||||
#X obj 127 585 *~;
|
||||
#X obj 170 608 cos~;
|
||||
#X obj 225 553 wrap~;
|
||||
#X obj 189 553 -~;
|
||||
#X obj 170 585 +~;
|
||||
#X obj 163 638 -~;
|
||||
#X obj 183 670 *~;
|
||||
#X obj 145 670 +~;
|
||||
#X obj 189 521 samphold~;
|
||||
#X floatatom 189 321 4 0 127 0 - - -;
|
||||
#X text 185 283 center;
|
||||
#X obj 189 388 line~;
|
||||
#X obj 189 365 pack 0 50;
|
||||
#X obj 80 464 phasor~;
|
||||
#X floatatom 80 370 4 0 127 0 - - -;
|
||||
#X text 71 331 fundamental;
|
||||
#X floatatom 387 384 4 0 127 0 - - -;
|
||||
#X obj 387 455 line~;
|
||||
#X obj 298 584 *~;
|
||||
#X obj 387 432 pack 0 50;
|
||||
#N canvas 94 264 600 388 make-table 0;
|
||||
#X msg 81 44 bang;
|
||||
#X obj 81 73 t b b;
|
||||
#X obj 159 142 f;
|
||||
#X obj 197 142 + 1;
|
||||
#X msg 175 112 0;
|
||||
#X obj 81 102 until;
|
||||
#X obj 161 177 t f f;
|
||||
#X obj 76 306 tabwrite bell-curve;
|
||||
#X obj 52 270 expr exp(-$f1*$f1);
|
||||
#X obj 63 168 sel 199;
|
||||
#X obj 51 241 expr ($f1-100)/25;
|
||||
#N canvas 0 0 450 300 graph4 0;
|
||||
#X array bell-curve 200 float 1;
|
||||
#A 0 1.12535e-07 1.54727e-07 2.12059e-07 2.89706e-07 3.94519e-07 5.35535e-07
|
||||
7.24633e-07 9.77371e-07 1.31404e-06 1.76105e-06 2.35258e-06 3.13275e-06
|
||||
4.15832e-06 5.50199e-06 7.25659e-06 9.54016e-06 1.25023e-05 1.63317e-05
|
||||
2.1266e-05 2.76026e-05 3.57128e-05 4.60584e-05 5.92113e-05 7.58768e-05
|
||||
9.69224e-05 0.00012341 0.000156634 0.000198167 0.000249912 0.000314163
|
||||
0.000393669 0.000491721 0.000612231 0.000759842 0.000940028 0.00115923
|
||||
0.00142498 0.00174605 0.00213263 0.00259648 0.00315111 0.00381201 0.00459678
|
||||
0.0055254 0.0066204 0.00790705 0.0094136 0.0111714 0.013215 0.0155826
|
||||
0.0183156 0.0214592 0.0250621 0.0291763 0.0338573 0.0391639 0.0451575
|
||||
0.0519019 0.0594631 0.0679081 0.0773047 0.0877205 0.0992216 0.111872
|
||||
0.125732 0.140858 0.1573 0.1751 0.194291 0.214896 0.236928 0.260383
|
||||
0.285247 0.311486 0.339053 0.367879 0.397882 0.428956 0.46098 0.493812
|
||||
0.527292 0.561244 0.595473 0.62977 0.663916 0.697676 0.730811 0.763074
|
||||
0.794216 0.823987 0.852144 0.878447 0.902668 0.924595 0.944027 0.960789
|
||||
0.974725 0.985703 0.99362 0.998401 1 0.998401 0.99362 0.985703 0.974725
|
||||
0.960789 0.944027 0.924595 0.902668 0.878447 0.852144 0.823987 0.794216
|
||||
0.763074 0.730811 0.697676 0.663916 0.62977 0.595473 0.561244 0.527292
|
||||
0.493812 0.46098 0.428956 0.397882 0.367879 0.339053 0.311486 0.285247
|
||||
0.260383 0.236928 0.214896 0.194291 0.1751 0.1573 0.140858 0.125732
|
||||
0.111872 0.0992216 0.0877205 0.0773047 0.0679081 0.0594631 0.0519019
|
||||
0.0451575 0.0391639 0.0338573 0.0291763 0.0250621 0.0214592 0.0183156
|
||||
0.0155826 0.013215 0.0111714 0.0094136 0.00790705 0.0066204 0.0055254
|
||||
0.00459678 0.00381201 0.00315111 0.00259648 0.00213263 0.00174605 0.00142498
|
||||
0.00115923 0.000940028 0.000759842 0.000612231 0.000491721 0.000393669
|
||||
0.000314163 0.000249912 0.000198167 0.000156634 0.00012341 9.69224e-05
|
||||
7.58768e-05 5.92113e-05 4.60584e-05 3.57128e-05 2.76026e-05 2.1266e-05
|
||||
1.63317e-05 1.25023e-05 9.54016e-06 7.25659e-06 5.50199e-06 4.15832e-06
|
||||
3.13275e-06 2.35258e-06 1.76105e-06 1.31404e-06 9.77371e-07 7.24633e-07
|
||||
5.35535e-07 3.94519e-07 2.89706e-07 2.12059e-07 1.54727e-07;
|
||||
#X coords 0 1 199 0 200 140 1;
|
||||
#X restore 342 85 graph;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 1 4 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 2 0 9 0;
|
||||
#X connect 3 0 2 1;
|
||||
#X connect 4 0 2 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 10 0;
|
||||
#X connect 6 1 7 1;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 5 1;
|
||||
#X connect 10 0 8 0;
|
||||
#X restore 536 647 pd make-table;
|
||||
#X obj 298 558 cos~;
|
||||
#X obj 298 533 -~ 0.25;
|
||||
#X obj 298 610 +~ 100;
|
||||
#X obj 298 633 tabread4~ bell-curve;
|
||||
#X obj 184 699 *~;
|
||||
#X text 330 658 waveshaper;
|
||||
#X text 31 2 CHANGING PAF CONTROLS TO NATURAL UNITS;
|
||||
#X obj 80 394 mtof;
|
||||
#X obj 211 413 expr 1/$f1;
|
||||
#X obj 189 341 mtof;
|
||||
#X text 184 298 freq.;
|
||||
#X obj 189 437 *~;
|
||||
#X text 385 357 bandwidth;
|
||||
#X obj 387 406 mtof;
|
||||
#X obj 387 491 *~;
|
||||
#X obj 387 515 *~ 25;
|
||||
#X text 18 23 The more "natural" units for describing a formant might
|
||||
be center frequency and bandwidth \, so that you can change the fundamental
|
||||
without having the formant shift up and down in parallel. Here all
|
||||
three frequencies are expressed in MIDI units. The bandwidth and center
|
||||
frequency have to be divided by the fundamental (the expr 1/$f1 takes
|
||||
its reciprocal and two *~ objects finish the division.);
|
||||
#X text 427 490 divide by fundamental;
|
||||
#X text 445 514 range for table;
|
||||
#X text 364 609 offset to middle of table;
|
||||
#X text 196 459 C.F. relative;
|
||||
#X text 197 475 to fundamental;
|
||||
#X text 69 346 (MIDI units);
|
||||
#X text 220 697 ring mod;
|
||||
#X obj 184 726 output~;
|
||||
#X text 483 762 updated for Pd version 0.37;
|
||||
#X text 19 137 Here we take a somewhat lax approach to sampholding
|
||||
the center frequency control. The frequency itself changes instantly
|
||||
\, but the center/fundamental frequency ratio waits for the next period.
|
||||
This gives a slight "chirp" if the fundamental is abruptly raised a
|
||||
couple of octaves. There's no easy way using Pd's built-in primitives
|
||||
to avoid this. Note however that there's a "paf~" extern available
|
||||
which solves this problem better and \, moreover \, runs much faster.
|
||||
;
|
||||
#X obj 298 508 *~ 0.5;
|
||||
#X connect 0 0 6 1;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 3 0 4 1;
|
||||
#X connect 3 0 7 1;
|
||||
#X connect 4 0 1 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 8 1;
|
||||
#X connect 8 0 26 0;
|
||||
#X connect 9 0 4 0;
|
||||
#X connect 9 0 3 0;
|
||||
#X connect 10 0 31 0;
|
||||
#X connect 12 0 33 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 14 0 9 1;
|
||||
#X connect 14 0 1 0;
|
||||
#X connect 14 0 5 1;
|
||||
#X connect 14 0 49 0;
|
||||
#X connect 15 0 29 0;
|
||||
#X connect 17 0 35 0;
|
||||
#X connect 18 0 36 0;
|
||||
#X connect 19 0 24 0;
|
||||
#X connect 20 0 18 0;
|
||||
#X connect 22 0 19 0;
|
||||
#X connect 23 0 22 0;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 25 0 26 1;
|
||||
#X connect 26 0 46 0;
|
||||
#X connect 26 0 46 1;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 29 0 14 0;
|
||||
#X connect 30 0 33 1;
|
||||
#X connect 30 0 36 1;
|
||||
#X connect 31 0 13 0;
|
||||
#X connect 33 0 9 0;
|
||||
#X connect 35 0 20 0;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 37 0 19 1;
|
||||
#X connect 49 0 23 0;
|
112
pd-0.44-2/doc/3.audio.examples/F14.wave.packet.pd
Normal file
112
pd-0.44-2/doc/3.audio.examples/F14.wave.packet.pd
Normal file
|
@ -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;
|
48
pd-0.44-2/doc/3.audio.examples/G01.delay.pd
Normal file
48
pd-0.44-2/doc/3.audio.examples/G01.delay.pd
Normal file
|
@ -0,0 +1,48 @@
|
|||
#N canvas 19 35 777 377 12;
|
||||
#X text 103 7 DELAYS;
|
||||
#X text 248 79 The delwrite~ object creates the delay line \; you give
|
||||
it a name and a size in milliseconds. Each delwrite~ should have a
|
||||
different name.;
|
||||
#N canvas 0 0 548 248 sample 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array G01-tab 61079 float 0;
|
||||
#X coords 0 1 61078 -1 200 140 1;
|
||||
#X restore 100 20 graph;
|
||||
#X obj 61 176 loadbang;
|
||||
#X obj 60 221 soundfiler;
|
||||
#X msg 61 199 read -resize ../sound/voice.wav G01-tab;
|
||||
#X connect 1 0 3 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X restore 253 337 pd sample;
|
||||
#X floatatom 38 196 4 0 999 0 - - -;
|
||||
#X text 81 195 <-- delay time;
|
||||
#X text 46 230 read from delay line;
|
||||
#X obj 38 249 delread~ delay1;
|
||||
#X obj 14 87 tabplay~ G01-tab;
|
||||
#X obj 14 63 metro 1000;
|
||||
#X obj 14 39 loadbang;
|
||||
#X text 40 146 write to delay line;
|
||||
#X obj 16 303 output~;
|
||||
#X obj 15 275 +~;
|
||||
#X obj 24 165 delwrite~ delay1 1000;
|
||||
#X text 499 348 updated for Pd version 0.37-1;
|
||||
#X text 248 24 You can delay a signal using the delwrite~ and delread~
|
||||
objects. In this example \, a sample loops continuously and is added
|
||||
to a delayed copy of itself.;
|
||||
#X text 247 215 The delread~ object always delays the signal an integer
|
||||
number of samples and does no interpolation.;
|
||||
#X text 28 107 test signal to delay;
|
||||
#X text 248 130 Delread~'s arguments are the name of a delwrite (of
|
||||
which there should be exactly one) and an optional delay time in milliseconds
|
||||
between 0 and the length of the delay line. Each delwrite~ may have
|
||||
as many delread~s as you wish \, which can then function as multiple
|
||||
delay taps.;
|
||||
#X text 114 209 (msec);
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 6 0 12 1;
|
||||
#X connect 7 0 12 0;
|
||||
#X connect 7 0 13 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 12 0 11 1;
|
44
pd-0.44-2/doc/3.audio.examples/G02.delay.loop.pd
Normal file
44
pd-0.44-2/doc/3.audio.examples/G02.delay.loop.pd
Normal file
|
@ -0,0 +1,44 @@
|
|||
#N canvas 130 225 601 527 12;
|
||||
#X floatatom 36 197 5 -30 130 0 - - -;
|
||||
#X floatatom 58 322 0 0 0 0 - - -;
|
||||
#X text 88 196 <-- pitch;
|
||||
#X text 88 321 <-- delay time;
|
||||
#X text 287 420 write to delay line;
|
||||
#X text 246 346 read from delay line;
|
||||
#X text 72 393 add the original and the delayed signal;
|
||||
#X obj 36 233 mtof;
|
||||
#X msg 111 233 1;
|
||||
#X obj 37 282 *~;
|
||||
#X obj 37 394 +~;
|
||||
#X obj 58 370 *~ 0.7;
|
||||
#X text 116 370 feedback gain;
|
||||
#X text 57 9 DELAYS WITH FEEDBACK;
|
||||
#X text 33 39 You can feed the result of a delread~ module back into
|
||||
its own delwrite~ \, as long as you're careful about stability. For
|
||||
delays below 30 msec \, you can frequently hear the resonant pitch.
|
||||
For longer delay times you get the famous old delay loop effect.;
|
||||
#X obj 111 281 *~;
|
||||
#X obj 111 257 adsr 1 100 1000 0 1000;
|
||||
#X obj 37 463 output~;
|
||||
#X text 32 118 We've added an amplitude control here so that the test
|
||||
oscillator only speaks while you're dragging the pitch up and down.
|
||||
Be sure to try shift-dragging on the pitch control.;
|
||||
#X text 330 495 updated for Pd version 0.37-1;
|
||||
#X obj 36 257 phasor~;
|
||||
#X obj 58 346 delread~ G02-del 160;
|
||||
#X obj 77 419 delwrite~ G02-del 2000;
|
||||
#X connect 0 0 7 0;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 1 0 21 0;
|
||||
#X connect 7 0 20 0;
|
||||
#X connect 8 0 16 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 17 0;
|
||||
#X connect 10 0 17 1;
|
||||
#X connect 10 0 22 0;
|
||||
#X connect 11 0 10 1;
|
||||
#X connect 15 0 9 1;
|
||||
#X connect 16 0 15 0;
|
||||
#X connect 16 0 15 1;
|
||||
#X connect 20 0 9 0;
|
||||
#X connect 21 0 11 0;
|
77
pd-0.44-2/doc/3.audio.examples/G03.delay.variable.pd
Normal file
77
pd-0.44-2/doc/3.audio.examples/G03.delay.variable.pd
Normal file
|
@ -0,0 +1,77 @@
|
|||
#N canvas 100 17 660 504 12;
|
||||
#X obj 33 305 hip~ 10;
|
||||
#X floatatom 301 221 0 0 0 0 - - -;
|
||||
#X obj 301 269 line~;
|
||||
#X obj 301 245 pack 0 100;
|
||||
#X floatatom 226 191 0 0 0 0 - - -;
|
||||
#X floatatom 382 297 0 0 0 0 - - -;
|
||||
#X obj 382 369 line~;
|
||||
#X obj 382 345 pack 0 100;
|
||||
#X obj 382 321 * 0.01;
|
||||
#X floatatom 113 166 0 0 0 0 - - -;
|
||||
#X obj 113 237 line~;
|
||||
#X obj 113 213 pack 0 100;
|
||||
#X obj 33 257 *~;
|
||||
#X obj 33 281 cos~;
|
||||
#X floatatom 33 134 0 0 0 0 - - -;
|
||||
#X obj 33 158 mtof;
|
||||
#X obj 33 182 * 0.5;
|
||||
#X obj 33 329 clip~ -0.2 0.2;
|
||||
#X obj 113 189 * 0.01;
|
||||
#X obj 33 353 +~;
|
||||
#X obj 361 395 *~;
|
||||
#X obj 226 287 *~;
|
||||
#X obj 226 215 / 100;
|
||||
#X obj 33 377 hip~ 5;
|
||||
#X obj 226 263 +~ 1;
|
||||
#X obj 226 239 osc~ 0;
|
||||
#X obj 226 311 +~ 1.46;
|
||||
#X text 154 164 <-- timbre;
|
||||
#X text 66 135 <-- pitch;
|
||||
#X text 279 191 <-- cycle frequency (hundredths);
|
||||
#X text 354 222 <-- cycle depth (msec);
|
||||
#X text 431 298 <-- feedback (hundredths);
|
||||
#X text 89 6 VARIABLE DELAYS;
|
||||
#X obj 33 206 osc~ 0;
|
||||
#X text 46 32 This is a fuzzed FM generator going into a delay loop
|
||||
\, this time using a variable delay object (vd~). You can get several
|
||||
interesting effects this way. We have taken the precaution of clipping
|
||||
inside the loop to avoid instabilities. You can push the loop gain
|
||||
past 1 if you want \, it will just oscillate.;
|
||||
#X obj 32 409 output~;
|
||||
#X obj 226 335 vd~ G03-del;
|
||||
#X obj 361 443 delwrite~ G03-del 1000;
|
||||
#X obj 361 419 clip~ -1 1;
|
||||
#X text 387 481 updated for Pd version 0.37-1;
|
||||
#X connect 0 0 17 0;
|
||||
#X connect 1 0 3 0;
|
||||
#X connect 2 0 21 1;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 4 0 22 0;
|
||||
#X connect 5 0 8 0;
|
||||
#X connect 6 0 20 1;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 18 0;
|
||||
#X connect 10 0 12 1;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 0 0;
|
||||
#X connect 14 0 15 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 33 0;
|
||||
#X connect 17 0 19 0;
|
||||
#X connect 18 0 11 0;
|
||||
#X connect 19 0 23 0;
|
||||
#X connect 20 0 38 0;
|
||||
#X connect 21 0 26 0;
|
||||
#X connect 22 0 25 0;
|
||||
#X connect 23 0 20 0;
|
||||
#X connect 23 0 35 0;
|
||||
#X connect 23 0 35 1;
|
||||
#X connect 24 0 21 0;
|
||||
#X connect 25 0 24 0;
|
||||
#X connect 26 0 36 0;
|
||||
#X connect 33 0 12 0;
|
||||
#X connect 36 0 19 1;
|
||||
#X connect 38 0 37 0;
|
79
pd-0.44-2/doc/3.audio.examples/G04.control.blocksize.pd
Normal file
79
pd-0.44-2/doc/3.audio.examples/G04.control.blocksize.pd
Normal file
|
@ -0,0 +1,79 @@
|
|||
#N canvas 100 17 637 513 12;
|
||||
#N canvas 195 311 647 354 delay-writer 0;
|
||||
#X obj 86 220 inlet~;
|
||||
#X obj 86 326 outlet~;
|
||||
#X obj 392 197 block~ 1;
|
||||
#X obj 164 267 *~ 0.99;
|
||||
#X obj 87 272 +~;
|
||||
#X obj 165 221 inlet;
|
||||
#X text 80 7 Because of the feedback \, the delwrite~ has to be computed
|
||||
after the delread~. So we set the blocksize to 1 to minimize the resulting
|
||||
delay.;
|
||||
#X text 390 219 this object sets the;
|
||||
#X text 389 236 block size for audio;
|
||||
#X text 388 255 computations in this;
|
||||
#X obj 165 244 delread~ G04-del;
|
||||
#X obj 98 302 delwrite~ G04-del 1000;
|
||||
#X text 79 183 incoming;
|
||||
#X text 81 198 pulses;
|
||||
#X text 165 182 delay;
|
||||
#X text 166 197 time;
|
||||
#X text 388 273 window. Must be a;
|
||||
#X text 388 292 power of two.;
|
||||
#X text 77 60 The smaller the blocksize the more expensive the computations
|
||||
are \, so don't reduce it lower than you have to. Also \, it's a good
|
||||
idea to isolate the portion of the patch that requires the smaller
|
||||
block size \, and only run that portion that way. Here \, the pulses
|
||||
that excite the delay line are computed outside this window \, and
|
||||
the output level control as well.;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 3 0 4 1;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 4 0 11 0;
|
||||
#X connect 5 0 10 0;
|
||||
#X connect 10 0 3 0;
|
||||
#X restore 153 420 pd delay-writer;
|
||||
#X obj 283 384 expr 1000/$f1;
|
||||
#X obj 283 358 mtof;
|
||||
#X msg 153 355 1;
|
||||
#X msg 192 355 0;
|
||||
#X obj 153 254 metro 500;
|
||||
#X obj 283 304 random 60;
|
||||
#X obj 153 228 loadbang;
|
||||
#X obj 283 330 + 30;
|
||||
#X text 86 9 CONTROLLING DELAY WITH BLOCK~;
|
||||
#X text 299 420 <-- here is the delay loop;
|
||||
#X text 63 43 In situations where a delay read feeds back to a delay
|
||||
write \, the minimum possible delay you can achieve is one block \,
|
||||
which by default is 64 samples \, or 1.45 msec at 44100 Hz. You can
|
||||
shorten the minimum delay by changing the block size. Do this in a
|
||||
subpatch (open it to see how).;
|
||||
#X obj 153 449 output~;
|
||||
#X obj 153 387 vline~;
|
||||
#X text 371 487 updated for Pd version 0.37-1;
|
||||
#X text 61 124 Here we use this principle to make a harpisichord-like
|
||||
sound by sending pulses into a recirculating delay line (which imitates
|
||||
the travel of the wave up and down the harpsichord string.) This is
|
||||
related to Karplus-Strong synthesis \, but the idea is probably much
|
||||
older than their paper.;
|
||||
#X text 33 328 this makes;
|
||||
#X text 32 346 a rectangular;
|
||||
#X text 31 384 long.;
|
||||
#X text 409 366 length of delay line is;
|
||||
#X text 410 384 1000/(frequency);
|
||||
#X obj 192 329 del 1;
|
||||
#X text 32 364 pulse 1 msec;
|
||||
#X connect 0 0 12 0;
|
||||
#X connect 0 0 12 1;
|
||||
#X connect 1 0 0 1;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 13 0;
|
||||
#X connect 4 0 13 0;
|
||||
#X connect 5 0 3 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 5 0 21 0;
|
||||
#X connect 6 0 8 0;
|
||||
#X connect 7 0 5 0;
|
||||
#X connect 8 0 2 0;
|
||||
#X connect 13 0 0 0;
|
||||
#X connect 21 0 4 0;
|
79
pd-0.44-2/doc/3.audio.examples/G05.execution.order.pd
Normal file
79
pd-0.44-2/doc/3.audio.examples/G05.execution.order.pd
Normal file
|
@ -0,0 +1,79 @@
|
|||
#N canvas 100 17 683 605 12;
|
||||
#X floatatom 424 290 0 0 100 0 - - -;
|
||||
#X obj 59 404 +~;
|
||||
#X text 86 9 ORDER OF EXECUTION OF DELWRITE~ AND DELREAD~/VD~;
|
||||
#X text 42 29 If you're writing to and reading from a delay line \,
|
||||
you have to get the write sorted before the read or else you'll never
|
||||
get less than a block's delay. This patch compares a "wrong" flanger
|
||||
with a "right" one:;
|
||||
#X text 471 284 <-- delay in samples;
|
||||
#X obj 94 490 *~;
|
||||
#X obj 94 466 -~;
|
||||
#N canvas 0 0 600 400 delay-writer 0;
|
||||
#X obj 96 107 inlet~;
|
||||
#X obj 96 180 outlet~;
|
||||
#X obj 116 144 delwrite~ G05-d2 1000;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 0 0 2 0;
|
||||
#X restore 283 403 pd delay-writer;
|
||||
#N canvas 0 0 280 330 delay-reader 0;
|
||||
#X obj 96 107 inlet~;
|
||||
#X obj 89 267 outlet~;
|
||||
#X obj 112 163 inlet~;
|
||||
#X obj 89 237 +~;
|
||||
#X obj 112 198 vd~ G05-d2;
|
||||
#X connect 0 0 3 0;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 3 1;
|
||||
#X restore 282 431 pd delay-reader;
|
||||
#X obj 59 490 +~;
|
||||
#X obj 424 313 / 44.1;
|
||||
#X obj 59 534 output~;
|
||||
#X obj 135 490 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
|
||||
1;
|
||||
#X text 159 490 <-- off to hear left-hand side \; on to hear right
|
||||
hand side.;
|
||||
#X text 393 575 updated for Pd version 0.37-1;
|
||||
#X obj 424 337 pack 0 30;
|
||||
#N canvas 0 0 450 300 pulse 0;
|
||||
#X obj 64 197 outlet~;
|
||||
#X obj 63 93 phasor~ 50;
|
||||
#X obj 63 119 *~ 100;
|
||||
#X obj 63 144 clip~ 0.75 1.25;
|
||||
#X obj 64 170 cos~;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 0 0;
|
||||
#X restore 60 302 pd pulse;
|
||||
#X obj 81 354 delwrite~ G05-d1 1000;
|
||||
#X obj 82 381 vd~ G05-d1;
|
||||
#X obj 424 362 line~;
|
||||
#X text 44 96 To get them to go off in the correct order \, put the
|
||||
delread~ and vd~ objects in subpatches. The audio connections between
|
||||
the subpatches force the "reader" to be sorted after the "writer".
|
||||
DSP sorting in Pd follows the hierarchy of subpatches.;
|
||||
#X text 43 175 To hear the difference scroll the delay time between
|
||||
0 and 100 samples. The patch at left doesn't let you get below 64 samples
|
||||
\, but the patch at right can go all the way down to one sample.;
|
||||
#X text 45 241 You can use the same strategy to avoid picking up unwanted
|
||||
64-sample delays in send~/receive~ and throw~/catch~ pairs.;
|
||||
#X connect 0 0 10 0;
|
||||
#X connect 1 0 6 1;
|
||||
#X connect 1 0 9 0;
|
||||
#X connect 5 0 9 1;
|
||||
#X connect 6 0 5 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 6 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 9 0 11 1;
|
||||
#X connect 10 0 15 0;
|
||||
#X connect 12 0 5 1;
|
||||
#X connect 15 0 19 0;
|
||||
#X connect 16 0 1 0;
|
||||
#X connect 16 0 7 0;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 18 0 1 1;
|
||||
#X connect 19 0 8 1;
|
||||
#X connect 19 0 18 0;
|
114
pd-0.44-2/doc/3.audio.examples/G06.octave.doubler.pd
Normal file
114
pd-0.44-2/doc/3.audio.examples/G06.octave.doubler.pd
Normal file
|
@ -0,0 +1,114 @@
|
|||
#N canvas 110 17 775 614 12;
|
||||
#X obj 463 303 loadbang;
|
||||
#X obj 553 222 adc~ 1;
|
||||
#X obj 463 358 soundfiler;
|
||||
#X obj 31 394 output~;
|
||||
#X obj 554 269 tabwrite~ E03-table;
|
||||
#X msg 463 330 read ../sound/voice.wav E03-table;
|
||||
#X obj 58 83 fiddle~ 2048;
|
||||
#X obj 126 106 unpack;
|
||||
#X obj 126 130 moses 1;
|
||||
#X obj 199 108 mtof;
|
||||
#N canvas 0 0 446 202 /SUBPATCH/ 0;
|
||||
#X obj 261 30 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X obj 100 20 inlet~;
|
||||
#X obj 99 87 *~;
|
||||
#X obj 98 159 outlet~;
|
||||
#X text 381 181 corner;
|
||||
#X connect 0 0 2 1;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X coords 0 0 100 100 40 18 1;
|
||||
#X restore 77 329 pd;
|
||||
#N canvas 0 0 446 202 /SUBPATCH/ 0;
|
||||
#X obj 261 30 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 100 20 inlet~;
|
||||
#X obj 99 87 *~;
|
||||
#X obj 98 159 outlet~;
|
||||
#X text 381 181 corner;
|
||||
#X connect 0 0 2 1;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X coords 0 0 100 100 40 18 1;
|
||||
#X restore 31 329 pd;
|
||||
#N canvas 414 195 613 302 looper 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array E03-table 44103 float 0;
|
||||
#X coords 0 1.02 44103 -1.02 200 130 1;
|
||||
#X restore 349 22 graph;
|
||||
#X text 347 161 ---- 44103 samples ----;
|
||||
#X obj 35 77 +~ 1;
|
||||
#X obj 35 25 phasor~ 1;
|
||||
#X obj 35 50 *~ 44100;
|
||||
#X obj 35 106 tabread4~ E03-table;
|
||||
#X obj 35 132 outlet~;
|
||||
#X text 46 238 one-second sample reader loop. You can replace this
|
||||
with an adc~ if you want to go live.;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 2 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X restore 31 30 pd looper;
|
||||
#X text 547 309 re-read original sample;
|
||||
#X obj 565 246 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X text 584 244 <-- record a sample;
|
||||
#X text 152 314 on/off for original;
|
||||
#X text 123 330 <--and processed sounds;
|
||||
#X text 240 3 OCTAVE DOUBLING VIA VARIABLE COMB FILTER;
|
||||
#X obj 31 367 +~;
|
||||
#X obj 252 157 samplerate~;
|
||||
#X obj 199 156 t f b;
|
||||
#X obj 59 58 delwrite~ G06-del 100;
|
||||
#X obj 79 234 delread~ G06-del;
|
||||
#X obj 101 282 vd~ G06-del;
|
||||
#X obj 78 306 +~;
|
||||
#X obj 230 210 +;
|
||||
#X obj 199 131 expr 500/$f1;
|
||||
#X obj 230 262 line~;
|
||||
#X obj 230 239 pack 0 20;
|
||||
#X text 243 108 fundamental frequency;
|
||||
#X text 311 131 1/2 period \, in msec;
|
||||
#X text 286 201 estimate fiddle~ delay;
|
||||
#X text 491 592 updated for Pd version 0.37-1;
|
||||
#X text 159 401 We already saw how to use ring modulation to alias
|
||||
a pitched sound down one octave. Here we do the reverse: filter out
|
||||
all odd harmonics using a variable-delay comb filter tuned one octave
|
||||
above the incoming sound. We use two taps into the delay line. The
|
||||
fixed one (delread~) adjusts for the delayed output of fiddle~. The
|
||||
variable one (vd~) adds to this an additional delay equal to 1/2 the
|
||||
measured period of the incoming sound. THese two are added. Odd harmonics
|
||||
are 180 degrees out of phase at the two taps and cancel. Even harmonics
|
||||
get through - so the sound goes up an octave \, without denaturing
|
||||
the timbre as a speed-up would.;
|
||||
#X obj 252 183 expr 2048000/$f1;
|
||||
#X text 288 216 as one window (in msec);
|
||||
#X connect 0 0 5 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 2 7 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 1 9 0;
|
||||
#X connect 9 0 27 0;
|
||||
#X connect 10 0 19 1;
|
||||
#X connect 11 0 19 0;
|
||||
#X connect 12 0 6 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 12 0 22 0;
|
||||
#X connect 14 0 4 0;
|
||||
#X connect 19 0 3 0;
|
||||
#X connect 19 0 3 1;
|
||||
#X connect 20 0 35 0;
|
||||
#X connect 21 0 26 0;
|
||||
#X connect 21 1 20 0;
|
||||
#X connect 23 0 25 0;
|
||||
#X connect 24 0 25 1;
|
||||
#X connect 25 0 10 0;
|
||||
#X connect 26 0 29 0;
|
||||
#X connect 27 0 21 0;
|
||||
#X connect 28 0 24 0;
|
||||
#X connect 29 0 28 0;
|
||||
#X connect 35 0 26 1;
|
||||
#X connect 35 0 23 0;
|
80
pd-0.44-2/doc/3.audio.examples/G07.shaker.pd
Normal file
80
pd-0.44-2/doc/3.audio.examples/G07.shaker.pd
Normal file
|
@ -0,0 +1,80 @@
|
|||
#N canvas 159 89 808 531 12;
|
||||
#X obj 21 438 output~;
|
||||
#X obj 21 411 +~;
|
||||
#X obj 33 192 delwrite~ G07-del 30;
|
||||
#X obj 99 391 line~;
|
||||
#X obj 63 391 *~;
|
||||
#X obj 93 335 line~;
|
||||
#X obj 57 335 *~;
|
||||
#X obj 80 281 line~;
|
||||
#X obj 44 281 *~;
|
||||
#X obj 58 221 line~;
|
||||
#X obj 22 221 *~;
|
||||
#X text 51 8 THE "SHAKER";
|
||||
#X obj 279 86 + 1;
|
||||
#X obj 279 109 mod 4;
|
||||
#X obj 244 83 f;
|
||||
#X obj 284 160 random 1000;
|
||||
#X obj 244 135 t f b;
|
||||
#X obj 244 37 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X floatatom 347 34 5 10 1000 0 - - -;
|
||||
#X obj 244 242 route 0 1 2 3;
|
||||
#X obj 44 255 delread~ G07-del 30;
|
||||
#X obj 23 165 phasor~ 80;
|
||||
#X obj 57 309 delread~ G07-del 17;
|
||||
#X obj 63 365 delread~ G07-del 11;
|
||||
#X obj 347 59 * 4;
|
||||
#X obj 284 187 expr 2 * $f1/1000 - 0.7;
|
||||
#X floatatom 23 142 5 30 1000 0 - - -;
|
||||
#X obj 244 58 metro 50;
|
||||
#X obj 244 218 pack 0 0 200;
|
||||
#X text 23 118 frequency;
|
||||
#X text 225 17 on/off;
|
||||
#X text 344 13 time constant (msec);
|
||||
#X text 536 511 updated for Pd version 0.37-1;
|
||||
#X text 266 306 This is a time-varying comb filter \, combining four
|
||||
delayed copies of the input signal. The amplitude of each delayed copy
|
||||
varies randomly between -0.7 and +1.3. Each time the metronome goes
|
||||
off \, one of the four delay's gains is changed in sequence. The change
|
||||
occurs over the next four ticks of the metronome (so \, if the metronome
|
||||
ticks every 50 msec \, each message to a line~ has a second argument
|
||||
of 200.);
|
||||
#X text 268 424 Any collection of four gains for the four delayed copies
|
||||
of the signal (including the original) defines some sort of irregular
|
||||
comb filter. The peaks and valleys of the comb filter shift constantly
|
||||
as the gains change to new \, random values.;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 1 0 0 1;
|
||||
#X connect 3 0 4 1;
|
||||
#X connect 4 0 1 1;
|
||||
#X connect 5 0 6 1;
|
||||
#X connect 6 0 1 1;
|
||||
#X connect 7 0 8 1;
|
||||
#X connect 8 0 1 1;
|
||||
#X connect 9 0 10 1;
|
||||
#X connect 10 0 1 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 14 1;
|
||||
#X connect 14 0 12 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 15 0 25 0;
|
||||
#X connect 16 0 28 0;
|
||||
#X connect 16 1 15 0;
|
||||
#X connect 17 0 27 0;
|
||||
#X connect 18 0 24 0;
|
||||
#X connect 18 0 27 1;
|
||||
#X connect 19 0 9 0;
|
||||
#X connect 19 1 7 0;
|
||||
#X connect 19 2 5 0;
|
||||
#X connect 19 3 3 0;
|
||||
#X connect 20 0 8 0;
|
||||
#X connect 21 0 2 0;
|
||||
#X connect 21 0 10 0;
|
||||
#X connect 22 0 6 0;
|
||||
#X connect 23 0 4 0;
|
||||
#X connect 24 0 28 2;
|
||||
#X connect 25 0 28 1;
|
||||
#X connect 26 0 21 0;
|
||||
#X connect 27 0 14 0;
|
||||
#X connect 28 0 19 0;
|
253
pd-0.44-2/doc/3.audio.examples/G08.reverb.pd
Normal file
253
pd-0.44-2/doc/3.audio.examples/G08.reverb.pd
Normal file
|
@ -0,0 +1,253 @@
|
|||
#N canvas 390 121 616 352 12;
|
||||
#N canvas 0 0 499 321 test-input 0;
|
||||
#X obj 75 253 outlet~;
|
||||
#X obj 74 201 -~;
|
||||
#X obj 74 177 *~ 3;
|
||||
#X obj 111 183 *~ 2;
|
||||
#X floatatom 74 81 0 0 0 0 - - -;
|
||||
#X obj 74 153 clip~ 0 0.667;
|
||||
#X text 124 80 <-- pitch;
|
||||
#X obj 74 105 mtof;
|
||||
#X msg 195 142 1;
|
||||
#X obj 74 225 *~;
|
||||
#X obj 74 129 phasor~ 0;
|
||||
#X obj 195 190 tabread4~ dbtorms;
|
||||
#X obj 195 166 adsr 100 100 2000 0 2000;
|
||||
#X obj 73 54 inlet;
|
||||
#N canvas 0 0 600 392 conversion-tables 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array dbtorms 123 float 1;
|
||||
#A 0 0 0 1.25893e-05 1.41254e-05 1.58489e-05 1.77828e-05 1.99526e-05
|
||||
2.23872e-05 2.51189e-05 2.81838e-05 3.16228e-05 3.54813e-05 3.98107e-05
|
||||
4.46684e-05 5.01187e-05 5.62341e-05 6.30957e-05 7.07946e-05 7.94328e-05
|
||||
8.91251e-05 1e-04 0.000112202 0.000125893 0.000141254 0.000158489 0.000177828
|
||||
0.000199526 0.000223872 0.000251189 0.000281838 0.000316228 0.000354813
|
||||
0.000398107 0.000446684 0.000501187 0.000562341 0.000630957 0.000707946
|
||||
0.000794328 0.000891251 0.001 0.00112202 0.00125893 0.00141254 0.00158489
|
||||
0.00177828 0.00199526 0.00223872 0.00251189 0.00281838 0.00316228 0.00354813
|
||||
0.00398107 0.00446684 0.00501187 0.00562341 0.00630957 0.00707946 0.00794328
|
||||
0.00891251 0.01 0.0112202 0.0125893 0.0141254 0.0158489 0.0177828 0.0199526
|
||||
0.0223872 0.0251189 0.0281838 0.0316228 0.0354813 0.0398107 0.0446684
|
||||
0.0501187 0.0562341 0.0630957 0.0707946 0.0794328 0.0891251 0.1 0.112202
|
||||
0.125893 0.141254 0.158489 0.177828 0.199526 0.223872 0.251189 0.281838
|
||||
0.316228 0.354813 0.398107 0.446684 0.501187 0.562341 0.630957 0.707946
|
||||
0.794328 0.891251 1 1.12202 1.25893 1.41254 1.58489 1.77828 1.99526
|
||||
2.23872 2.51189 2.81838 3.16228 3.54813 3.98107 4.46684 5.01187 5.62341
|
||||
6.30957 7.07946 7.94328 8.91251 10 11.2202 12.5893;
|
||||
#X coords 0 10 123 0 200 100 1;
|
||||
#X restore 70 45 graph;
|
||||
#X text 272 138 0;
|
||||
#X text 274 38 10;
|
||||
#X text 89 148 ------ 123 samples ------;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array mtof 130 float 1;
|
||||
#A 0 8.1758 8.66196 9.17702 9.72272 10.3009 10.9134 11.5623 12.2499
|
||||
12.9783 13.75 14.5676 15.4339 16.3516 17.3239 18.354 19.4454 20.6017
|
||||
21.8268 23.1247 24.4997 25.9565 27.5 29.1352 30.8677 32.7032 34.6478
|
||||
36.7081 38.8909 41.2034 43.6535 46.2493 48.9994 51.9131 55 58.2705
|
||||
61.7354 65.4064 69.2957 73.4162 77.7817 82.4069 87.3071 92.4986 97.9989
|
||||
103.826 110 116.541 123.471 130.813 138.591 146.832 155.563 164.814
|
||||
174.614 184.997 195.998 207.652 220 233.082 246.942 261.626 277.183
|
||||
293.665 311.127 329.628 349.228 369.994 391.995 415.305 440 466.164
|
||||
493.883 523.251 554.365 587.33 622.254 659.255 698.456 739.989 783.991
|
||||
830.609 880 932.328 987.767 1046.5 1108.73 1174.66 1244.51 1318.51
|
||||
1396.91 1479.98 1567.98 1661.22 1760 1864.66 1975.53 2093 2217.46 2349.32
|
||||
2489.02 2637.02 2793.83 2959.96 3135.96 3322.44 3520 3729.31 3951.07
|
||||
4186.01 4434.92 4698.64 4978.03 5274.04 5587.65 5919.91 6271.93 6644.88
|
||||
7040 7458.62 7902.13 8372.02 8869.84 9397.27 9956.06 10548.1 11175.3
|
||||
11839.8 12543.9 13289.8 14080;
|
||||
#X coords 0 12000 130 0 200 100 1;
|
||||
#X restore 77 222 graph;
|
||||
#X text 87 330 ------ 130 samples ------;
|
||||
#X text 286 315 0;
|
||||
#X text 288 215 12000;
|
||||
#N canvas 244 212 672 338 regenerate-tables 0;
|
||||
#X msg 415 84 bang;
|
||||
#X obj 415 113 t b b;
|
||||
#X obj 474 177 f;
|
||||
#X obj 512 177 + 1;
|
||||
#X msg 483 147 0;
|
||||
#X obj 415 142 until;
|
||||
#X obj 474 211 t f f;
|
||||
#X obj 414 238 mtof;
|
||||
#X obj 405 202 sel 129;
|
||||
#X obj 413 264 tabwrite mtof;
|
||||
#X obj 35 227 moses 2;
|
||||
#X msg 19 76 bang;
|
||||
#X obj 19 105 t b b;
|
||||
#X obj 90 166 f;
|
||||
#X obj 128 166 + 1;
|
||||
#X msg 112 138 0;
|
||||
#X obj 19 134 until;
|
||||
#X obj 11 194 sel 122;
|
||||
#X msg 35 258 0;
|
||||
#X obj 79 259 dbtorms;
|
||||
#X obj 90 194 t f f;
|
||||
#X obj 35 291 tabwrite dbtorms;
|
||||
#X text 18 49 bang to recalculate dbtorms table;
|
||||
#X text 356 50 bang to recalculate the mtof table;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 1 4 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 2 0 8 0;
|
||||
#X connect 3 0 2 1;
|
||||
#X connect 4 0 2 1;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 6 1 9 1;
|
||||
#X connect 7 0 9 0;
|
||||
#X connect 8 0 5 1;
|
||||
#X connect 10 0 18 0;
|
||||
#X connect 10 1 19 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 16 0;
|
||||
#X connect 12 1 15 0;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 13 0 17 0;
|
||||
#X connect 13 0 20 0;
|
||||
#X connect 14 0 13 1;
|
||||
#X connect 15 0 13 1;
|
||||
#X connect 16 0 13 0;
|
||||
#X connect 17 0 16 1;
|
||||
#X connect 18 0 21 0;
|
||||
#X connect 19 0 21 0;
|
||||
#X connect 20 0 10 0;
|
||||
#X connect 20 1 21 1;
|
||||
#X restore 375 76 pd regenerate-tables;
|
||||
#X restore 260 101 pd conversion-tables;
|
||||
#X connect 1 0 9 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 1 1;
|
||||
#X connect 4 0 7 0;
|
||||
#X connect 4 0 8 0;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 8 0 12 0;
|
||||
#X connect 9 0 0 0;
|
||||
#X connect 10 0 3 0;
|
||||
#X connect 10 0 5 0;
|
||||
#X connect 11 0 9 1;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 13 0 4 0;
|
||||
#X restore 39 114 pd test-input;
|
||||
#X text 135 6 REVERBERATOR;
|
||||
#X floatatom 39 87 0 10 130 0 - - -;
|
||||
#X text 76 87 <-- pitch;
|
||||
#N canvas 96 169 958 610 reverb 0;
|
||||
#X obj 13 19 inlet~;
|
||||
#X obj 13 43 reverb-echo echo-del1 5.43216;
|
||||
#X obj 277 215 +~;
|
||||
#X obj 319 215 +~;
|
||||
#X obj 67 276 outlet~;
|
||||
#X obj 137 276 outlet~;
|
||||
#X obj 238 334 +~;
|
||||
#X obj 347 335 +~;
|
||||
#X obj 280 334 -~;
|
||||
#X obj 387 334 -~;
|
||||
#X obj 237 390 +~;
|
||||
#X obj 281 391 +~;
|
||||
#X obj 325 392 -~;
|
||||
#X obj 364 392 -~;
|
||||
#X obj 324 474 *~ 0;
|
||||
#X obj 282 473 *~ 0;
|
||||
#X obj 237 472 *~ 0;
|
||||
#X obj 365 475 *~ 0;
|
||||
#X obj 632 365 inlet;
|
||||
#X obj 632 437 / 200;
|
||||
#X obj 632 389 min 100;
|
||||
#X obj 632 412 max 0;
|
||||
#X obj 238 583 delwrite~ loop-del1 60;
|
||||
#X obj 283 561 delwrite~ loop-del2 71.9345;
|
||||
#X obj 364 515 delwrite~ loop-del4 95.945;
|
||||
#X obj 298 154 delread~ loop-del1 60;
|
||||
#X obj 340 179 delread~ loop-del2 71.9345;
|
||||
#X obj 408 233 delread~ loop-del4 95.945;
|
||||
#X obj 386 208 delread~ loop-del3 86.7545;
|
||||
#X obj 325 538 delwrite~ loop-del3 86.7545;
|
||||
#X obj 13 67 reverb-echo echo-del2 8.45346;
|
||||
#X obj 13 91 reverb-echo echo-del3 13.4367;
|
||||
#X obj 13 115 reverb-echo echo-del4 21.5463;
|
||||
#X obj 13 139 reverb-echo echo-del5 34.3876;
|
||||
#X obj 13 163 reverb-echo echo-del6 55.5437;
|
||||
#X text 286 42 "early echo" generators \, which also increase echo
|
||||
density. Open one to see what they do.;
|
||||
#X text 300 115 Get the outputs of the recirculating delays. Add the
|
||||
inputs to two of them.;
|
||||
#X text 420 313 Do a power-conserving mix of them in pairs. First combine
|
||||
(1 \, 2) and (3 \, 4)...;
|
||||
#X text 402 385 ...then (1 \, 3) and (2 \, 4);
|
||||
#X text 446 469 The two mixing stages have a combined gain of 2 \,
|
||||
so the recirculation gain is limited to 0.5.;
|
||||
#X text 586 542 Put the signals back into the;
|
||||
#X text 584 557 recirculating delays.;
|
||||
#X text 29 296 Tap outputs from here.;
|
||||
#X text 708 381 0 to 100 to control reverb;
|
||||
#X text 719 396 time.;
|
||||
#X text 691 364 feedback gain on a scale of;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 30 0;
|
||||
#X connect 1 1 30 1;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 2 0 8 0;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 3 0 6 1;
|
||||
#X connect 3 0 8 1;
|
||||
#X connect 6 0 10 0;
|
||||
#X connect 6 0 12 0;
|
||||
#X connect 7 0 12 1;
|
||||
#X connect 7 0 10 1;
|
||||
#X connect 8 0 11 0;
|
||||
#X connect 8 0 13 0;
|
||||
#X connect 9 0 11 1;
|
||||
#X connect 9 0 13 1;
|
||||
#X connect 10 0 16 0;
|
||||
#X connect 11 0 15 0;
|
||||
#X connect 12 0 14 0;
|
||||
#X connect 13 0 17 0;
|
||||
#X connect 14 0 29 0;
|
||||
#X connect 15 0 23 0;
|
||||
#X connect 16 0 22 0;
|
||||
#X connect 17 0 24 0;
|
||||
#X connect 18 0 20 0;
|
||||
#X connect 19 0 17 1;
|
||||
#X connect 19 0 16 1;
|
||||
#X connect 19 0 15 1;
|
||||
#X connect 19 0 14 1;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 21 0 19 0;
|
||||
#X connect 25 0 2 1;
|
||||
#X connect 26 0 3 1;
|
||||
#X connect 27 0 7 1;
|
||||
#X connect 27 0 9 1;
|
||||
#X connect 28 0 7 0;
|
||||
#X connect 28 0 9 0;
|
||||
#X connect 30 0 31 0;
|
||||
#X connect 30 1 31 1;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 31 1 32 1;
|
||||
#X connect 32 0 33 0;
|
||||
#X connect 32 1 33 1;
|
||||
#X connect 33 0 34 0;
|
||||
#X connect 33 1 34 1;
|
||||
#X connect 34 0 2 0;
|
||||
#X connect 34 1 3 0;
|
||||
#X restore 58 179 pd reverb;
|
||||
#X floatatom 134 155 0 0 100 0 - - -;
|
||||
#X text 169 155 <-- feedback (100 maximum);
|
||||
#X obj 38 206 output~;
|
||||
#X text 342 317 updated for Pd version 0.37-1;
|
||||
#X text 149 180 <-- open to see how it works;
|
||||
#X text 34 269 Many improvements are possible. Much better reverberators
|
||||
can be found in the "extras" library.;
|
||||
#X text 29 30 Here is a simple recirculating reverberator. "Feedback"
|
||||
should be between 0 and 100 - if 100 \, the reverberation lasts forever.
|
||||
;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 0 0 7 0;
|
||||
#X connect 2 0 0 0;
|
||||
#X connect 4 0 7 0;
|
||||
#X connect 4 1 7 1;
|
||||
#X connect 5 0 4 1;
|
162
pd-0.44-2/doc/3.audio.examples/G09.pitchshift.pd
Normal file
162
pd-0.44-2/doc/3.audio.examples/G09.pitchshift.pd
Normal file
|
@ -0,0 +1,162 @@
|
|||
#N canvas 93 36 964 554 12;
|
||||
#X floatatom 19 87 0 0 0 0 - - -;
|
||||
#X obj 82 358 *~;
|
||||
#X obj 205 295 line~;
|
||||
#X floatatom 237 112 0 0 0 0 - - -;
|
||||
#X text 68 9 PITCH SHIFTER;
|
||||
#X obj 205 269 pack 0 200;
|
||||
#X obj 237 86 r window;
|
||||
#X obj 19 61 r transpose;
|
||||
#X obj 19 143 exp;
|
||||
#X floatatom 19 169 6 0 0 0 - - -;
|
||||
#X obj 19 259 /;
|
||||
#X obj 146 189 * 0.001;
|
||||
#X obj 314 365 line~;
|
||||
#X obj 314 340 pack 0 200;
|
||||
#X floatatom 314 289 0 0 0 0 - - -;
|
||||
#X obj 314 263 r delay;
|
||||
#X obj 82 384 +~;
|
||||
#X obj 19 410 cos~;
|
||||
#X obj 19 437 *~;
|
||||
#X obj 19 466 +~;
|
||||
#X obj 106 317 wrap~;
|
||||
#X obj 251 360 *~;
|
||||
#X obj 251 393 +~;
|
||||
#X obj 188 420 cos~;
|
||||
#X obj 188 447 *~;
|
||||
#X msg 492 56 \; transpose 0 \; window 100 \; delay 0;
|
||||
#X obj 492 30 loadbang;
|
||||
#X obj 146 216 t b f;
|
||||
#X floatatom 19 285 6 0 0 0 - - -;
|
||||
#X obj 106 290 +~ 0.5;
|
||||
#X obj 19 358 -~ 0.5;
|
||||
#X obj 19 384 *~ 0.5;
|
||||
#X obj 188 359 -~ 0.5;
|
||||
#X obj 188 392 *~ 0.5;
|
||||
#X obj 19 196 - 1;
|
||||
#X obj 19 117 * 0.05776;
|
||||
#X obj 19 222 * -1;
|
||||
#X text 53 86 <-- transposition;
|
||||
#X text 96 99 (halftones);
|
||||
#X text 82 163 speed;
|
||||
#X text 81 177 change;
|
||||
#X text 281 111 <--window (msec);
|
||||
#X text 54 252 tape head;
|
||||
#N canvas 0 0 612 637 test-input 0;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array array1 155948 float 0;
|
||||
#X coords 0 1 155947 -1 200 150 1;
|
||||
#X restore 150 141 graph;
|
||||
#X obj 139 518 tabread4~ array1;
|
||||
#X obj 139 333 r totsamps;
|
||||
#X obj 139 413 /;
|
||||
#X obj 139 465 *~ 0;
|
||||
#X obj 139 439 phasor~ 0;
|
||||
#X obj 139 492 +~ 1;
|
||||
#X msg 139 386 44100;
|
||||
#X obj 139 360 t b f;
|
||||
#X obj 182 469 r totsamps;
|
||||
#X text 153 538 sample loop for;
|
||||
#X text 153 555 test signal;
|
||||
#X obj 162 30 loadbang;
|
||||
#X obj 139 590 outlet~;
|
||||
#X obj 393 169 r readfile;
|
||||
#X obj 393 199 symbol;
|
||||
#X msg 392 228 read -resize \$1 array1;
|
||||
#X obj 392 256 soundfiler;
|
||||
#X obj 392 284 s totsamps;
|
||||
#X msg 161 64 \; readfile ../sound/bell.aiff;
|
||||
#X connect 1 0 13 0;
|
||||
#X connect 2 0 8 0;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 6 0;
|
||||
#X connect 5 0 4 0;
|
||||
#X connect 6 0 1 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 8 1 3 1;
|
||||
#X connect 9 0 4 1;
|
||||
#X connect 12 0 19 0;
|
||||
#X connect 14 0 15 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 17 0 18 0;
|
||||
#X restore 264 11 pd test-input;
|
||||
#X text 425 153 This is a classic rotating-tape-head style pitch shifter
|
||||
using the vd~ variable delay object. Ther are two moving tape heads
|
||||
\, each of which is loudest at the middle of its trajectory \, and
|
||||
enveloped out at the moment it has to jump back (or forward) to start
|
||||
another scratch. Most of the brain work is in computing how fast the
|
||||
tape heads have to move to get the desired transposition.;
|
||||
#X text 425 272 The "window size" is the total trajectory of the read
|
||||
points in the delay line \, in milliseconds. The delay times are controlled
|
||||
by a phasor~ object. The second delay time \, 180 degrees out of phase
|
||||
from the first one \, is computed using the "wrap" object.;
|
||||
#X text 423 362 The "window size" is the total trajectory of the read
|
||||
points in the delay line \, in milliseconds. The delay times are controlled
|
||||
by a phasor~ object. The second delay time \, 180 degrees out of phase
|
||||
from the first one \, is computed using the "wrap" object.;
|
||||
#X text 422 454 The cos~ objects compute the fadein and fadeout of
|
||||
the two delay line outputs. They each traverse the positive half of
|
||||
the cosine waveform (phase -0.25 to +0.25) over the time the phase
|
||||
goes from one end to the other.;
|
||||
#X obj 19 493 output~;
|
||||
#X obj 19 316 phasor~;
|
||||
#X text 689 534 updated for Pd version 0.37-1;
|
||||
#X obj 314 316 max 1.5;
|
||||
#X text 317 222 delay;
|
||||
#X text 314 240 (msec);
|
||||
#X obj 237 139 max 1;
|
||||
#X text 55 265 rotation freq;
|
||||
#X obj 82 410 vd~ G09-del;
|
||||
#X obj 251 422 vd~ G09-del;
|
||||
#X obj 264 42 delwrite~ G09-del 5000;
|
||||
#X connect 0 0 35 0;
|
||||
#X connect 1 0 16 0;
|
||||
#X connect 2 0 1 1;
|
||||
#X connect 2 0 21 1;
|
||||
#X connect 3 0 54 0;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 6 0 3 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 34 0;
|
||||
#X connect 10 0 28 0;
|
||||
#X connect 11 0 27 0;
|
||||
#X connect 12 0 16 1;
|
||||
#X connect 12 0 22 1;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 14 0 51 0;
|
||||
#X connect 15 0 14 0;
|
||||
#X connect 16 0 56 0;
|
||||
#X connect 17 0 18 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 19 0 48 0;
|
||||
#X connect 19 0 48 1;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 20 0 32 0;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 22 0 57 0;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 24 0 19 1;
|
||||
#X connect 26 0 25 0;
|
||||
#X connect 27 0 10 0;
|
||||
#X connect 27 1 10 1;
|
||||
#X connect 28 0 49 0;
|
||||
#X connect 29 0 20 0;
|
||||
#X connect 30 0 31 0;
|
||||
#X connect 31 0 17 0;
|
||||
#X connect 32 0 33 0;
|
||||
#X connect 33 0 23 0;
|
||||
#X connect 34 0 36 0;
|
||||
#X connect 35 0 8 0;
|
||||
#X connect 36 0 10 0;
|
||||
#X connect 43 0 58 0;
|
||||
#X connect 49 0 1 0;
|
||||
#X connect 49 0 30 0;
|
||||
#X connect 49 0 29 0;
|
||||
#X connect 51 0 13 0;
|
||||
#X connect 54 0 11 0;
|
||||
#X connect 54 0 5 0;
|
||||
#X connect 56 0 18 1;
|
||||
#X connect 57 0 24 1;
|
185
pd-0.44-2/doc/3.audio.examples/H01.low-pass.pd
Normal file
185
pd-0.44-2/doc/3.audio.examples/H01.low-pass.pd
Normal file
|
@ -0,0 +1,185 @@
|
|||
#N canvas 97 42 601 612 12;
|
||||
#X obj 72 411 mtof;
|
||||
#X floatatom 72 388 5 0 0 0 - #0-pit -;
|
||||
#X obj 41 542 output~;
|
||||
#X obj 41 457 lop~;
|
||||
#X obj 42 354 noise~;
|
||||
#X text 124 387 <-- cutoff (pitch units);
|
||||
#X text 135 434 <-- cutoff (Hertz);
|
||||
#X floatatom 72 436 5 0 0 0 - - -;
|
||||
#X text 348 582 updated for Pd version 0.39;
|
||||
#X text 88 459 low-pass filter;
|
||||
#X obj 130 535 tabwrite~ H01-graph;
|
||||
#X obj 130 510 metro 250;
|
||||
#X obj 130 490 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 148 487 graphing on/off;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array H01-graph 882 float 3;
|
||||
#A 0 -0.107788 -0.0695636 -0.0991016 -0.104581 -0.0683972 -0.0547128
|
||||
-0.0857414 -0.0731684 -0.0892636 -0.115914 -0.0935128 -0.0572466 -0.0387586
|
||||
-0.0429956 -0.03826 -0.0628797 -0.0383263 -0.0720175 -0.0923909 -0.0707558
|
||||
-0.0792164 -0.102187 -0.0888189 -0.119908 -0.083863 -0.0677126 -0.0554309
|
||||
-0.044719 -0.0248649 -0.0482707 -0.0692472 -0.103905 -0.101273 -0.117807
|
||||
-0.100956 -0.0905779 -0.0676211 -0.0299763 -0.0190183 0.00623894 -0.000664497
|
||||
0.0291359 0.0310484 0.0412564 0.0375735 0.0676889 0.0348717 0.00747152
|
||||
0.0416666 0.0529021 0.0418099 0.0405759 0.0303367 -0.00428127 0.0140712
|
||||
-0.0111072 0.0243947 -0.0104408 -0.0142505 -0.0287291 -0.0119835 0.00876151
|
||||
-0.0281321 -0.0325635 -0.0618363 -0.0379124 -0.0447592 -0.0507954 -0.0403398
|
||||
-0.0277581 -0.00226383 0.000989536 -0.0323217 -0.0164512 -0.0156964
|
||||
-0.0436928 -0.045223 -0.0706908 -0.0382667 -0.00177098 0.0290649 0.0149072
|
||||
0.0483574 0.0453535 0.0100187 -0.00270613 0.0298578 0.0470317 0.0301263
|
||||
0.0478455 0.0134859 0.0488288 0.0766369 0.0916206 0.11869 0.0944563
|
||||
0.102745 0.086215 0.0845207 0.0662227 0.0609466 0.0952278 0.0771313
|
||||
0.103073 0.101067 0.0915918 0.100309 0.0651311 0.0553397 0.0623315
|
||||
0.050316 0.0844677 0.0996978 0.0715106 0.084598 0.0947672 0.115172
|
||||
0.134093 0.118854 0.106047 0.120693 0.0961966 0.0571329 0.0854602 0.084371
|
||||
0.0538877 0.0744577 0.0563968 0.0753962 0.0748331 0.0605493 0.0795627
|
||||
0.0600295 0.0432455 0.0582205 0.0920203 0.0640656 0.0253824 -0.008527
|
||||
-0.0243436 -0.0588714 -0.0239946 0.00784105 0.0119875 0.0161209 0.00780566
|
||||
0.00216991 -0.0288565 -0.0521791 -0.0658445 -0.0868191 -0.0673713 -0.0889776
|
||||
-0.0546807 -0.0256506 -0.0375237 -0.0118962 -0.0477717 -0.0384217 -0.0385089
|
||||
-0.0696784 -0.098759 -0.121121 -0.127174 -0.157189 -0.121443 -0.0989412
|
||||
-0.0615983 -0.0711882 -0.0760313 -0.0566161 -0.056104 -0.0875121 -0.0734271
|
||||
-0.037525 -0.0681574 -0.0689616 -0.0900591 -0.0574559 -0.04051 -0.0333117
|
||||
-0.0260634 -0.0202531 -0.0302473 -0.0346772 -0.052936 -0.0798849 -0.0780231
|
||||
-0.111591 -0.112165 -0.129226 -0.11253 -0.138539 -0.122338 -0.138645
|
||||
-0.132606 -0.112523 -0.139122 -0.169654 -0.132431 -0.136376 -0.130106
|
||||
-0.110972 -0.113595 -0.131592 -0.141568 -0.108734 -0.075847 -0.0711363
|
||||
-0.0525791 -0.0216604 -0.0196736 -0.0186081 -0.0186695 -0.00602199
|
||||
0.0257979 0.0132076 0.0225488 0.00748564 0.0165994 0.00166184 -0.00116405
|
||||
0.0028765 0.01807 0.0157059 0.0473739 0.0708991 0.0862786 0.0650413
|
||||
0.038138 0.015989 0.0521245 0.0605891 0.0431341 0.00429233 0.028138
|
||||
0.00477928 0.00181729 -0.028107 -0.0360127 -0.00712468 -0.0312668 -0.0523252
|
||||
-0.0479352 -0.0513783 -0.0250772 -0.0142933 -0.047864 -0.0252179 -0.0219197
|
||||
0.0153334 0.0518051 0.082624 0.0535017 0.0535462 0.0506847 0.0717359
|
||||
0.0774448 0.0591473 0.0602611 0.0708395 0.0654832 0.0261038 0.0107588
|
||||
0.00770543 0.0203729 0.033363 0.029335 0.0483838 0.0607855 0.0245724
|
||||
0.0550305 0.0593506 0.0753188 0.081294 0.096557 0.117197 0.105438 0.111979
|
||||
0.0953627 0.0978146 0.084516 0.0952146 0.117297 0.0851524 0.0863281
|
||||
0.049295 0.0757788 0.0866482 0.0738062 0.0984422 0.0885168 0.116305
|
||||
0.0949217 0.0562471 0.0898681 0.0643755 0.0681146 0.0863296 0.0516047
|
||||
0.0595782 0.0605373 0.0295923 0.0568693 0.0749412 0.0804035 0.108818
|
||||
0.0786603 0.0506026 0.0129134 0.0381891 0.0305477 0.0364073 0.0411764
|
||||
0.0721042 0.0629199 0.03039 0.0474877 0.0100055 0.0283331 0.0424028
|
||||
0.0700528 0.0932837 0.116089 0.146493 0.171112 0.198628 0.1636 0.135356
|
||||
0.164266 0.144544 0.132615 0.128501 0.129495 0.141165 0.145633 0.141941
|
||||
0.170706 0.193988 0.204823 0.228202 0.219125 0.204054 0.227319 0.231326
|
||||
0.230171 0.204664 0.230591 0.189557 0.202459 0.184563 0.212896 0.202201
|
||||
0.221436 0.214395 0.195221 0.209657 0.214416 0.202139 0.222888 0.237836
|
||||
0.245874 0.22457 0.194835 0.159835 0.142986 0.120742 0.119331 0.147719
|
||||
0.17693 0.157802 0.153323 0.151851 0.155677 0.148854 0.139333 0.145233
|
||||
0.166518 0.140436 0.150237 0.126701 0.135908 0.166416 0.15391 0.152768
|
||||
0.181048 0.149057 0.136385 0.1213 0.144767 0.113465 0.0980506 0.0852771
|
||||
0.106682 0.130461 0.10524 0.0793894 0.07123 0.0447812 0.0792345 0.0479509
|
||||
0.0700904 0.0308896 0.0279068 0.0312166 0.010152 -0.00943106 0.0010242
|
||||
-0.00752998 0.0143407 0.0027725 0.033508 0.0621824 0.0643498 0.0827609
|
||||
0.113321 0.11629 0.139206 0.101752 0.0988734 0.107286 0.128068 0.14154
|
||||
0.148363 0.124029 0.0968996 0.127442 0.100244 0.0940884 0.0805303 0.103963
|
||||
0.0874826 0.0588413 0.0720198 0.0853478 0.0902383 0.0788942 0.0475014
|
||||
0.0707652 0.0384297 0.0538394 0.0763012 0.0483987 0.0713554 0.0473328
|
||||
0.0415702 0.0532321 0.0475937 0.0208587 0.0030926 0.00438177 -0.0204396
|
||||
-0.00825569 0.0180096 0.0456204 0.0765333 0.0938012 0.110089 0.115665
|
||||
0.13934 0.144259 0.155082 0.164549 0.192087 0.159342 0.176142 0.149727
|
||||
0.174968 0.170935 0.134127 0.123663 0.11653 0.113447 0.102327 0.0764594
|
||||
0.0887578 0.079355 0.0692447 0.0727442 0.0913222 0.115159 0.137636
|
||||
0.154978 0.176904 0.156243 0.13039 0.104399 0.0853428 0.0666318 0.0615526
|
||||
0.0907602 0.0502914 0.0434091 0.00788628 -0.0191843 -0.0395026 -0.0596938
|
||||
-0.0723036 -0.0806951 -0.0861116 -0.0864571 -0.0488058 -0.0711986 -0.0797166
|
||||
-0.0688114 -0.0318625 -0.0673463 -0.0444878 -0.0250519 -0.024727 -0.0310858
|
||||
-0.00561093 -0.0207001 -0.0340927 -0.0551734 -0.0817888 -0.0705976
|
||||
-0.0835859 -0.0866976 -0.0565736 -0.0797509 -0.0968247 -0.0655236 -0.0760219
|
||||
-0.0670947 -0.0342146 -0.0274503 -0.0263804 -0.0317333 -0.039663 -0.0119034
|
||||
-0.046866 -0.0359958 -0.0318836 -0.0499625 -0.0574402 -0.029796 0.0028338
|
||||
-0.0262898 -0.041154 -0.0473188 -0.0255545 -0.058172 -0.0601881 -0.0914168
|
||||
-0.102286 -0.135733 -0.13837 -0.13175 -0.139201 -0.160906 -0.136196
|
||||
-0.11435 -0.073056 -0.0694626 -0.0599314 -0.0349573 -0.00661064 -0.0128436
|
||||
-0.0368892 -0.00783622 -0.0285016 -0.0257515 -0.000656539 0.000578916
|
||||
0.00997914 0.0309158 0.00448781 -0.0276183 -0.00975017 -0.0431335 -0.0420573
|
||||
-0.0318631 -0.0461821 -0.0493957 -0.0468264 -0.0278063 -0.0239267 -0.0240269
|
||||
-0.0446192 -0.0791041 -0.0634024 -0.0949552 -0.122094 -0.130089 -0.110653
|
||||
-0.07832 -0.0717672 -0.0448359 -0.0454325 -0.075843 -0.0655465 -0.0499949
|
||||
-0.0848139 -0.107986 -0.0831531 -0.0721088 -0.103859 -0.0650817 -0.0753315
|
||||
-0.0991717 -0.072808 -0.0810555 -0.0679525 -0.0566175 -0.0827188 -0.0822597
|
||||
-0.0497494 -0.0154982 -0.00131288 0.0318942 -0.00235687 -0.0344436
|
||||
-0.0249813 -0.00212817 0.0348011 0.0207401 0.00218581 -0.0346692 -0.000621661
|
||||
-0.0106329 -0.0261485 0.00856931 -0.0171581 0.0152674 0.0466481 0.0456615
|
||||
0.0728295 0.0601254 0.0639082 0.0949887 0.09166 0.118261 0.120631 0.120818
|
||||
0.150657 0.154468 0.134964 0.0965974 0.0907992 0.069314 0.0611587 0.0707784
|
||||
0.0627047 0.0717109 0.0659585 0.0296832 0.0352495 0.00141861 0.010894
|
||||
0.0426848 0.0419218 0.0141017 0.0413311 0.037778 0.0154291 0.0312945
|
||||
0.00510286 -0.00271059 -0.0291284 -0.045397 -0.0762688 -0.0445058 -0.057707
|
||||
-0.0779557 -0.0735523 -0.0922772 -0.0727918 -0.0429784 -0.00911861
|
||||
-0.0379944 -0.0658339 -0.0784915 -0.0792981 -0.0453014 -0.0197867 -0.00123178
|
||||
0.000799734 -0.00204599 0.0349492 0.0623098 0.0770006 0.0882193 0.0484045
|
||||
0.0760622 0.0945022 0.0567368 0.0286078 0.00189384 0.0315546 0.0374527
|
||||
0.0395075 0.0591211 0.0415475 0.0732162 0.0588977 0.0850963 0.0465228
|
||||
0.0698241 0.0407602 0.0431113 0.0065717 0.00936337 0.0222241 0.0327647
|
||||
0.0270807 -0.0111891 0.0063837 -0.0086459 -0.0364951 -0.0200965 -0.0318325
|
||||
-0.0576028 -0.0557316 -0.0675803 -0.0887475 -0.0980934 -0.0881446 -0.117229
|
||||
-0.125822 -0.13378 -0.142539 -0.108397 -0.13497 -0.138471 -0.164523
|
||||
-0.174647 -0.18636 -0.157472 -0.148646 -0.108121 -0.104372 -0.0695942
|
||||
-0.0542974 -0.0701001 -0.100999 -0.0658883 -0.0947834 -0.113894 -0.0981114
|
||||
-0.108426 -0.100378 -0.102227 -0.0818266 -0.103135 -0.0720306 -0.0440222
|
||||
-0.0219618 -0.0453231 -0.019184 0.0157131 -0.013545 -0.0248696 -0.0166098
|
||||
-0.0489199 -0.0269982 -0.0224125 -0.0413912 -0.0728588 -0.0586017 -0.0349842
|
||||
-0.0338855 -0.0588961 -0.0928709 -0.11376 -0.0790886 -0.100094 -0.126293
|
||||
-0.10676 -0.136216 -0.109541 -0.136053 -0.112742 -0.136117 -0.146529
|
||||
-0.156998 -0.163319 -0.137112 -0.146644 -0.138866 -0.159482 -0.185248
|
||||
-0.206002 -0.16925 -0.178855 -0.140085 -0.105426 -0.095303 -0.0736452
|
||||
-0.066341 -0.0689736 -0.0914969 -0.0725721 -0.0824288 -0.049098 -0.0139474
|
||||
-0.00957104 0.0134051 -0.0091349 0.00555033 0.0117049 -0.0230348 -0.0545547
|
||||
-0.050228 -0.0431037 -0.0668625 -0.029803 -0.0551605 -0.0175891 -0.0435808
|
||||
-0.0240586 -0.0455508 -0.00746894 0.0213663 0.0569028 0.0190693 0.000740271
|
||||
0.000412262 -0.0233437 -0.0205415 -0.0240432 0.00448952 0.00916993
|
||||
0.00155166 -0.00567939 -0.00725616 0.0138388 0.0162082 -0.00138934
|
||||
-0.0077004 -0.0261998 -0.0100701 -0.0337348 -0.0154704 -0.0291058 -0.0299364
|
||||
-0.00924212 0.0247502 -0.0060416 -0.0118114 -0.0158459 0.0158545 -0.00827235
|
||||
-0.00602365 -0.0132283 0.0105079 0.0432025 0.0698796 0.0576105 0.0538253
|
||||
0.066991 0.0715161 0.0405482 0.0741857 0.0802094 0.113967 0.126283
|
||||
0.111464 0.0926309 0.0545991 0.0568134 0.0770984 0.0533353 0.0142316
|
||||
-0.0181225 0.00490977 0.0275315 0.0202685 0.00414232 0.0273551 0.0158572
|
||||
-0.00476758 -0.0362654 -0.0701252 -0.0547324 -0.0708724 -0.0970369
|
||||
-0.099428 -0.102544 -0.0736354 -0.0556618 -0.0863601;
|
||||
#X coords 0 1 882 -1 200 140 1;
|
||||
#X restore 384 386 graph;
|
||||
#X text 408 528 --- 0.02 sec ---;
|
||||
#X text 28 30 This and the following patches show how to use filters
|
||||
in Pd \, starting with the simplest one: the one-pole low-pass filter.
|
||||
Here we test it with an input of white noise. The lop~ object does
|
||||
the filtering. Its left inlet takes an audio signal to be filtered
|
||||
\, and its right inlet takes messages to set its cutoff frequency in
|
||||
Hertz.;
|
||||
#X text 26 129 The lop~ object is normalized to pass DC (the lowest
|
||||
frequency) with a gain of one. Higher frequencies are progressively
|
||||
more and more attenuated. The lower the cutoff frequency \, the lower
|
||||
the total power of the filtered noise. If you graph the output you'll
|
||||
see that the waveform gets smoother (and smaller overall) as the cutoff
|
||||
frequency is lowered.;
|
||||
#X text 28 243 At the cutoff frequency the gain is about -3 dB \, and
|
||||
above that the gain drops a further 6 dB per octave. (Sometimes one
|
||||
uses the word "rolloff" instead of "cutoff" to emphasize the gradual
|
||||
way the gain drops off with frequency.);
|
||||
#X text 108 353 white noise \, test signal;
|
||||
#X text 185 6 ONE-POLE LOW-PASS FILTER;
|
||||
#N canvas 0 0 450 300 loadbang 0;
|
||||
#X obj 85 16 loadbang;
|
||||
#X obj 85 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 85 59 f \$0;
|
||||
#X text 18 179 boxes.;
|
||||
#X text 16 161 This subpatch loads initial values in number;
|
||||
#X msg 84 83 \; \$1-pit 60;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 129 582 pd loadbang;
|
||||
#X connect 0 0 7 0;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 3 0 2 1;
|
||||
#X connect 3 0 10 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 7 0 3 1;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 12 0 11 0;
|
168
pd-0.44-2/doc/3.audio.examples/H02.high-pass.pd
Normal file
168
pd-0.44-2/doc/3.audio.examples/H02.high-pass.pd
Normal file
|
@ -0,0 +1,168 @@
|
|||
#N canvas 29 10 595 573 12;
|
||||
#X obj 26 479 output~;
|
||||
#X text 324 527 updated for Pd version 0.39;
|
||||
#X obj 114 460 metro 250;
|
||||
#X obj 114 440 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 132 437 graphing on/off;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array H02-graph 882 float 3;
|
||||
#A 0 0.86084 0.876465 0.891113 0.904785 0.917725 0.929688 0.940918
|
||||
0.950928 0.960205 0.968506 0.97583 0.982178 0.987793 0.992188 0.995605
|
||||
0.998047 0.999512 1 0.999756 0.998291 0.99585 0.992432 0.988037 0.982666
|
||||
0.976318 0.968994 0.960938 0.95166 0.94165 0.930664 0.918701 0.905762
|
||||
0.89209 0.877441 0.862061 0.845703 0.828613 0.810547 0.791748 0.772217
|
||||
0.751953 0.730957 0.709229 0.686768 0.663574 0.639893 0.615479 0.590576
|
||||
0.564941 0.538818 0.511963 0.484863 0.457275 0.429199 0.400635 0.371826
|
||||
0.342529 0.312744 0.282959 0.252686 0.222168 0.19165 0.160645 0.129639
|
||||
0.0986328 0.0673828 0.0358887 0.00463867 -0.0266113 -0.0581055 -0.0893555
|
||||
-0.120361 -0.151611 -0.182373 -0.213135 -0.243652 -0.273926 -0.303955
|
||||
-0.33374 -0.363037 -0.39209 -0.420654 -0.448975 -0.476807 -0.50415
|
||||
-0.530762 -0.557129 -0.583008 -0.608154 -0.632568 -0.656738 -0.679932
|
||||
-0.702637 -0.724609 -0.74585 -0.766357 -0.786133 -0.805176 -0.823242
|
||||
-0.840576 -0.857178 -0.873047 -0.887939 -0.901855 -0.915039 -0.927246
|
||||
-0.938477 -0.94873 -0.958252 -0.966797 -0.974365 -0.980957 -0.986572
|
||||
-0.991211 -0.994873 -0.997559 -0.999268 -1 -0.999756 -0.998535 -0.996338
|
||||
-0.993164 -0.989014 -0.983887 -0.977783 -0.970947 -0.962891 -0.953857
|
||||
-0.944092 -0.933105 -0.921387 -0.908936 -0.895264 -0.880859 -0.865479
|
||||
-0.849365 -0.83252 -0.814697 -0.796143 -0.776855 -0.756592 -0.73584
|
||||
-0.714111 -0.691895 -0.668945 -0.645264 -0.621094 -0.596191 -0.570801
|
||||
-0.544678 -0.518066 -0.491211 -0.463623 -0.435547 -0.407227 -0.378418
|
||||
-0.349121 -0.31958 -0.289795 -0.259521 -0.229248 -0.198486 -0.167725
|
||||
-0.136719 -0.105713 -0.0744629 -0.0432129 -0.0117188 0.0195312 0.0507812
|
||||
0.0822754 0.113281 0.144531 0.175293 0.206055 0.236816 0.26709 0.297119
|
||||
0.326904 0.356445 0.385498 0.414307 0.442627 0.470459 0.497803 0.524902
|
||||
0.55127 0.577148 0.602539 0.627197 0.651367 0.674805 0.69751 0.719727
|
||||
0.740967 0.761719 0.781738 0.800781 0.819336 0.836914 0.853516 0.869385
|
||||
0.884521 0.898682 0.912109 0.924561 0.936035 0.946533 0.956299 0.964844
|
||||
0.972656 0.979492 0.985352 0.990234 0.994141 0.99707 0.999023 1 1 0.999023
|
||||
0.99707 0.994141 0.990234 0.985352 0.979248 0.972412 0.964844 0.956055
|
||||
0.946289 0.935791 0.924316 0.911865 0.898438 0.884277 0.869141 0.853271
|
||||
0.836426 0.818848 0.800537 0.78125 0.76123 0.740723 0.719238 0.697021
|
||||
0.674316 0.650879 0.626709 0.601807 0.57666 0.550781 0.52417 0.497314
|
||||
0.469971 0.441895 0.413574 0.38501 0.355713 0.326416 0.296631 0.266357
|
||||
0.236084 0.205566 0.174805 0.143799 0.112793 0.081543 0.050293 0.0187988
|
||||
-0.0124512 -0.0437012 -0.0749512 -0.106201 -0.137451 -0.168457 -0.199219
|
||||
-0.229736 -0.260254 -0.290283 -0.320068 -0.349609 -0.378906 -0.407715
|
||||
-0.436035 -0.464111 -0.491699 -0.518799 -0.545166 -0.571289 -0.59668
|
||||
-0.621582 -0.645752 -0.669434 -0.692383 -0.7146 -0.736328 -0.75708
|
||||
-0.7771 -0.796631 -0.815186 -0.832764 -0.849854 -0.865967 -0.881104
|
||||
-0.895508 -0.90918 -0.921631 -0.93335 -0.944092 -0.954102 -0.962891
|
||||
-0.970947 -0.978027 -0.984131 -0.989258 -0.993408 -0.996582 -0.998779
|
||||
-0.999756 -1 -0.999268 -0.997559 -0.994873 -0.991211 -0.986328 -0.980713
|
||||
-0.974121 -0.966553 -0.958008 -0.94873 -0.938232 -0.927002 -0.914551
|
||||
-0.901611 -0.887451 -0.872559 -0.856934 -0.840332 -0.822998 -0.804688
|
||||
-0.785645 -0.765869 -0.745361 -0.724121 -0.702148 -0.679443 -0.65625
|
||||
-0.63208 -0.607666 -0.582275 -0.556641 -0.530273 -0.503418 -0.476074
|
||||
-0.448242 -0.420166 -0.391357 -0.362305 -0.333008 -0.303223 -0.273193
|
||||
-0.24292 -0.212402 -0.181885 -0.150879 -0.119873 -0.088623 -0.057373
|
||||
-0.026123 0.00537109 0.0366211 0.0678711 0.0991211 0.130371 0.161377
|
||||
0.192139 0.2229 0.253418 0.283447 0.313477 0.343018 0.372314 0.401123
|
||||
0.429688 0.457764 0.485352 0.512695 0.539307 0.56543 0.591064 0.615967
|
||||
0.640381 0.664062 0.687256 0.709717 0.731445 0.752441 0.772705 0.792236
|
||||
0.811035 0.828857 0.845947 0.862305 0.877686 0.892334 0.906006 0.918945
|
||||
0.930908 0.941895 0.951904 0.961182 0.969238 0.976562 0.98291 0.988037
|
||||
0.992432 0.99585 0.998291 0.999756 1 0.999512 0.998047 0.995605 0.991943
|
||||
0.987549 0.982178 0.97583 0.968506 0.960205 0.950928 0.940674 0.929443
|
||||
0.91748 0.904541 0.890869 0.876221 0.860596 0.844238 0.826904 0.808838
|
||||
0.790039 0.770508 0.75 0.729004 0.707275 0.684814 0.661621 0.637695
|
||||
0.613281 0.588135 0.5625 0.536377 0.509521 0.482422 0.45459 0.426514
|
||||
0.397949 0.369141 0.339844 0.310059 0.280029 0.25 0.219482 0.188721
|
||||
0.157959 0.126953 0.0957031 0.0644531 0.0332031 0.00170898 -0.029541
|
||||
-0.060791 -0.092041 -0.123291 -0.154297 -0.185303 -0.21582 -0.246338
|
||||
-0.276611 -0.306641 -0.336426 -0.365723 -0.394775 -0.42334 -0.451416
|
||||
-0.479248 -0.506592 -0.533203 -0.55957 -0.585205 -0.610352 -0.63501
|
||||
-0.658691 -0.682129 -0.70459 -0.726562 -0.747803 -0.768066 -0.787842
|
||||
-0.806885 -0.824951 -0.842285 -0.858643 -0.874268 -0.88916 -0.903076
|
||||
-0.916016 -0.928223 -0.939453 -0.949707 -0.958984 -0.967529 -0.974854
|
||||
-0.981445 -0.987061 -0.991455 -0.995117 -0.997803 -0.999512 -1 -0.999756
|
||||
-0.998535 -0.996094 -0.99292 -0.98877 -0.983398 -0.977295 -0.970215
|
||||
-0.962158 -0.953125 -0.943115 -0.932129 -0.92041 -0.907715 -0.894043
|
||||
-0.879639 -0.864258 -0.8479 -0.831055 -0.812988 -0.794434 -0.774902
|
||||
-0.754883 -0.733887 -0.712158 -0.689941 -0.666748 -0.643066 -0.618896
|
||||
-0.593994 -0.568359 -0.542236 -0.515625 -0.488525 -0.460938 -0.433105
|
||||
-0.404541 -0.375732 -0.346436 -0.316895 -0.286865 -0.256836 -0.226318
|
||||
-0.195801 -0.165039 -0.134033 -0.102783 -0.0715332 -0.0402832 -0.0090332
|
||||
0.0224609 0.0537109 0.0849609 0.116211 0.147217 0.178223 0.208984 0.239502
|
||||
0.269775 0.299805 0.32959 0.359131 0.388184 0.416748 0.445068 0.4729
|
||||
0.500244 0.527344 0.553711 0.579346 0.604736 0.629395 0.65332 0.676758
|
||||
0.699463 0.72168 0.74292 0.763672 0.783447 0.80249 0.820801 0.838379
|
||||
0.85498 0.87085 0.885742 0.899902 0.913086 0.925537 0.937012 0.94751
|
||||
0.957031 0.965576 0.973389 0.97998 0.98584 0.990723 0.994385 0.997314
|
||||
0.999023 1 1 0.998779 0.996826 0.993652 0.989746 0.984619 0.97876 0.971924
|
||||
0.963867 0.955078 0.945312 0.934814 0.923096 0.910645 0.897217 0.882812
|
||||
0.867676 0.851807 0.834961 0.817139 0.798828 0.779541 0.759521 0.73877
|
||||
0.717285 0.695068 0.672119 0.648682 0.624512 0.599609 0.574219 0.54834
|
||||
0.521729 0.494873 0.467285 0.439453 0.411133 0.382324 0.353027 0.32373
|
||||
0.293701 0.263672 0.233398 0.202637 0.171875 0.140869 0.109863 0.0786133
|
||||
0.0473633 0.0161133 -0.0153809 -0.0466309 -0.0778809 -0.109131 -0.140137
|
||||
-0.171143 -0.201904 -0.232666 -0.262939 -0.292969 -0.322754 -0.352295
|
||||
-0.381592 -0.4104 -0.438721 -0.466553 -0.494141 -0.52124 -0.547607
|
||||
-0.57373 -0.599121 -0.623779 -0.647949 -0.671631 -0.694336 -0.716797
|
||||
-0.738281 -0.759033 -0.779053 -0.79834 -0.81665 -0.834473 -0.851318
|
||||
-0.867432 -0.882568 -0.896729 -0.910156 -0.922852 -0.934326 -0.945068
|
||||
-0.954834 -0.963867 -0.97168 -0.978516 -0.984619 -0.989502 -0.993652
|
||||
-0.996826 -0.998779 -1 -1 -0.999268 -0.997314 -0.994629 -0.990723 -0.98584
|
||||
-0.980225 -0.973633 -0.96582 -0.957275 -0.947754 -0.937256 -0.925781
|
||||
-0.913574 -0.900391 -0.88623 -0.871338 -0.855469 -0.838867 -0.821289
|
||||
-0.802979 -0.783936 -0.76416 -0.743408 -0.722168 -0.700195 -0.67749
|
||||
-0.654053 -0.629883 -0.605225 -0.580078 -0.554199 -0.527832 -0.500977
|
||||
-0.473633 -0.445801 -0.41748 -0.388916 -0.359863 -0.330322 -0.300537
|
||||
-0.270508 -0.240234 -0.209717 -0.178955 -0.147949 -0.116943 -0.0856934
|
||||
-0.0544434 -0.0231934 0.00805664 0.0395508 0.0708008 0.102051 0.133057
|
||||
0.164062 0.195068 0.225586 0.256104 0.286133 0.316162 0.345703 0.375
|
||||
0.403809 0.432373 0.460449 0.488037 0.515137 0.541748 0.567871 0.593262
|
||||
0.618164 0.642578 0.66626 0.689209 0.71167 0.733398 0.754395 0.774414
|
||||
0.793945 0.812744 0.830566 0.847656 0.86377 0.87915 0.893555 0.907227
|
||||
0.919922 0.931885 0.942871 0.952881 0.961914 0.969971 0.977051 0.983398
|
||||
0.988525 0.99292 0.996094 0.998535 0.999756 1 0.999512 0.997803 0.995361
|
||||
0.991699 0.987061 0.981689 0.975098 0.967773 0.959229 0.949951 0.939697
|
||||
0.928467 0.916504 0.90332 0.889404 0.874756 0.859131 0.842529 0.825439
|
||||
0.807129 0.78833 0.768555 0.748291 0.727051 0.705078 0.682617 0.659424
|
||||
0.635498 0.611084 0.585938 0.560059 0.533936 0.50708 0.47998 0.452148
|
||||
0.424072 0.395508 0.366455 0.337158 0.307373 0.277344 0.24707 0.216553
|
||||
0.186035 0.155029 0.124023 0.0927734 0.0615234 0.0302734 -0.000976562
|
||||
-0.0324707 -0.0637207 -0.0949707 -0.125977 -0.157227 -0.187988 -0.21875
|
||||
-0.249268 -0.279297 -0.309326 -0.339111 -0.368408;
|
||||
#X coords 0 1 882 -1 200 140 1;
|
||||
#X restore 369 323 graph;
|
||||
#X text 393 465 --- 0.02 sec ---;
|
||||
#X text 24 31 Many synthesis algorithms and transformations can have
|
||||
outputs with a zero-freqency component (commonly called DC for "direct
|
||||
current"). These are inaudible and sometimes cause distortion in audio
|
||||
output devices \, or when converting to fixed-point soundfile formats.
|
||||
It is often desirable to filter an audio signal to remove its DC component.
|
||||
;
|
||||
#X text 23 147 The simplest way to do this is to use a one-pole low-pass
|
||||
filter \, tuned to a low frequency such as 3 Hertz \, and to subtract
|
||||
its output from the original. This difference is called a one-pole
|
||||
\, one-zero high-pass filter \, and it is used so often that Pd provides
|
||||
one in the "hip~" object.;
|
||||
#X obj 26 270 +~ 1;
|
||||
#X obj 25 407 hip~ 5;
|
||||
#X text 88 407 high-pass filter;
|
||||
#X floatatom 74 366 5 0 0 0 - - -;
|
||||
#X msg 74 296 0;
|
||||
#X text 110 245 sinusoidal test signal;
|
||||
#X text 71 270 add "DC";
|
||||
#X text 112 296 zero for no filtering;
|
||||
#X msg 74 319 3;
|
||||
#X text 109 320 3 (or so) to remove DC;
|
||||
#X text 114 343 higher freqencies affect;
|
||||
#X text 154 359 the audible part of;
|
||||
#X text 154 375 the signal as well.;
|
||||
#X obj 26 245 osc~ 220;
|
||||
#X msg 74 342 220;
|
||||
#X text 131 4 ONE-POLE \, ONE-ZERO HIGH-PASS FILTER;
|
||||
#X obj 114 485 tabwrite~ H02-graph;
|
||||
#X connect 2 0 25 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 0 0;
|
||||
#X connect 10 0 0 1;
|
||||
#X connect 10 0 25 0;
|
||||
#X connect 12 0 10 1;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 12 0;
|
||||
#X connect 22 0 9 0;
|
||||
#X connect 23 0 12 0;
|
57
pd-0.44-2/doc/3.audio.examples/H03.band-pass.pd
Normal file
57
pd-0.44-2/doc/3.audio.examples/H03.band-pass.pd
Normal file
|
@ -0,0 +1,57 @@
|
|||
#N canvas 44 0 604 533 12;
|
||||
#X obj 43 278 mtof;
|
||||
#X floatatom 43 255 5 0 150 0 - #0-pit -;
|
||||
#X obj 32 446 output~;
|
||||
#X obj 32 225 noise~;
|
||||
#X text 95 254 <-- cutoff (pitch units);
|
||||
#X text 106 301 <-- cutoff (Hertz);
|
||||
#X floatatom 43 303 5 0 0 0 - - -;
|
||||
#X text 330 494 updated for Pd version 0.39;
|
||||
#X obj 121 414 metro 250;
|
||||
#X obj 121 394 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 139 391 graphing on/off;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array H03-graph 882 float 2;
|
||||
#X coords 0 1 882 -1 200 140 1;
|
||||
#X restore 375 290 graph;
|
||||
#X text 399 432 --- 0.02 sec ---;
|
||||
#X text 98 224 white noise \, test signal;
|
||||
#X obj 32 361 bp~;
|
||||
#X text 73 363 band-pass filter;
|
||||
#X obj 121 439 tabwrite~ H03-graph;
|
||||
#X floatatom 54 331 5 0 1000 0 - #0-q -;
|
||||
#X text 106 329 <-- q;
|
||||
#N canvas 0 0 450 300 loadbang 0;
|
||||
#X obj 85 16 loadbang;
|
||||
#X obj 85 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 85 59 f \$0;
|
||||
#X text 18 179 boxes.;
|
||||
#X text 16 161 This subpatch loads initial values in number;
|
||||
#X msg 85 83 \; \$1-pit 72 \; \$1-q 1;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 139 482 pd loadbang;
|
||||
#X text 154 8 RESONANT (BAND-PASS) FILTER;
|
||||
#X text 26 129 The two controls specify \, first \, the center frequency
|
||||
\, and second \, the sharpness of the filter \, commonly called "q".
|
||||
If you increase q to 10 or 20 \, you will see a drop in total signal
|
||||
power \, and moreover \, you'll see and hear the resonant frequency
|
||||
more clearly in the result.;
|
||||
#X text 28 30 A simple resonant band-pass filter is provided in the
|
||||
bp~ object. Resonant filters can be tuned to a specific "center frequency"
|
||||
and then will pass that frequency while attenuating other frequencies
|
||||
(the further from the center frequency \, the more attenuation). This
|
||||
patch uses a white noise source to demonstrate bp~.;
|
||||
#X connect 0 0 6 0;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 3 0 14 0;
|
||||
#X connect 6 0 14 1;
|
||||
#X connect 8 0 16 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 14 0 2 0;
|
||||
#X connect 14 0 2 1;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 17 0 14 2;
|
82
pd-0.44-2/doc/3.audio.examples/H04.filter.sweep.pd
Normal file
82
pd-0.44-2/doc/3.audio.examples/H04.filter.sweep.pd
Normal file
|
@ -0,0 +1,82 @@
|
|||
#N canvas 360 22 557 528 12;
|
||||
#X floatatom 44 146 5 0 150 0 - #0-pitch -;
|
||||
#X text 126 9 SWEEPING FILTERS;
|
||||
#X obj 44 193 phasor~;
|
||||
#X obj 59 351 +~;
|
||||
#X floatatom 81 326 5 0 100 0 - #0-offset -;
|
||||
#X floatatom 60 222 5 0 0 0 - #0-speed -;
|
||||
#X floatatom 82 273 5 0 100 0 - #0-depth -;
|
||||
#X floatatom 75 404 5 0 1000 0 - #0-q -;
|
||||
#X obj 44 426 vcf~;
|
||||
#X obj 59 375 tabread4~ mtof;
|
||||
#X text 127 403 <-- Q (selectivity);
|
||||
#X text 115 182 sawtooth;
|
||||
#X text 116 198 oscillator;
|
||||
#X text 112 221 <-- sweep speed;
|
||||
#X text 137 245 LFO for sweep;
|
||||
#X text 134 274 <-- sweep depth;
|
||||
#X text 131 326 <-- base center frequency;
|
||||
#X text 103 350 add base to sweep;
|
||||
#X text 192 375 convert to Hz.;
|
||||
#X text 97 144 <-- pitch;
|
||||
#X obj 43 457 output~;
|
||||
#X obj 44 169 mtof;
|
||||
#X obj 60 244 phasor~;
|
||||
#X obj 60 298 *~;
|
||||
#X text 294 496 updated for Pd version 0.39;
|
||||
#N canvas 706 247 450 300 startup 0;
|
||||
#X obj 85 16 loadbang;
|
||||
#X obj 85 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 85 59 f \$0;
|
||||
#X text 9 257 boxes.;
|
||||
#X text 18 209 This subpatch loads initial values in number;
|
||||
#X msg 85 83 \; \$1-pitch 48 \; \$1-speed -2 \; \$1-depth 27 \; \$1-offset
|
||||
56 \; \$1-q 2;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 168 491 pd startup;
|
||||
#X text 14 109 Note the different effects of negative and positive
|
||||
sweep speeds.;
|
||||
#X text 13 32 If you want actively changing center frequencies \, use
|
||||
"vcf~" instead of "bp~". The vcf~ module takes an audio signal to set
|
||||
center frequency. (Q is still set by messages though.) Vcf is computationally
|
||||
somewhat more expensive than bp~.;
|
||||
#N canvas 0 22 612 404 conversion-tables 0;
|
||||
#N canvas 0 22 450 300 graph2 0;
|
||||
#X array mtof 130 float 1;
|
||||
#A 0 8.1758 8.66196 9.17702 9.72272 10.3009 10.9134 11.5623 12.2499
|
||||
12.9783 13.75 14.5676 15.4339 16.3516 17.3239 18.354 19.4454 20.6017
|
||||
21.8268 23.1247 24.4997 25.9565 27.5 29.1352 30.8677 32.7032 34.6478
|
||||
36.7081 38.8909 41.2034 43.6535 46.2493 48.9994 51.9131 55 58.2705
|
||||
61.7354 65.4064 69.2957 73.4162 77.7817 82.4069 87.3071 92.4986 97.9989
|
||||
103.826 110 116.541 123.471 130.813 138.591 146.832 155.563 164.814
|
||||
174.614 184.997 195.998 207.652 220 233.082 246.942 261.626 277.183
|
||||
293.665 311.127 329.628 349.228 369.994 391.995 415.305 440 466.164
|
||||
493.883 523.251 554.365 587.33 622.254 659.255 698.456 739.989 783.991
|
||||
830.609 880 932.328 987.767 1046.5 1108.73 1174.66 1244.51 1318.51
|
||||
1396.91 1479.98 1567.98 1661.22 1760 1864.66 1975.53 2093 2217.46 2349.32
|
||||
2489.02 2637.02 2793.83 2959.96 3135.96 3322.44 3520 3729.31 3951.07
|
||||
4186.01 4434.92 4698.64 4978.03 5274.04 5587.65 5919.91 6271.93 6644.88
|
||||
7040 7458.62 7902.13 8372.02 8869.84 9397.27 9956.06 10548.1 11175.3
|
||||
11839.8 12543.9 13289.8 14080;
|
||||
#X coords 0 12000 130 0 200 100 1;
|
||||
#X restore 309 225 graph;
|
||||
#X text 319 333 ------ 130 samples ------;
|
||||
#X text 518 318 0;
|
||||
#X text 520 218 12000;
|
||||
#X restore 168 463 pd conversion-tables;
|
||||
#X connect 0 0 21 0;
|
||||
#X connect 2 0 8 0;
|
||||
#X connect 3 0 9 0;
|
||||
#X connect 4 0 3 1;
|
||||
#X connect 5 0 22 0;
|
||||
#X connect 6 0 23 1;
|
||||
#X connect 7 0 8 2;
|
||||
#X connect 8 0 20 0;
|
||||
#X connect 8 0 20 1;
|
||||
#X connect 9 0 8 1;
|
||||
#X connect 21 0 2 0;
|
||||
#X connect 22 0 23 0;
|
||||
#X connect 23 0 3 0;
|
133
pd-0.44-2/doc/3.audio.examples/H05.filter.floyd.pd
Normal file
133
pd-0.44-2/doc/3.audio.examples/H05.filter.floyd.pd
Normal file
|
@ -0,0 +1,133 @@
|
|||
#N canvas 288 109 559 650 12;
|
||||
#N canvas 0 22 604 396 conversion-tables 0;
|
||||
#N canvas 0 22 450 300 graph1 0;
|
||||
#X array dbtorms 123 float 1;
|
||||
#A 0 0 0 1.25893e-05 1.41254e-05 1.58489e-05 1.77828e-05 1.99526e-05
|
||||
2.23872e-05 2.51189e-05 2.81838e-05 3.16228e-05 3.54813e-05 3.98107e-05
|
||||
4.46684e-05 5.01187e-05 5.62341e-05 6.30957e-05 7.07946e-05 7.94328e-05
|
||||
8.91251e-05 0.0001 0.000112202 0.000125893 0.000141254 0.000158489
|
||||
0.000177828 0.000199526 0.000223872 0.000251189 0.000281838 0.000316228
|
||||
0.000354813 0.000398107 0.000446684 0.000501187 0.000562341 0.000630957
|
||||
0.000707946 0.000794328 0.000891251 0.001 0.00112202 0.00125893 0.00141254
|
||||
0.00158489 0.00177828 0.00199526 0.00223872 0.00251189 0.00281838 0.00316228
|
||||
0.00354813 0.00398107 0.00446684 0.00501187 0.00562341 0.00630957 0.00707946
|
||||
0.00794328 0.00891251 0.01 0.0112202 0.0125893 0.0141254 0.0158489
|
||||
0.0177828 0.0199526 0.0223872 0.0251189 0.0281838 0.0316228 0.0354813
|
||||
0.0398107 0.0446684 0.0501187 0.0562341 0.0630957 0.0707946 0.0794328
|
||||
0.0891251 0.1 0.112202 0.125893 0.141254 0.158489 0.177828 0.199526
|
||||
0.223872 0.251189 0.281838 0.316228 0.354813 0.398107 0.446684 0.501187
|
||||
0.562341 0.630957 0.707946 0.794328 0.891251 1 1.12202 1.25893 1.41254
|
||||
1.58489 1.77828 1.99526 2.23872 2.51189 2.81838 3.16228 3.54813 3.98107
|
||||
4.46684 5.01187 5.62341 6.30957 7.07946 7.94328 8.91251 10 11.2202
|
||||
12.5893;
|
||||
#X coords 0 10 123 0 200 100 1;
|
||||
#X restore 302 48 graph;
|
||||
#X text 504 141 0;
|
||||
#X text 506 41 10;
|
||||
#X text 321 151 ------ 123 samples ------;
|
||||
#N canvas 0 22 450 300 graph2 0;
|
||||
#X array mtof 130 float 1;
|
||||
#A 0 8.1758 8.66196 9.17702 9.72272 10.3009 10.9134 11.5623 12.2499
|
||||
12.9783 13.75 14.5676 15.4339 16.3516 17.3239 18.354 19.4454 20.6017
|
||||
21.8268 23.1247 24.4997 25.9565 27.5 29.1352 30.8677 32.7032 34.6478
|
||||
36.7081 38.8909 41.2034 43.6535 46.2493 48.9994 51.9131 55 58.2705
|
||||
61.7354 65.4064 69.2957 73.4162 77.7817 82.4069 87.3071 92.4986 97.9989
|
||||
103.826 110 116.541 123.471 130.813 138.591 146.832 155.563 164.814
|
||||
174.614 184.997 195.998 207.652 220 233.082 246.942 261.626 277.183
|
||||
293.665 311.127 329.628 349.228 369.994 391.995 415.305 440 466.164
|
||||
493.883 523.251 554.365 587.33 622.254 659.255 698.456 739.989 783.991
|
||||
830.609 880 932.328 987.767 1046.5 1108.73 1174.66 1244.51 1318.51
|
||||
1396.91 1479.98 1567.98 1661.22 1760 1864.66 1975.53 2093 2217.46 2349.32
|
||||
2489.02 2637.02 2793.83 2959.96 3135.96 3322.44 3520 3729.31 3951.07
|
||||
4186.01 4434.92 4698.64 4978.03 5274.04 5587.65 5919.91 6271.93 6644.88
|
||||
7040 7458.62 7902.13 8372.02 8869.84 9397.27 9956.06 10548.1 11175.3
|
||||
11839.8 12543.9 13289.8 14080;
|
||||
#X coords 0 12000 130 0 200 100 1;
|
||||
#X restore 309 225 graph;
|
||||
#X text 319 333 ------ 130 samples ------;
|
||||
#X text 518 318 0;
|
||||
#X text 520 218 12000;
|
||||
#X restore 121 588 pd conversion-tables;
|
||||
#X obj 31 411 line~;
|
||||
#X obj 31 387 pack 0 100;
|
||||
#X floatatom 31 339 3 0 150 0 - #0-cf -;
|
||||
#X floatatom 47 461 3 0 999 0 - #0-q -;
|
||||
#X obj 16 512 vcf~;
|
||||
#X obj 31 436 tabread4~ mtof;
|
||||
#X text 81 461 <-- Q (selectivity);
|
||||
#X text 88 5 ANOTHER SWEEPING FILTER EXAMPLE;
|
||||
#X obj 15 267 clip~ 0 0.5;
|
||||
#X obj 15 291 *~ 2;
|
||||
#X obj 15 315 -~;
|
||||
#X text 119 268 trick to;
|
||||
#X text 120 285 make symmetric;
|
||||
#X text 118 302 triangle wave;
|
||||
#X obj 22 147 f;
|
||||
#X obj 55 145 + 1;
|
||||
#X obj 22 217 mtof;
|
||||
#X obj 55 169 mod 8;
|
||||
#N canvas 0 22 450 300 graph1 0;
|
||||
#X array \$0-array1 8 float 2;
|
||||
#X coords 0 96 8 36 200 100 1;
|
||||
#X restore 340 144 graph;
|
||||
#X text 73 336 <-- center frequency;
|
||||
#X obj 22 123 metro 85;
|
||||
#X text 107 147 sequencer for;
|
||||
#X text 122 164 8 note loop;
|
||||
#X obj 16 576 output~;
|
||||
#X obj 22 104 tgl 15 0 empty \$0-metro empty 0 -6 0 8 -262144 -1 -1
|
||||
0 1;
|
||||
#N canvas 876 177 379 259 startup 0;
|
||||
#X obj 22 24 loadbang;
|
||||
#X obj 22 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 22 67 f \$0;
|
||||
#X text 35 195 This subpatch loads initial;
|
||||
#X text 31 219 values in number boxes.;
|
||||
#X msg 22 91 \; \$1-cf 61 \; \$1-q 10 \; \$1-metro 1 \; \$1-array1
|
||||
0 45 48 50 48 55 53 55 57;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 121 611 pd startup;
|
||||
#X text 96 364 at least 61;
|
||||
#X obj 22 241 phasor~;
|
||||
#X text 294 616 updated for Pd version 0.39;
|
||||
#X obj 22 193 tabread \$0-array1;
|
||||
#X obj 16 540 vcf~;
|
||||
#X obj 31 362 max 61;
|
||||
#X text 82 409 smooth & convert to Hz.;
|
||||
#X obj 47 482 max 3;
|
||||
#X text 105 483 at least 3;
|
||||
#X text 11 28 Here's an approximate reconstruction of an old riff by
|
||||
Pink Floyd. Because we're filtering a waveform with odd partials \,
|
||||
it's easier to pick out the partials in the filtered sound than if
|
||||
we had had both even and odd ones.;
|
||||
#X text 78 527 rejection of the stop bands without having;
|
||||
#X text 79 509 Put two vcf objects in series for better;
|
||||
#X text 77 545 to make the passband excessively narrow.;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 32 0;
|
||||
#X connect 4 0 34 0;
|
||||
#X connect 5 0 31 0;
|
||||
#X connect 6 0 5 1;
|
||||
#X connect 6 0 31 1;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 5 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 15 0 30 0;
|
||||
#X connect 16 0 18 0;
|
||||
#X connect 17 0 28 0;
|
||||
#X connect 18 0 15 1;
|
||||
#X connect 21 0 15 0;
|
||||
#X connect 25 0 21 0;
|
||||
#X connect 28 0 9 0;
|
||||
#X connect 28 0 11 1;
|
||||
#X connect 30 0 17 0;
|
||||
#X connect 31 0 24 0;
|
||||
#X connect 31 0 24 1;
|
||||
#X connect 32 0 2 0;
|
||||
#X connect 34 0 5 2;
|
||||
#X connect 34 0 31 2;
|
86
pd-0.44-2/doc/3.audio.examples/H06.envelope.follower.pd
Normal file
86
pd-0.44-2/doc/3.audio.examples/H06.envelope.follower.pd
Normal file
|
@ -0,0 +1,86 @@
|
|||
#N canvas 87 74 585 621 12;
|
||||
#X floatatom 354 464 4 0 0 0 - - -;
|
||||
#X floatatom 150 316 3 0 999 0 - #0-osc2 -;
|
||||
#X obj 150 336 osc~;
|
||||
#X text 162 12 ENVELOPE FOLLOWER;
|
||||
#X text 22 33 An envelope follower measures the mean square power of
|
||||
an signal as it changes over time. (You can convert mean square power
|
||||
to RMS ampitude or to decibels if you wish.) The term "mean square"
|
||||
means simply that the signal should be squared \, and then averaged.
|
||||
The averageing is done using a low-pass filter such as lop~.;
|
||||
#X obj 62 466 lop~;
|
||||
#X floatatom 93 444 3 0 100 0 - #0-lop -;
|
||||
#X obj 61 356 +~;
|
||||
#X text 187 317 <-- frequency of second oscillator;
|
||||
#X obj 62 330 osc~ 500;
|
||||
#X obj 62 413 *~;
|
||||
#X obj 62 522 snapshot~;
|
||||
#X floatatom 62 573 5 0 999 0 - - -;
|
||||
#X obj 62 545 sqrt;
|
||||
#X text 335 361 built-in envelope;
|
||||
#X obj 354 491 dbtorms;
|
||||
#X floatatom 354 518 5 0 999 0 - - -;
|
||||
#N canvas 536 459 382 265 startup 0;
|
||||
#X obj 22 24 loadbang;
|
||||
#X obj 22 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 22 67 f \$0;
|
||||
#X text 35 195 This subpatch loads initial;
|
||||
#X text 31 219 values in number boxes.;
|
||||
#X msg 22 91 \; \$1-osc2 400 \; \$1-lop 10 \; \$1-metro 1 \; pd dsp
|
||||
1;
|
||||
#X obj 223 132 metro 250;
|
||||
#X obj 223 107 r \$0-metro;
|
||||
#X obj 223 156 s \$0-tick;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 6 0 8 0;
|
||||
#X connect 7 0 6 0;
|
||||
#X restore 217 598 pd startup;
|
||||
#X text 115 414 square the signal;
|
||||
#X text 124 440 <-- responsiveness;
|
||||
#X text 159 501 take snapshot;
|
||||
#X text 108 548 convert to RMS;
|
||||
#X text 327 599 updated for Pd version 0.39;
|
||||
#X text 334 381 follower for comparison;
|
||||
#X text 107 466 low-pass filter;
|
||||
#X text 114 573 output;
|
||||
#X obj 70 497 r \$0-tick;
|
||||
#X text 159 517 every 1/4 second;
|
||||
#X obj 389 439 r \$0-tick;
|
||||
#X obj 354 439 f;
|
||||
#X obj 376 414 env~;
|
||||
#X text 20 242 The env~ object at right \, which is a built-in envelope
|
||||
follower using a higher-quality low-pass filter than lop~ \, is shown
|
||||
for comparison. Its output is artificially slowed down to match the
|
||||
homemade one at left.;
|
||||
#X obj 150 359 *~;
|
||||
#X obj 185 360 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 204 358 <-- on/off;
|
||||
#X text 20 128 Here we're adding two oscillators so the result should
|
||||
be an RMS of one if the second oscillator is on \, 0.707 otherwise.
|
||||
Note two effects: first \, the more responsive the envelope follower
|
||||
\, the less accurate the result (but the faster it responds). Second
|
||||
\, if the two oscillators are tuned close to each other their beating
|
||||
affects the nombers coming out.;
|
||||
#X connect 0 0 15 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 32 0;
|
||||
#X connect 5 0 11 0;
|
||||
#X connect 6 0 5 1;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 7 0 10 1;
|
||||
#X connect 7 0 30 0;
|
||||
#X connect 9 0 7 0;
|
||||
#X connect 10 0 5 0;
|
||||
#X connect 11 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 26 0 11 0;
|
||||
#X connect 28 0 29 0;
|
||||
#X connect 29 0 0 0;
|
||||
#X connect 30 0 29 1;
|
||||
#X connect 32 0 7 1;
|
||||
#X connect 33 0 32 1;
|
88
pd-0.44-2/doc/3.audio.examples/H07.measure.spectrum.pd
Normal file
88
pd-0.44-2/doc/3.audio.examples/H07.measure.spectrum.pd
Normal file
|
@ -0,0 +1,88 @@
|
|||
#N canvas 407 54 626 729 12;
|
||||
#X floatatom 145 654 5 0 0 0 - - -;
|
||||
#X obj 44 565 bp~;
|
||||
#X obj 44 536 bp~;
|
||||
#X obj 55 467 mtof;
|
||||
#X floatatom 55 490 7 0 0 0 - - -;
|
||||
#X floatatom 98 520 3 0 999 0 - #0-q -;
|
||||
#X floatatom 55 447 7 0 150 0 - #0-pitch -;
|
||||
#X obj 145 586 env~ 4096;
|
||||
#X obj 45 370 *~ 0;
|
||||
#X obj 44 395 +~ 1;
|
||||
#X obj 145 608 + 0.5;
|
||||
#X obj 145 631 int;
|
||||
#X text 12 41 In this example we use two cascaded bandpass filters
|
||||
to troll for partials in Jonathan Harvey's famous bell sample.;
|
||||
#X text 16 233 You can hear partials around 48 \, 51.3 \, 55 (faint!)
|
||||
\, 57 (fainter!) \, 60 \, two beating partials around 65 \, 67 \, 69
|
||||
\, 70.9 \, 71.75 \, 72.6 \, 74 \, 74.65 \, 75.6 \, 77 \, 81.2 \, 84.6
|
||||
\, 86.5 \, and probably many more. There's also one down at 36 \, but
|
||||
it's easier to see it on the meter than hear it.;
|
||||
#X text 124 447 <-- center pitch;
|
||||
#X text 120 463 (shift-drag to fine tune);
|
||||
#X text 131 491 <-- center frequency;
|
||||
#X text 138 520 <-- Q (filter selectivity);
|
||||
#X obj 44 614 output~;
|
||||
#X text 341 680 updated for Pd version 0.39;
|
||||
#X text 14 82 Note that filters can give unexpected level changes.
|
||||
The bp~ object is designed to have roughly unit gain at the pass band
|
||||
\, so the higher you set "Q" the more amplitude is lost. You can correct
|
||||
for this by pushing the output amplitude \, but be sure to remember
|
||||
to reset the output amplitude before you reduce Q again. I set the
|
||||
Q to 100 and the output amplitude to 110 or 120 (with the room gain
|
||||
way down.) Then holding the shift key \, slowly drag the center pitch
|
||||
upward listening for modes.;
|
||||
#N canvas 316 21 483 471 startup 0;
|
||||
#X obj 53 335 r readfile;
|
||||
#X obj 53 388 soundfiler;
|
||||
#X obj 59 23 loadbang;
|
||||
#X obj 59 49 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 59 70 f \$0;
|
||||
#X obj 60 271 /;
|
||||
#X msg 60 248 44100;
|
||||
#X obj 60 223 t b f;
|
||||
#X obj 60 199 r \$0-totsamps;
|
||||
#X obj 60 294 s \$0-loopf;
|
||||
#X msg 59 102 \; readfile symbol \$1-array \; \$1-totsamps 143718 \;
|
||||
\$1-pitch 69 \; \$1-q 0;
|
||||
#X msg 53 361 read -resize ../sound/bell.aiff \$1;
|
||||
#X connect 0 0 11 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 10 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 7 1 5 1;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 11 0 1 0;
|
||||
#X restore 456 625 pd startup;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array \$0-array 155948 float 0;
|
||||
#X coords 0 1 155947 -1 200 150 1;
|
||||
#X restore 396 322 graph;
|
||||
#X obj 45 322 r \$0-loopf;
|
||||
#X obj 45 346 phasor~;
|
||||
#X obj 44 419 tabread4~ \$0-array;
|
||||
#X obj 89 370 r \$0-totsamps;
|
||||
#X text 109 12 MEASURING SPECTRA USING BANDPASS FILTERS;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 1 0 18 0;
|
||||
#X connect 1 0 18 1;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 2 1;
|
||||
#X connect 4 0 1 1;
|
||||
#X connect 5 0 2 2;
|
||||
#X connect 5 0 1 2;
|
||||
#X connect 6 0 3 0;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 25 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 0 0;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 24 0 8 0;
|
||||
#X connect 25 0 2 0;
|
||||
#X connect 26 0 8 1;
|
85
pd-0.44-2/doc/3.audio.examples/H08.heterodyning.pd
Normal file
85
pd-0.44-2/doc/3.audio.examples/H08.heterodyning.pd
Normal file
|
@ -0,0 +1,85 @@
|
|||
#N canvas 280 49 607 705 12;
|
||||
#X text 336 665 updated for Pd version 0.39;
|
||||
#X text 109 12 MORE ON MEASURING SPECTRA: HETERODYNING;
|
||||
#X obj 46 289 phasor~ 100;
|
||||
#X obj 99 343 phasor~;
|
||||
#X floatatom 99 320 5 0 999 0 - #0-freq -;
|
||||
#X obj 99 395 cos~;
|
||||
#X obj 148 395 cos~;
|
||||
#X obj 148 370 +~ 0.25;
|
||||
#X obj 47 547 snapshot~;
|
||||
#N canvas 536 459 382 265 startup 0;
|
||||
#X obj 22 24 loadbang;
|
||||
#X obj 22 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 22 67 f \$0;
|
||||
#X text 35 195 This subpatch loads initial;
|
||||
#X text 31 219 values in number boxes.;
|
||||
#X obj 223 132 metro 250;
|
||||
#X obj 223 107 r \$0-metro;
|
||||
#X obj 223 156 s \$0-tick;
|
||||
#X msg 22 91 \; \$1-freq 100 \; \$1-lop 2 \; \$1-metro 1 \; pd dsp
|
||||
1;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 8 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X restore 382 573 pd startup;
|
||||
#X obj 47 446 *~;
|
||||
#X obj 91 446 *~;
|
||||
#X obj 48 471 lop~;
|
||||
#X obj 92 471 lop~;
|
||||
#X floatatom 153 435 3 0 100 0 - #0-lop -;
|
||||
#X text 186 435 <-- responsiveness;
|
||||
#X obj 136 547 snapshot~;
|
||||
#X floatatom 47 575 5 0 0 0 - - -;
|
||||
#X floatatom 136 575 5 0 0 0 - - -;
|
||||
#X obj 161 496 r \$0-tick;
|
||||
#X obj 161 517 t b b;
|
||||
#X obj 47 643 expr sqrt($f1*$f1+$f2*$f2);
|
||||
#X floatatom 47 669 5 0 0 0 - - -;
|
||||
#X text 56 248 signal to;
|
||||
#X text 58 268 analyze;
|
||||
#X text 51 44 Another method for picking out the strengths of partials
|
||||
in a sound is heterodyning. We guess the frequency of a partial (as
|
||||
in the previous patch) but this time we multiply by a complex exponential
|
||||
to frequency-shift the partial down to zero (DC).;
|
||||
#X text 47 126 Then a low-pass filter (applied separately on the real
|
||||
and imaginary parts) removes all but the DC component thus obtained.
|
||||
The result is two audio signals (which we take snapshots of) holding
|
||||
the real and imaginary parts of the complex amplitude of the partial
|
||||
we want. Compared to the previous method \, this had the advantage
|
||||
of reporting the phase of the partial as well as its frequency.;
|
||||
#X text 240 358 modulate;
|
||||
#X text 237 394 to DC;
|
||||
#X text 154 321 <-- test frequency;
|
||||
#X text 236 376 test frequency;
|
||||
#X text 132 471 low-pass filter;
|
||||
#X text 55 596 real;
|
||||
#X text 59 611 part;
|
||||
#X text 207 589 part;
|
||||
#X text 198 574 imaginary;
|
||||
#X text 105 670 magnitude;
|
||||
#X connect 2 0 10 0;
|
||||
#X connect 2 0 11 0;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 5 0 10 1;
|
||||
#X connect 6 0 11 1;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 8 0 17 0;
|
||||
#X connect 10 0 12 0;
|
||||
#X connect 11 0 13 0;
|
||||
#X connect 12 0 8 0;
|
||||
#X connect 13 0 16 0;
|
||||
#X connect 14 0 13 1;
|
||||
#X connect 14 0 12 1;
|
||||
#X connect 16 0 18 0;
|
||||
#X connect 17 0 21 0;
|
||||
#X connect 18 0 21 1;
|
||||
#X connect 19 0 20 0;
|
||||
#X connect 20 0 8 0;
|
||||
#X connect 20 1 16 0;
|
||||
#X connect 21 0 22 0;
|
103
pd-0.44-2/doc/3.audio.examples/H09.ssb.modulation.pd
Normal file
103
pd-0.44-2/doc/3.audio.examples/H09.ssb.modulation.pd
Normal file
|
@ -0,0 +1,103 @@
|
|||
#N canvas 7 6 605 578 12;
|
||||
#X obj 188 393 cos~;
|
||||
#X obj 231 371 +~ -0.25;
|
||||
#X obj 231 394 cos~;
|
||||
#X obj 23 438 *~;
|
||||
#X obj 89 438 *~;
|
||||
#X obj 22 462 -~;
|
||||
#X floatatom 188 322 5 0 0 0 - - -;
|
||||
#X text 30 242 sample loop for;
|
||||
#X text 30 260 test signal;
|
||||
#X text 35 321 pair of allpass;
|
||||
#X text 34 338 filters to make;
|
||||
#X text 34 356 90 degree phase;
|
||||
#X text 32 373 shifted versions;
|
||||
#X text 238 323 <-- shift frequency;
|
||||
#X text 310 356 cosine and sine waves;
|
||||
#X text 55 7 SINGLE SIDEBAND MODULATION;
|
||||
#X text 300 7 (AKA FREQUENCY SHIFTING);
|
||||
#N canvas 555 154 448 326 bell-loop 0;
|
||||
#X obj 23 142 /;
|
||||
#X obj 23 214 +~ 1;
|
||||
#X msg 23 117 44100;
|
||||
#X obj 23 91 t b f;
|
||||
#X obj 24 264 outlet~;
|
||||
#N canvas 0 0 450 300 graph1 0;
|
||||
#X array \$0-array 155948 float 0;
|
||||
#X coords 0 1 155947 -1 200 150 1;
|
||||
#X restore 234 88 graph;
|
||||
#X obj 23 67 r \$0-totsamps;
|
||||
#X obj 65 190 r \$0-totsamps;
|
||||
#X obj 23 190 *~;
|
||||
#X obj 23 166 phasor~;
|
||||
#X obj 23 238 tabread4~ \$0-array;
|
||||
#X connect 0 0 9 0;
|
||||
#X connect 1 0 10 0;
|
||||
#X connect 2 0 0 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 3 1 0 1;
|
||||
#X connect 6 0 3 0;
|
||||
#X connect 7 0 8 1;
|
||||
#X connect 8 0 1 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 10 0 4 0;
|
||||
#X restore 24 279 pd bell-loop;
|
||||
#N canvas 711 110 483 471 startup 0;
|
||||
#X obj 53 335 r readfile;
|
||||
#X obj 53 388 soundfiler;
|
||||
#X obj 59 23 loadbang;
|
||||
#X obj 59 49 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 59 70 f \$0;
|
||||
#X obj 60 271 /;
|
||||
#X msg 60 248 44100;
|
||||
#X obj 60 223 t b f;
|
||||
#X obj 60 199 r \$0-totsamps;
|
||||
#X obj 60 294 s \$0-loopf;
|
||||
#X msg 53 361 read -resize ../sound/bell.aiff \$1;
|
||||
#X msg 59 102 \; readfile symbol \$1-array \; \$1-totsamps 143718;
|
||||
#X connect 0 0 10 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 11 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 7 1 5 1;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 10 0 1 0;
|
||||
#X restore 157 530 pd startup;
|
||||
#X obj 21 495 output~;
|
||||
#X text 352 547 updated for Pd version 0.39;
|
||||
#X obj 188 347 phasor~;
|
||||
#X text 123 438 <-- complex multipier;
|
||||
#X text 122 455 (calculates real part);
|
||||
#X text 309 371 to form the real and;
|
||||
#X text 309 387 imaginary part of a;
|
||||
#X text 309 404 complex sinusoid;
|
||||
#X text 43 37 The signal sideband modulator gives you only one sideband
|
||||
for each frequency in the input signal (whereas ring modulation gave
|
||||
both a positive and negative sideband). You can set the shift frequency
|
||||
positive to shift all frequencies upward \, or negative to shift them
|
||||
downwards.;
|
||||
#X text 42 117 The technique is to filter the input into two versions
|
||||
\, 90 degrees out of phase \, which can be interpreted as the real
|
||||
and imaginary part of a complex signal with positive frequencies only.
|
||||
You can then form the (complex) product of this with a (complex) sinusoid
|
||||
to modulate upward or downward in frequency.;
|
||||
#X obj 23 400 hilbert~;
|
||||
#X text 42 213 The "Hilbert~" object is an abstraction in pd/extra.
|
||||
;
|
||||
#X connect 0 0 3 1;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 4 1;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 5 1;
|
||||
#X connect 5 0 19 0;
|
||||
#X connect 5 0 19 1;
|
||||
#X connect 6 0 21 0;
|
||||
#X connect 17 0 29 0;
|
||||
#X connect 21 0 1 0;
|
||||
#X connect 21 0 0 0;
|
||||
#X connect 29 0 3 0;
|
||||
#X connect 29 1 4 0;
|
90
pd-0.44-2/doc/3.audio.examples/H10.measurement.pd
Normal file
90
pd-0.44-2/doc/3.audio.examples/H10.measurement.pd
Normal file
|
@ -0,0 +1,90 @@
|
|||
#N canvas 25 22 868 421 12;
|
||||
#X obj 25 338 filter-graph2 tab1 tab2;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array tab1 100 float 1;
|
||||
#A 0 0.830737 0.844715 0.882793 0.953057 1.0592 1.19383 1.30927 1.28362
|
||||
1.08532 0.848171 0.656605 0.517756 0.418204 0.345252 0.291106 0.249389
|
||||
0.216703 0.190566 0.169369 0.1519 0.137418 0.12526 0.114871 0.105957
|
||||
0.0982917 0.0916027 0.0857987 0.0806894 0.076187 0.0722001 0.0686727
|
||||
0.0655318 0.0627325 0.060178 0.0580025 0.056008 0.0542273 0.0526222
|
||||
0.0511875 0.0499289 0.0488555 0.0478795 0.0470241 0.0462859 0.0456642
|
||||
0.0451251 0.0447277 0.0444219 0.0442324 0.0443406 0.0449216 0.0393798
|
||||
0.0442362 0.0444218 0.0447274 0.0451473 0.0456706 0.0462777 0.0470196
|
||||
0.0478395 0.0488555 0.0499664 0.0512245 0.0526221 0.05419 0.0559661
|
||||
0.0580025 0.0602342 0.0627325 0.0655169 0.0686727 0.0722052 0.076187
|
||||
0.0806893 0.085799 0.0916177 0.0982915 0.10592 0.11479 0.12526 0.137483
|
||||
0.151997 0.169411 0.190532 0.216594 0.24918 0.291106 0.345511 0.418206
|
||||
0.517664 0.656606 0.848216 1.08532 1.28264 1.30927 1.19534 1.05919
|
||||
0.951738 0.882758 0.851605;
|
||||
#X coords 0 2 99 0 200 140 1;
|
||||
#X restore 634 -1 graph;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array tab2 100 float 3;
|
||||
#A 0 8.59501e-06 0.0327982 0.0790568 0.143062 0.250239 0.425263 0.697661
|
||||
1.04745 1.37257 1.59826 1.73194 1.8042 1.83798 1.84726 1.84029 1.8221
|
||||
1.79589 1.76375 1.72711 1.68696 1.64405 1.5989 1.55192 1.50343 1.45366
|
||||
1.40283 1.35108 1.29854 1.24532 1.19151 1.13718 1.0824 1.02722 0.971679
|
||||
0.915831 0.859703 0.803332 0.746743 0.689957 0.633001 0.57589 0.518653
|
||||
0.461293 0.403871 0.346275 0.288763 0.230985 0.173676 0.11652 0.0674726
|
||||
-0.000119478 6.21552 6.16648 6.10932 6.05201 5.99424 5.93673 5.87913
|
||||
5.82171 5.76435 5.70711 5.65 5.59304 5.53626 5.47967 5.4233 5.36717
|
||||
5.31132 5.25578 5.2006 5.14582 5.09149 5.03768 4.98446 4.93192 4.88017
|
||||
4.82934 4.77958 4.73108 4.6841 4.63895 4.59604 4.55589 4.51925 4.48711
|
||||
4.4609 4.44271 4.43574 4.44501 4.4788 4.55106 4.68474 4.91043 5.23555
|
||||
5.58534 5.85774 6.03276 6.13994 6.20394 6.24278;
|
||||
#X coords 0 6.283 99 0 200 140 1;
|
||||
#X restore 639 200 graph;
|
||||
#X text 621 56 1;
|
||||
#X text 633 342 0;
|
||||
#X text 615 265 pi;
|
||||
#X text 608 195 2pi;
|
||||
#X obj 25 203 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 33 249 5 0 0 0 - - -;
|
||||
#X text 621 -8 2;
|
||||
#X text 104 -6 MEASURING FILTER FREQUENCY AND PHASE RESPONSE;
|
||||
#X text 610 382 updated for Pd version 0.39;
|
||||
#X text 691 145 frequency;
|
||||
#X text 631 141 0;
|
||||
#X text 814 144 44100;
|
||||
#N canvas 876 177 375 255 startup 0;
|
||||
#X obj 22 24 loadbang;
|
||||
#X obj 22 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 22 67 f \$0;
|
||||
#X text 35 195 This subpatch loads initial;
|
||||
#X text 31 219 values in number boxes.;
|
||||
#X msg 22 91 \; \$1-freq 3000 \; \$1-q 3;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 285 350 pd startup;
|
||||
#X floatatom 238 257 5 0 10000 0 - #0-freq -;
|
||||
#X floatatom 249 280 3 0 999 0 - #0-q -;
|
||||
#X text 12 18 You can use the "filter-graph1" and "filter-graph2" abstractions
|
||||
as shown to test filters. Connect them as shown with a filter between
|
||||
them. Try varying the parameters and/or substituting other filters.
|
||||
;
|
||||
#X text 575 127 gain=0;
|
||||
#X text 574 327 phase=0;
|
||||
#X obj 25 226 filter-graph1 100 44100;
|
||||
#X obj 227 310 bp~;
|
||||
#X text 44 202 <-- compute;
|
||||
#X text 34 266 index;
|
||||
#X text 290 254 <-- center frequency;
|
||||
#X text 288 279 <-- "Q";
|
||||
#X text 9 86 "filter-graph1" takes as arguments the number of points
|
||||
to graph and the frequency range. "filter-graph2 takes as arguments
|
||||
the name of a table to hold the (frequency dependent) gain \, and another
|
||||
\, if specified \, for the phase.;
|
||||
#X text 8 153 You can edit this patch to replace "bp" with any other
|
||||
filter you're curious about.;
|
||||
#X connect 7 0 21 0;
|
||||
#X connect 16 0 22 1;
|
||||
#X connect 17 0 22 2;
|
||||
#X connect 21 0 0 0;
|
||||
#X connect 21 0 8 0;
|
||||
#X connect 21 1 0 1;
|
||||
#X connect 21 1 22 0;
|
||||
#X connect 21 2 0 2;
|
||||
#X connect 22 0 0 3;
|
74
pd-0.44-2/doc/3.audio.examples/H11.shelving.pd
Normal file
74
pd-0.44-2/doc/3.audio.examples/H11.shelving.pd
Normal file
|
@ -0,0 +1,74 @@
|
|||
#N canvas 25 22 868 421 12;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array \$0-tab1 100 float 1;
|
||||
#A 0 1.39998 1.39868 1.3942 1.39349 1.38496 1.3772 1.36745 1.35633
|
||||
1.34208 1.32931 1.31817 1.30372 1.28879 1.27458 1.25944 1.24351 1.22874
|
||||
1.21386 1.19924 1.18487 1.17063 1.15653 1.14284 1.13144 1.11914 1.10722
|
||||
1.09603 1.08515 1.07479 1.06474 1.05519 1.04606 1.03715 1.02899 1.02092
|
||||
1.0128 1.00624 0.999291 0.992705 0.986255 0.980081 0.974014 0.969307
|
||||
0.964106 0.959111 0.954207 0.949901 0.945593 0.941227 0.937556 0.933778
|
||||
0.930231 0.926681 0.923353 0.920059 0.917466 0.914627 0.911849 0.9092
|
||||
0.906745 0.904264 0.901469 0.900065 0.898006 0.896023 0.893895 0.892373
|
||||
0.890666 0.889038 0.887483 0.885924 0.884597 0.883215 0.881537 0.880075
|
||||
0.879619 0.878522 0.877414 0.876234 0.87571 0.874819 0.873886 0.873124
|
||||
0.87241 0.871807 0.870763 0.870512 0.869952 0.869465 0.868958 0.868403
|
||||
0.86826 0.867939 0.866731 0.867094 0.867762 0.867796 0.864339 0.872811
|
||||
0.920535;
|
||||
#X coords 0 5 99 0 200 300 1;
|
||||
#X restore 621 28 graph;
|
||||
#X obj 29 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 37 289 3 0 0 0 - - -;
|
||||
#X text 676 334 frequency;
|
||||
#N canvas 876 177 375 255 startup 0;
|
||||
#X obj 22 24 loadbang;
|
||||
#X obj 22 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 22 67 f \$0;
|
||||
#X text 35 195 This subpatch loads initial;
|
||||
#X text 31 219 values in number boxes.;
|
||||
#X msg 22 91 \; \$1-pole 60 \; \$1-zero 20;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 289 390 pd startup;
|
||||
#X floatatom 281 265 3 -99 99 0 - #0-pole -;
|
||||
#X text 559 316 gain=0;
|
||||
#X text 108 34 SHELVING FILTER;
|
||||
#X obj 29 378 filter-graph2 \$0-tab1;
|
||||
#X obj 29 266 filter-graph1 100 22050;
|
||||
#X text 796 330 22050;
|
||||
#X obj 232 314 rpole~;
|
||||
#X obj 281 288 / 100;
|
||||
#X floatatom 335 264 4 -100 100 0 - #0-zero -;
|
||||
#X obj 335 287 / 100;
|
||||
#X obj 231 346 rzero~;
|
||||
#X text 608 21 5;
|
||||
#X text 616 327 0;
|
||||
#X text 604 258 1;
|
||||
#X text 16 58 This patch demonstrates using the raw filters \, rpole~
|
||||
and rzero~ (raw \, real-valued one-pole and one-zero filters) \, to
|
||||
make a shelving filter.;
|
||||
#X text 14 109 If the pole is at p and the zero is at q \, the gain
|
||||
at DC is (1-q)/(1-p) and the gain at Nyquist is (1+q)/(1+p). If the
|
||||
pole location is close to plus or minus one \, this can give large
|
||||
gains unless q is in the same vicinity. (try \, for example \, p=90%
|
||||
\, q=70%).;
|
||||
#X text 11 191 The crossover region varies from DC to Nyquist as p
|
||||
and q decrease from 100% to -100%.;
|
||||
#X text 278 241 pole;
|
||||
#X text 334 241 zero;
|
||||
#X text 383 263 (in hundredths);
|
||||
#X text 610 387 updated for Pd version 0.39;
|
||||
#X connect 1 0 9 0;
|
||||
#X connect 5 0 12 0;
|
||||
#X connect 9 0 2 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 9 1 8 1;
|
||||
#X connect 9 1 11 0;
|
||||
#X connect 9 2 8 2;
|
||||
#X connect 11 0 15 0;
|
||||
#X connect 12 0 11 1;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 14 0 15 1;
|
||||
#X connect 15 0 8 3;
|
112
pd-0.44-2/doc/3.audio.examples/H12.peaking.pd
Normal file
112
pd-0.44-2/doc/3.audio.examples/H12.peaking.pd
Normal file
|
@ -0,0 +1,112 @@
|
|||
#N canvas 41 39 854 640 12;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array \$0-tab1 100 float 1;
|
||||
#A 0 0.960563 0.960996 0.962862 0.970269 0.977017 0.985214 1.00122
|
||||
1.02249 1.05453 1.10332 1.18193 1.31034 1.5315 1.91468 2.37977 2.37001
|
||||
1.92679 1.57244 1.36114 1.23298 1.15262 1.09943 1.06243 1.03636 1.0162
|
||||
1.00108 0.990295 0.981066 0.973613 0.967183 0.962328 0.958092 0.95445
|
||||
0.951329 0.948619 0.946121 0.943931 0.941728 0.940557 0.93934 0.938046
|
||||
0.936816 0.935569 0.934901 0.933719 0.933252 0.932534 0.931875 0.93121
|
||||
0.930347 0.929637 0.929717 0.929279 0.928865 0.928444 0.927868 0.92761
|
||||
0.926893 0.927202 0.926932 0.926666 0.926305 0.925926 0.926007 0.925702
|
||||
0.925624 0.92545 0.925285 0.924954 0.924532 0.924071 0.924718 0.924596
|
||||
0.924454 0.924247 0.923846 0.924172 0.923627 0.924005 0.92393 0.923866
|
||||
0.923769 0.923157 0.923666 0.923974 0.923561 0.923498 0.923437 0.922882
|
||||
0.922781 0.92203 0.923331 0.923265 0.922948 0.922413 0.922799 0.925651
|
||||
0.921397 0.931729 0.976084;
|
||||
#X coords 0 5 99 0 200 300 1;
|
||||
#X restore 616 193 graph;
|
||||
#X obj 41 404 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 49 448 3 0 0 0 - - -;
|
||||
#X text 671 499 frequency;
|
||||
#N canvas 876 177 375 255 startup 0;
|
||||
#X obj 22 24 loadbang;
|
||||
#X obj 22 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 22 67 f \$0;
|
||||
#X text 35 195 This subpatch loads initial;
|
||||
#X text 31 219 values in number boxes.;
|
||||
#X msg 22 91 \; \$1-pole 60 \; \$1-zero 20;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 328 602 pd startup;
|
||||
#X floatatom 276 368 3 0 99 0 - #0-pole -;
|
||||
#X text 554 481 gain=0;
|
||||
#X obj 41 600 filter-graph2 \$0-tab1;
|
||||
#X obj 41 425 filter-graph1 100 22050;
|
||||
#X text 791 495 22050;
|
||||
#X obj 276 391 / 100;
|
||||
#X floatatom 330 367 4 0 100 0 - #0-zero -;
|
||||
#X obj 330 390 / 100;
|
||||
#X text 594 182 5;
|
||||
#X text 611 492 0;
|
||||
#X text 599 423 1;
|
||||
#X text 596 596 updated for Pd version 0.39;
|
||||
#X text 183 10 PEAKING FILTER;
|
||||
#X floatatom 406 366 3 0 180 0 - #0-pole -;
|
||||
#X text 415 328 angle;
|
||||
#X text 399 344 (degrees);
|
||||
#X obj 460 435 sin;
|
||||
#X obj 405 436 cos;
|
||||
#X obj 405 387 * 3.14159;
|
||||
#X obj 405 411 / 180;
|
||||
#X obj 241 515 *;
|
||||
#X obj 405 460 t b f;
|
||||
#X obj 460 460 t b f;
|
||||
#X obj 209 543 cpole~;
|
||||
#X obj 226 574 czero~;
|
||||
#X text 266 332 pole and zero;
|
||||
#X text 284 347 radii (%);
|
||||
#X obj 277 516 *;
|
||||
#X obj 314 542 *;
|
||||
#X obj 349 542 *;
|
||||
#X text 21 34 To get a peaking filter \, start with a shelving filter
|
||||
but rotate the pole and zero to the point on the unit circle you want
|
||||
to amplify or attenuate. The rpole~ and rzero~ filters are replaced
|
||||
with their complex-valued siblings \, cpole~ and czero~. These filters
|
||||
take a (real \, imaginary) pair to filter and another (real-imaginary)
|
||||
pair to specify the pole or zero. As for rpole~ and rzero~ \, the coefficients
|
||||
may change at audio rate.;
|
||||
#X text 22 162 The outputs of cpole~ and czero~ are also in the form
|
||||
of a (real-imaginary) pair. Both outlets of cpole~ are connected to
|
||||
czero~ in this example \, but then since we want a real-valued filter
|
||||
\, we only take the real part of the (complex) output of czero~.;
|
||||
#X text 23 246 Here the pole and zero radii (p and q) control the center-frequency
|
||||
gain by the formula (1-q)/(1-p). The closer to 1 the radii \, the narrower
|
||||
the band affected. The non-peak gain \, (1+q)/(1+p) \, is close to
|
||||
1 as long as p and q are at least 50% or so.;
|
||||
#X connect 1 0 8 0;
|
||||
#X connect 5 0 10 0;
|
||||
#X connect 8 0 2 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 8 1 7 1;
|
||||
#X connect 8 1 28 0;
|
||||
#X connect 8 2 7 2;
|
||||
#X connect 10 0 25 0;
|
||||
#X connect 10 0 32 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 33 0;
|
||||
#X connect 12 0 34 0;
|
||||
#X connect 18 0 23 0;
|
||||
#X connect 21 0 27 0;
|
||||
#X connect 22 0 26 0;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 24 0 22 0;
|
||||
#X connect 24 0 21 0;
|
||||
#X connect 25 0 28 2;
|
||||
#X connect 26 0 25 0;
|
||||
#X connect 26 0 33 0;
|
||||
#X connect 26 1 25 1;
|
||||
#X connect 26 1 33 1;
|
||||
#X connect 27 0 32 0;
|
||||
#X connect 27 0 34 0;
|
||||
#X connect 27 1 34 1;
|
||||
#X connect 27 1 32 1;
|
||||
#X connect 28 0 29 0;
|
||||
#X connect 28 1 29 1;
|
||||
#X connect 29 0 7 3;
|
||||
#X connect 32 0 28 3;
|
||||
#X connect 33 0 29 2;
|
||||
#X connect 34 0 29 3;
|
74
pd-0.44-2/doc/3.audio.examples/H13.butterworth.pd
Normal file
74
pd-0.44-2/doc/3.audio.examples/H13.butterworth.pd
Normal file
|
@ -0,0 +1,74 @@
|
|||
#N canvas 49 22 840 502 12;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array \$0-tab1 100 float 1;
|
||||
#A 0 0.999974 0.998121 0.998981 1.00106 1.00019 1.00133 1.00017 0.997406
|
||||
0.995891 0.986251 0.976591 0.959539 0.93749 0.903172 0.859824 0.805118
|
||||
0.744756 0.682757 0.617726 0.555802 0.496807 0.443599 0.395099 0.351557
|
||||
0.313317 0.279982 0.250867 0.225225 0.202565 0.182842 0.165875 0.150662
|
||||
0.13708 0.125107 0.11452 0.105018 0.0965065 0.0887956 0.0819179 0.0757449
|
||||
0.0701302 0.0650313 0.0604129 0.056344 0.0525467 0.0490616 0.04589
|
||||
0.0429836 0.0403206 0.0378735 0.0355742 0.0334788 0.0315483 0.0297412
|
||||
0.0280809 0.0265134 0.0251207 0.0237881 0.0225431 0.0213794 0.0203074
|
||||
0.0192861 0.0183551 0.0174563 0.0166231 0.0158432 0.0151 0.0144158
|
||||
0.0137608 0.0131513 0.0125729 0.0120266 0.0115073 0.0110253 0.0105541
|
||||
0.0101301 0.00971218 0.0093198 0.00894806 0.00859575 0.00825236 0.00794149
|
||||
0.00763651 0.00734779 0.00707258 0.0068092 0.00656191 0.0063171 0.00609739
|
||||
0.00587868 0.0056713 0.00547262 0.00528366 0.00509866 0.00493017 0.00476291
|
||||
0.00460384 0.00445121 0.00430475 0.00416536;
|
||||
#X coords 0 5 99 0 200 300 1;
|
||||
#X restore 615 71 graph;
|
||||
#X obj 32 250 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 40 294 3 0 0 0 - - -;
|
||||
#X text 670 377 frequency;
|
||||
#N canvas 876 177 375 255 startup 0;
|
||||
#X obj 22 24 loadbang;
|
||||
#X obj 22 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 22 67 f \$0;
|
||||
#X text 35 195 This subpatch loads initial;
|
||||
#X text 31 219 values in number boxes.;
|
||||
#X msg 22 91 \; \$1-lf 80 \; \$1-hf 150 \;;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 324 431 pd startup;
|
||||
#X text 553 359 gain=0;
|
||||
#X obj 32 446 filter-graph2 \$0-tab1;
|
||||
#X text 593 60 5;
|
||||
#X text 610 370 0;
|
||||
#X text 598 301 1;
|
||||
#X text 575 435 updated for Pd version 0.39;
|
||||
#X text 186 -4 BUTTERWORTH FILTER;
|
||||
#X obj 216 398 butterworth3~;
|
||||
#X floatatom 244 340 3 0 100 0 - #0-lf -;
|
||||
#X floatatom 291 339 3 85 150 0 - #0-hf -;
|
||||
#X obj 244 366 mtof;
|
||||
#X obj 291 366 mtof;
|
||||
#X text 790 373 5000;
|
||||
#X obj 32 271 filter-graph1 100 5000;
|
||||
#X text 232 318 poles;
|
||||
#X text 288 318 zeros;
|
||||
#X text 24 20 The butterworth filter can be configured for low-pass
|
||||
\, high-pass \, and shelving \, depending on the placement of the poles
|
||||
and zeros. For low-pass \, the poles are placed to set the cutoff frequency
|
||||
and the zeros are at -1 (the Nyquist). Leaving the poles fixed and
|
||||
moving the zeros then gives shelving filters. In this example \, the
|
||||
actual filtering is relegated to an abstraction (butterworth3~) which
|
||||
takes frequencies corresponding to the pole and zero placement.;
|
||||
#X text 24 147 The butterworth3~ abstraction computes filter coeffients
|
||||
using control messages \, and so it is not suitable for continuously
|
||||
time-varying Butterworth filters. For that \, it is often appropriate
|
||||
to use time-saving approximations \, but precisely which approximations
|
||||
to use will depend on the way the filter is to be used.;
|
||||
#X connect 1 0 18 0;
|
||||
#X connect 12 0 6 3;
|
||||
#X connect 13 0 15 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 15 0 12 1;
|
||||
#X connect 16 0 12 2;
|
||||
#X connect 18 0 2 0;
|
||||
#X connect 18 0 6 0;
|
||||
#X connect 18 1 6 1;
|
||||
#X connect 18 1 12 0;
|
||||
#X connect 18 2 6 2;
|
85
pd-0.44-2/doc/3.audio.examples/H14.all.pass.pd
Normal file
85
pd-0.44-2/doc/3.audio.examples/H14.all.pass.pd
Normal file
|
@ -0,0 +1,85 @@
|
|||
#N canvas 25 22 868 421 12;
|
||||
#X obj 25 338 filter-graph2 tab1 tab2;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array tab1 100 float 1;
|
||||
#A 0 0.999994 1.0015 1.00454 0.999907 0.99994 0.999773 1.00002 1.0004
|
||||
0.999993 0.998703 1 0.999993 1 0.999699 0.999312 0.99924 0.999999 1
|
||||
0.999937 0.999782 0.999733 0.999322 0.9998 1 0.999998 0.999945 0.999998
|
||||
0.999779 0.999998 1 0.999991 0.999998 0.999999 0.99949 1 0.999165 1
|
||||
0.999991 0.999833 0.999694 1.00014 0.999247 1.00001 0.999976 1.00001
|
||||
0.99974 0.999947 0.998428 1.00052 1.00383 1.00011 0.991395 1.0006 1.00077
|
||||
0.999952 0.999955 1.00003 0.999937 0.999955 0.999616 0.999266 0.99916
|
||||
1 0.999989 0.999831 0.999696 1 0.999239 0.999998 0.999998 0.999993
|
||||
0.999998 0.999998 0.999426 0.999998 0.999999 0.999998 0.999916 0.999714
|
||||
0.99951 0.999825 0.999998 0.999999 0.999962 0.999837 0.999605 1 0.999164
|
||||
0.999996 0.99999 1 0.99999 0.999991 0.998888 1.00002 0.999955 0.999942
|
||||
0.999432 1.00007 1.00956;
|
||||
#X coords 0 2 99 0 200 140 1;
|
||||
#X restore 634 -1 graph;
|
||||
#N canvas 0 0 450 300 graph2 0;
|
||||
#X array tab2 100 float 3;
|
||||
#A 0 8.595e-06 0.0615936 0.127096 0.18809 0.251487 0.314087 0.376949
|
||||
0.439804 0.502669 0.565481 0.628309 0.691149 0.753982 0.816816 0.879645
|
||||
0.942477 1.00531 1.06814 1.13097 1.1938 1.25663 1.31947 1.3823 1.44513
|
||||
1.50796 1.5708 1.63363 1.69646 1.75929 1.82212 1.88496 1.94779 2.01062
|
||||
2.07345 2.13628 2.19912 2.26195 2.32478 2.38761 2.45045 2.51327 2.5761
|
||||
2.63893 2.70178 2.76457 2.82751 2.89011 2.9535 3.01727 3.08969 3.14147
|
||||
3.19331 3.26573 3.3295 3.39289 3.45549 3.51843 3.58122 3.64407 3.7069
|
||||
3.76973 3.83255 3.89539 3.95822 4.02105 4.08388 4.14672 4.20955 4.27238
|
||||
4.33521 4.39804 4.46088 4.52371 4.58654 4.64937 4.7122 4.77504 4.83787
|
||||
4.9007 4.96353 5.02637 5.0892 5.15203 5.21486 5.27769 5.34052 5.40335
|
||||
5.46619 5.52902 5.59185 5.65469 5.71752 5.78033 5.8432 5.90605 5.96891
|
||||
6.03151 6.09491 6.1559 6.21446;
|
||||
#X coords 0 6.283 99 0 200 140 1;
|
||||
#X restore 639 200 graph;
|
||||
#X text 621 56 1;
|
||||
#X text 633 342 0;
|
||||
#X text 615 265 pi;
|
||||
#X text 608 195 2pi;
|
||||
#X obj 25 203 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X floatatom 33 249 5 0 0 0 - - -;
|
||||
#X text 621 -8 2;
|
||||
#X text 610 382 updated for Pd version 0.39;
|
||||
#X text 691 145 frequency;
|
||||
#X text 631 141 0;
|
||||
#X text 814 144 44100;
|
||||
#N canvas 876 177 375 255 startup 0;
|
||||
#X obj 22 24 loadbang;
|
||||
#X obj 22 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 22 67 f \$0;
|
||||
#X text 35 195 This subpatch loads initial;
|
||||
#X text 31 219 values in number boxes.;
|
||||
#X msg 22 91 \; \$1-pole 80;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 398 370 pd startup;
|
||||
#X text 575 127 gain=0;
|
||||
#X text 574 327 phase=0;
|
||||
#X obj 25 226 filter-graph1 100 44100;
|
||||
#X text 44 202 <-- compute;
|
||||
#X text 34 266 index;
|
||||
#X text 104 -6 ALL-PASS FILTERS;
|
||||
#X floatatom 346 264 3 -99 99 0 - #0-pole -;
|
||||
#X obj 239 306 rpole~;
|
||||
#X obj 346 287 / 100;
|
||||
#X obj 239 281 rzero_rev~;
|
||||
#X text 341 240 pole (%);
|
||||
#X text 14 20 The all-pass filter has a phase response that depends
|
||||
on its coefficient \, and a flat frequency response. The coefficient
|
||||
(p) gives the location of the pole. There is a zero at 1/p \, unless
|
||||
p=0. If p=0 the filter is effectively a one-sample delay. Negative
|
||||
values of $p$ are allowed \, as long as p is between -1 and 1;
|
||||
#X connect 7 0 17 0;
|
||||
#X connect 17 0 0 0;
|
||||
#X connect 17 0 8 0;
|
||||
#X connect 17 1 0 1;
|
||||
#X connect 17 1 24 0;
|
||||
#X connect 17 2 0 2;
|
||||
#X connect 21 0 23 0;
|
||||
#X connect 22 0 0 3;
|
||||
#X connect 23 0 24 1;
|
||||
#X connect 23 0 22 1;
|
||||
#X connect 24 0 22 0;
|
109
pd-0.44-2/doc/3.audio.examples/H15.phaser.pd
Normal file
109
pd-0.44-2/doc/3.audio.examples/H15.phaser.pd
Normal file
|
@ -0,0 +1,109 @@
|
|||
#N canvas 25 22 703 596 12;
|
||||
#X text 448 562 updated for Pd version 0.39;
|
||||
#X text 167 -1 PHASER;
|
||||
#N canvas 876 177 375 255 startup 0;
|
||||
#X obj 22 24 loadbang;
|
||||
#X obj 22 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 22 67 f \$0;
|
||||
#X text 35 195 This subpatch loads initial;
|
||||
#X text 31 219 values in number boxes.;
|
||||
#X msg 22 91 \; \$1-pole 80;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X restore 323 561 pd startup;
|
||||
#N canvas 0 0 660 424 chord 0;
|
||||
#X obj 87 97 -~ 0.5;
|
||||
#X obj 87 146 clip~ -0.5 0.5;
|
||||
#X obj 87 169 cos~;
|
||||
#X obj 91 252 hip~ 5;
|
||||
#X obj 91 315 outlet~;
|
||||
#X obj 87 122 *~ 3;
|
||||
#X obj 87 74 phasor~ 220;
|
||||
#X obj 221 97 -~ 0.5;
|
||||
#X obj 221 146 clip~ -0.5 0.5;
|
||||
#X obj 221 169 cos~;
|
||||
#X obj 221 122 *~ 3;
|
||||
#X obj 356 100 -~ 0.5;
|
||||
#X obj 356 149 clip~ -0.5 0.5;
|
||||
#X obj 356 172 cos~;
|
||||
#X obj 356 125 *~ 3;
|
||||
#X obj 491 100 -~ 0.5;
|
||||
#X obj 491 149 clip~ -0.5 0.5;
|
||||
#X obj 491 172 cos~;
|
||||
#X obj 491 125 *~ 3;
|
||||
#X obj 221 74 phasor~ 251;
|
||||
#X obj 356 77 phasor~ 281;
|
||||
#X obj 491 77 phasor~ 311;
|
||||
#X text 147 32 test sound for phaser;
|
||||
#X obj 91 285 *~ 0.2;
|
||||
#X connect 0 0 5 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 23 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 3 0;
|
||||
#X connect 10 0 8 0;
|
||||
#X connect 11 0 14 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 3 0;
|
||||
#X connect 14 0 12 0;
|
||||
#X connect 15 0 18 0;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 17 0 3 0;
|
||||
#X connect 18 0 16 0;
|
||||
#X connect 19 0 7 0;
|
||||
#X connect 20 0 11 0;
|
||||
#X connect 21 0 15 0;
|
||||
#X connect 23 0 4 0;
|
||||
#X restore 73 271 pd chord;
|
||||
#X obj 72 533 output~;
|
||||
#X obj 95 325 rpole~;
|
||||
#X obj 95 300 rzero_rev~;
|
||||
#X obj 95 374 rpole~;
|
||||
#X obj 95 349 rzero_rev~;
|
||||
#X obj 95 422 rpole~;
|
||||
#X obj 95 397 rzero_rev~;
|
||||
#X obj 95 471 rpole~;
|
||||
#X obj 95 446 rzero_rev~;
|
||||
#X obj 72 501 +~;
|
||||
#X text 23 17 The phaser ranks \, along with fuzz and wah-wah \, as
|
||||
one of the great guitar pedals. A phaser simply adds an all-passed
|
||||
copy of the signal to the original \, making phase reinforcement and
|
||||
cancellation at frequencies that depend on the all-pass coefficients.
|
||||
In this example the coefficients range from 0.88 to 0.98 \, controlled
|
||||
by a phasor~ object (no relation). The phasor~ is converted to a symmetrical
|
||||
triangle wave (abs($v1-0.5)) and then ranged appropriately.;
|
||||
#X obj 250 417 phasor~ 0.3;
|
||||
#X text 22 158 Many variations of this have been invented. A deeper
|
||||
effect can be obtained by using 12 all-pass filters and adding the
|
||||
outputs of the 4th \, 8th. and 12th one to the original. Various stereo
|
||||
configurations are possible. Some people use 6 instead of the 4 stages
|
||||
used here. Controls can be added to change the frequency of sweeping
|
||||
and the range of the all-pass coeefficients.;
|
||||
#X obj 250 449 expr~ 1 - 0.03 - 0.6*abs($v1-0.5)*abs($v1-0.5);
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 0 13 0;
|
||||
#X connect 5 0 8 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 12 0;
|
||||
#X connect 10 0 9 0;
|
||||
#X connect 11 0 13 1;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 13 0 4 0;
|
||||
#X connect 13 0 4 1;
|
||||
#X connect 15 0 17 0;
|
||||
#X connect 17 0 6 1;
|
||||
#X connect 17 0 5 1;
|
||||
#X connect 17 0 8 1;
|
||||
#X connect 17 0 7 1;
|
||||
#X connect 17 0 10 1;
|
||||
#X connect 17 0 9 1;
|
||||
#X connect 17 0 12 1;
|
||||
#X connect 17 0 11 1;
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue