aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/B03.tabread4.pd
blob: 15fa66529264c7ddae6ee0be7b1614664e16c79d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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;