-
Notifications
You must be signed in to change notification settings - Fork 0
/
Final_Octave_illusion.pd
126 lines (126 loc) · 3.8 KB
/
Final_Octave_illusion.pd
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
#N canvas 4 47 1250 643 12;
#X text 100 240 mapping keyboard presses to MIDI values;
#X obj 56 240 key;
#X obj 60 270 sel 97 115 100 102 103 104 106, f 43;
#X floatatom 63 398 5 0 0 0 - - -, f 5;
#X obj 56 346 + 0;
#X text 192 428 get triggered with note on message;
#X obj 59 430 makenote 1 1000, f 18;
#X text 142 458 velocity;
#X text 57 458 pitch;
#X obj 215 451 bng 12 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X obj 24 446 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000;
#X obj 52 628 osc~;
#X obj 52 668 *~ 1;
#X obj 52 598 mtof;
#X obj 570 380 metro 250;
#X obj 570 240 loadbang;
#X obj 570 430 tgl 17 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X obj 570 470 * 12;
#X obj 52 548 +;
#X floatatom 112 558 5 0 0 0 - - -, f 5;
#X obj 510 520 t b f;
#X floatatom 50 510 5 0 0 0 - - -, f 5;
#X msg 730 280 \; stop 0;
#X obj 112 598 r stop;
#X obj 570 320 r stop;
#X msg 660 280 \; start 1;
#X obj 162 598 r start;
#X obj 620 320 r start;
#X floatatom 570 520 5 0 0 0 - - -, f 5;
#X obj 99 347 + 12;
#X obj 147 347 + 1;
#X obj 191 347 + 13;
#X obj 240 350 + 2;
#X obj 287 351 + 14;
#X obj 330 350 + 3;
#X msg 59 304 45;
#X msg 101 306 45;
#X msg 144 305 45;
#X msg 185 305 45;
#X msg 234 307 45;
#X msg 280 306 45;
#X msg 320 310 45;
#X obj 260 640 delwrite~ d 250;
#X obj 260 670 delread~ d 250;
#X obj 52 738 output~;
#X obj 190 720 loadbang;
#X msg 190 750 0.8;
#X text 600 430 generate 0 and 1 message;
#X text 390 640 The other channel output is created with the copy of
the delayed signal by a 250ms lag and in this case where the beat rate
is one cycle per second 250ms lag is half of a cycle so that two signals
are out of phase against each other.;
#X text 510 550 The trigger object sends bang message to the left inlet
of summing operator to trigger it outputting a new numbers as the left
input alternates between 0 and 12;
#X text 660 240 Click start and stop whenever you want;
#X text 300 60 This is a PD patch demo for Octave Illusion as investigated
by Diana Deutsch. The patch generates two audio signals. Each alternates
between two tones that are spaced an octave apart \, with the only
difference that when the right ear receives the high tone the left
ear receives the low tone \, and vice versa. The tones are sine waves
of constant amplitude \, and follow each other without amplitude drops
at the transitions., f 82;
#X text 300 30 Project Objective:;
#X text 50 180 On the left is a keyboard controlled sinewave oscillator:
press a key on the middle row ('A' to 'J') to change the pitch., f
55;
#X text 570 180 On the right is the control block with start and stop
control. It also shifts the pitch up by an octave to create the higher
tone of the sequence.;
#X text 614 469 scaling by 12;
#X text 350 310 A3: base key value.;
#X obj -10 270 loadbang;
#X connect 1 0 2 0;
#X connect 2 0 35 0;
#X connect 2 1 36 0;
#X connect 2 2 37 0;
#X connect 2 3 38 0;
#X connect 2 4 39 0;
#X connect 2 5 40 0;
#X connect 2 6 41 0;
#X connect 3 0 6 0;
#X connect 4 0 3 0;
#X connect 6 0 10 0;
#X connect 6 0 21 0;
#X connect 6 1 9 0;
#X connect 11 0 12 0;
#X connect 12 0 42 0;
#X connect 12 0 44 0;
#X connect 13 0 11 0;
#X connect 14 0 16 0;
#X connect 15 0 14 0;
#X connect 15 0 25 0;
#X connect 16 0 17 0;
#X connect 17 0 20 0;
#X connect 17 0 28 0;
#X connect 18 0 13 0;
#X connect 18 0 19 0;
#X connect 20 0 18 0;
#X connect 20 1 18 1;
#X connect 21 0 18 0;
#X connect 23 0 12 1;
#X connect 24 0 14 0;
#X connect 26 0 12 1;
#X connect 27 0 14 0;
#X connect 29 0 3 0;
#X connect 30 0 3 0;
#X connect 31 0 3 0;
#X connect 32 0 3 0;
#X connect 33 0 3 0;
#X connect 34 0 3 0;
#X connect 35 0 4 0;
#X connect 36 0 29 0;
#X connect 37 0 30 0;
#X connect 38 0 31 0;
#X connect 39 0 32 0;
#X connect 40 0 33 0;
#X connect 41 0 34 0;
#X connect 43 0 44 1;
#X connect 45 0 46 0;
#X connect 46 0 44 2;
#X connect 57 0 35 0;