-
Notifications
You must be signed in to change notification settings - Fork 0
/
binauralsynth.pd
986 lines (986 loc) · 26.7 KB
/
binauralsynth.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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
#N canvas 82 98 1256 936 10;
#X obj 599 -8 cnv 15 277 900 empty empty empty 46 13 0 14 #9cd080 #404040
0;
#N canvas 127 87 877 871 output 0;
#X obj 353 490 t b;
#X obj 353 437 f;
#X obj 353 515 f;
#X msg 467 514 0;
#X obj 353 467 moses 1;
#X obj 467 486 t b f;
#X obj 433 447 moses 1;
#X obj 29 97 dbtorms;
#X obj 85 170 inlet~;
#X msg 287 315 \; pd dsp 1;
#X obj 29 170 line~;
#X obj 64 242 *~;
#X obj 64 272 dac~;
#X obj 29 127 pack 0 50;
#X text 209 141 audio in;
#X text 138 464 test if less than 1 -->;
#X text 104 491 if true convert to bang -->;
#X text 183 99 <-- convert from dB to linear units;
#X floatatom 323 219 3 0 100 0 dB - - 0;
#X obj 350 240 bng 15 250 50 0 empty empty mute -38 7 0 12 #fcfcfc
#000000 #000000;
#X text 191 125 <-- make a ramp to avoid clicks or zipper noise;
#X obj 148 170 inlet~;
#X obj 154 241 *~;
#X text 373 378 MUTE logic:;
#X obj 323 174 r \$0-master-lvl;
#X obj 353 541 s \$0-master-lvl;
#X obj 323 279 s \$0-master-out;
#X obj 29 71 r \$0-master-out;
#X obj 435 408 r \$0-master-out;
#X text 60 10 Level control abstraction \, used in many of the Pd example
patches. The "level" and "mute" controls show up on the parent \, calling
patch.;
#X text 66 517 previous nonzero master-lvl -->;
#X text 138 421 recall previous;
#X text 138 439 value of master-lvl -->;
#X text 39 319 automatically start DSP -->;
#X obj 85 192 hip~ 3;
#X obj 147 192 hip~ 3;
#X obj 478 176 loadbang;
#X msg 480 222 85;
#X obj 564 193 r master_volume;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 25 0;
#X connect 3 0 25 0;
#X connect 4 0 0 0;
#X connect 4 1 5 0;
#X connect 5 0 3 0;
#X connect 6 1 2 1;
#X connect 7 0 13 0;
#X connect 8 0 34 0;
#X connect 10 0 22 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 13 0 10 0;
#X connect 18 0 9 0;
#X connect 18 0 26 0;
#X connect 19 0 1 0;
#X connect 21 0 35 0;
#X connect 22 0 12 1;
#X connect 24 0 18 0;
#X connect 27 0 7 0;
#X connect 28 0 1 1;
#X connect 28 0 6 0;
#X connect 34 0 11 1;
#X connect 35 0 22 1;
#X connect 36 0 37 0;
#X connect 37 0 18 0;
#X connect 38 0 18 0;
#X coords 0 -1 1 1 65 55 1 300 200;
#X restore 210 668 pd output;
#X text 774 114 Hz;
#X text 776 795 noise resonance;
#X floatatom 741 795 5 0 200 0 - noise_resonance_knob noise_resonance
0;
#X floatatom 716 149 5 0 0 0 - Beat_Frequency_knob - 0;
#X floatatom 786 149 5 -100 100 0 - - - 0;
#X floatatom 732 115 5 0 0 0 - Main_Frequency_knob Main_Frequency 0
;
#N canvas 23 202 719 442 volume 0;
#X obj 121 161 / 127;
#X obj 121 188 pack 0 50;
#X obj 137 231 line;
#X obj 106 113 hsl 110 15 0 127 0 0 empty volume_phasor empty -2 -8
0 10 #fcfcfc #000000 #000000 0 1;
#X obj 189 292 s phasor_volume;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X coords 0 -1 1 1 125 40 1 100 100;
#X restore 610 573 pd volume phasor;
#N canvas 38 123 616 437 volume 0;
#X obj 121 161 / 127;
#X obj 121 188 pack 0 50;
#X obj 137 231 line;
#X obj 106 113 hsl 128 15 0 127 0 0 empty noise_volume_knob empty -2
-8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 121 298 s noise_volume;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X coords 0 -1 1 1 140 40 1 100 100;
#X restore 600 742 pd volume noise;
#X floatatom 609 796 5 0 140 0 - noise_cutoff_knob noise_cutoff 0;
#X text 753 149 Hz;
#X text 613 298 Add some effects with :;
#X obj 620 -1 cnv 15 197 36 empty empty BinauralSynth 24 15 0 18 #7cb074
#404040 0;
#X obj 802 204 +;
#X floatatom 636 826 5 0 0 0 - noise_panning_knob noise_panning 0;
#X text 678 827 noise panning effect;
#X floatatom 606 859 5 0 200 0 - master_volume_knob master_volume 0
;
#X text 646 860 master volume;
#N canvas 64 135 596 465 volume 0;
#X obj 121 161 / 127;
#X obj 121 188 pack 0 50;
#X obj 137 231 line;
#X obj 106 113 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 121 34 loadbang;
#X msg 121 59 100;
#X obj 121 298 s sine_volume;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 0 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X coords 0 -1 1 1 140 40 1 100 100;
#X restore 630 197 pd volume sine;
#N canvas -10 220 563 398 volume 0;
#X obj 121 161 / 127;
#X obj 121 188 pack 0 50;
#X obj 137 231 line;
#X obj 106 112 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 121 34 loadbang;
#X msg 121 59 50;
#X obj 121 298 s FM_volume;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 0 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X coords 0 -1 1 1 140 40 1 100 100;
#X restore 643 328 pd volume FM;
#X floatatom 703 381 5 0 0 0 - - FM_Freq 0;
#X floatatom 833 382 5 0 0 0 - - FM_mod_depth 0;
#X obj 155 223 r~ OUT_left;
#X obj 402 234 r~ OUT_right;
#X text 743 381 FM mod depth:;
#X text 613 115 Carrier Frequency:;
#X text 614 150 Beat Frequency:;
#X text 618 380 FM mod freq:;
#X text 707 415 FM Wave;
#N canvas 0 0 450 300 (subpatch) 0;
#X array pitchmod14 131 float 1;
#A 0 -0.423689 -0.345228 -0.313844 -0.298151 -0.282459 -0.266767 -0.258921
-0.251075 -0.235382 -0.21969 -0.211844 -0.203998 -0.188306 -0.28247
-0.266777 -0.261546 -0.256315 -0.251085 -0.251085 -0.251085 -0.245854
-0.240623 -0.235392 -0.235392 -0.235392 -0.235392 -0.235392 -0.235392
-0.235392 -0.235392 -0.235392 -0.235392 -0.235392 -0.235392 -0.235392
-0.235392 -0.235392 -0.235392 -0.235392 -0.235392 -0.235392 -0.235392
-0.251085 -0.256315 -0.261546 -0.266777 -0.274623 -0.28247 -0.290316
-0.298162 -0.298162 -0.298162 -0.313855 -0.313855 -0.313855 -0.329547
-0.329547 -0.329547 -0.329547 -0.337393 -0.345239 -0.345239 -0.345239
-0.345239 -0.360932 0.411925 0.400156 0.388386 0.376617 0.376617 0.360925
0.345232 0.337386 0.32954 0.313847 0.298155 0.290309 0.282462 0.282462
0.26677 0.258924 0.251077 0.251077 0.235385 0.227539 0.219692 0.219692
0.219692 0.204 0.204 0.204 0.188307 0.188307 0.188307 0.847391 0.847391
0.847391 0.847391 0.847391 0.847391 0.847391 0.847391 0.847391 0.847391
0.847391 0.847391 0.831699 0.823853 0.816006 0.800314 0.784621 0.753236
0.721852 0.109847 0.120308 0.13077 0.141231 0.149077 0.156923 0.156923
0.160847 0.16477 0.168693 0.172616 0.177846 0.183077 0.188308 0.193539
0.198769 0.204 0.235385;
#X coords 0 1.02 130 -1.02 258 130 1;
#X restore 609 434 graph;
#X obj 821 83 image garvalf.png 0;
#X text 624 41 by Garvalf;
#X text 642 796 noise cut off;
#X obj 831 205 / 100;
#X obj 828 631 nbx 2 15 1 99 0 0 square_pwm square_pwm_knob empty 0
-8 0 12 #acdcb8 #000000 #000000 0 256;
#N canvas 661 204 616 414 volume 0;
#X obj 121 161 / 127;
#X obj 121 188 pack 0 50;
#X obj 137 231 line;
#X obj 106 113 hsl 110 15 0 127 0 0 empty volume_square empty -2 -8
0 10 #fcfcfc #000000 #000000 0 1;
#X obj 121 298 s square_volume;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X coords 0 -1 1 1 125 40 1 100 100;
#X restore 747 573 pd volume square;
#X text 777 630 sq pwm:;
#N canvas 123 160 1015 920 pdpulp 0;
#X obj 100 -10 loadbang;
#X obj 50 100 s pdpulp_p1;
#X obj 87 218 r pdpulp_p1;
#X obj 184 101 s pdpulp_p2;
#X obj 195 209 r pdpulp_p2;
#X obj 90 248 * 200;
#X obj 206 245 * 200;
#X obj 342 240 * 200;
#X obj 331 204 r pdpulp_p3;
#X obj 454 242 * 200;
#X obj 293 99 s pdpulp_p3;
#X obj 415 100 s pdpulp_p4;
#X obj 443 206 r pdpulp_p4;
#X text 54 158 For use with the Pd Pulp VST;
#X obj 90 456 s volume_square;
#X obj 201 457 s square_pwm;
#X obj 308 458 s volume_phasor;
#X obj 453 458 s volume_noise;
#X obj 513 146 s pdpulp_p5;
#X obj 642 113 s pdpulp_p6;
#X obj 738 104 s pdpulp_p7;
#X obj 877 86 s pdpulp_p8;
#X msg 513 112 volume_square 0;
#X msg 636 17 square_pwm 0.3;
#X msg 740 45 volume_phasor 0;
#X msg 878 108 volume_noise 0;
#X obj 94 373 r pdpulp_p5;
#X obj 201 374 r pdpulp_p6;
#X obj 337 369 r pdpulp_p7;
#X obj 449 371 r pdpulp_p8;
#X obj 460 407 * 127;
#X obj 348 405 * 127;
#X obj 212 410 * 1;
#X obj 109 412 * 127;
#X msg 22 41 Main_Frequency 0.5;
#X msg 151 61 Beat_Frequency 0.5;
#X msg 287 6 FM_Freq 0.5;
#X msg 418 21 FM_mod_depth 0.5;
#X obj 89 280 s Main_Frequency_knob;
#X obj 229 280 s Beat_Frequency_knob;
#X obj 370 277 s FM_Freq_knob;
#X obj 482 279 s FM_mod_depth_knob;
#X connect 0 0 1 0;
#X connect 0 0 3 0;
#X connect 0 0 20 0;
#X connect 0 0 10 0;
#X connect 0 0 19 0;
#X connect 0 0 18 0;
#X connect 0 0 11 0;
#X connect 0 0 21 0;
#X connect 2 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 38 0;
#X connect 6 0 39 0;
#X connect 7 0 40 0;
#X connect 8 0 7 0;
#X connect 9 0 41 0;
#X connect 12 0 9 0;
#X connect 22 0 18 0;
#X connect 23 0 19 0;
#X connect 24 0 20 0;
#X connect 25 0 21 0;
#X connect 26 0 33 0;
#X connect 27 0 32 0;
#X connect 28 0 31 0;
#X connect 29 0 30 0;
#X connect 30 0 17 0;
#X connect 31 0 16 0;
#X connect 32 0 15 0;
#X connect 33 0 14 0;
#X connect 34 0 1 0;
#X connect 35 0 3 0;
#X connect 36 0 10 0;
#X connect 37 0 11 0;
#X restore 900 634 pd pdpulp;
#X obj 496 578 r master_volume;
#X obj 907 238 r FM_Freq_knob;
#X obj 895 335 r FM_mod_depth_knob;
#N canvas 624 251 450 346 midi_input 0;
#X obj 260 131 mtof;
#X obj 66 89 pack 0 0 0;
#X obj 94 118 route 1;
#X obj 167 144 unpack 0 0;
#X obj 55 58 poly 1 1;
#X obj 331 170 s pdpulp_p1;
#X obj 271 167 / 200;
#X obj 37 28 notein;
#X obj 304 145 s Main_Frequency_knob;
#X connect 0 0 6 0;
#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 4 1 1 1;
#X connect 4 2 1 2;
#X connect 6 0 5 0;
#X connect 7 0 4 0;
#X connect 7 1 4 1;
#X restore 447 22 pd midi_input;
#X obj 890 180 s Beat_Frequency_final;
#N canvas 442 146 834 667 initialise 1;
#X obj 406 -152 metro;
#X floatatom 416 -183 5 0 0 0 - - - 0;
#X obj 379 -164 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X msg 346 -120 bang;
#X obj 28 -192 loadbang;
#X msg 75 20 4, f 5;
#X msg 139 28 80;
#X msg 43 52 25, f 4;
#X text 324 -150 refresh;
#X msg 148 -158 60;
#X msg 95 -35 110;
#X msg 40 108 100, f 4;
#X obj 473 -173 / 10;
#X msg 526 -96 bang;
#X obj 540 -127 metro;
#X msg 33 181 75;
#X msg 25 251 50;
#X obj 73 133 s FM_mod_depth_knob;
#X obj 25 280 s FM_Freq_knob;
#X obj 315 22 s Beat_Frequency_knob;
#X obj 188 -38 s Main_Frequency_knob;
#X obj 91 100 s noise_resonance_knob;
#X obj 76 77 s square_pwm_knob;
#X obj 409 231 s noise_cutoff_knob;
#X obj 402 193 s noise_panning_knob;
#X obj 35 216 s master_volume_knob;
#X msg 65 361 0;
#X obj 82 397 s noise_volume_knob;
#X obj 83 425 s noise_brown_volume_knob;
#X obj 595 25 s normalsignal_switch;
#X msg 573 -12 1;
#X obj 589 94 s bitcrusher_switch;
#X msg 567 57 0;
#X obj 584 154 s bitcrusher_val;
#X msg 562 117 4;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 1 0 12 0;
#X connect 2 0 0 0;
#X connect 3 0 19 0;
#X connect 3 0 20 0;
#X connect 4 0 10 0;
#X connect 4 0 5 0;
#X connect 4 0 6 0;
#X connect 4 0 7 0;
#X connect 4 0 9 0;
#X connect 4 0 2 0;
#X connect 4 0 11 0;
#X connect 4 0 15 0;
#X connect 4 0 16 0;
#X connect 4 0 26 0;
#X connect 4 0 30 0;
#X connect 4 0 32 0;
#X connect 4 0 34 0;
#X connect 5 0 19 0;
#X connect 7 0 21 0;
#X connect 7 0 22 0;
#X connect 9 0 1 0;
#X connect 10 0 20 0;
#X connect 12 0 14 0;
#X connect 13 0 23 0;
#X connect 13 0 24 0;
#X connect 14 0 13 0;
#X connect 15 0 17 0;
#X connect 15 0 25 0;
#X connect 16 0 18 0;
#X connect 16 0 23 0;
#X connect 16 0 24 0;
#X connect 26 0 27 0;
#X connect 26 0 28 0;
#X connect 30 0 29 0;
#X connect 32 0 31 0;
#X connect 34 0 33 0;
#X restore 448 49 pd initialise;
#N canvas 0 98 450 300 not_used 0;
#N canvas 1103 233 616 368 volume 0;
#X obj 121 161 / 127;
#X obj 121 188 pack 0 50;
#X obj 137 231 line;
#X obj 106 113 hsl 128 15 0 127 0 0 empty volume_master empty -2 -8
0 10 #fcfcfc #000000 #000000 0 1;
#X obj 121 298 s~ master_volume;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X coords 0 -1 1 1 140 40 1 100 100;
#X restore 228 101 pd volume master;
#X obj 83 91 *~;
#X obj 187 94 *~;
#X obj 111 69 r~ master_volume;
#X obj 121 122 dac~;
#X text 164 126 not used;
#X connect 3 0 2 1;
#X connect 3 0 1 1;
#X restore 454 174 pd not_used;
#N canvas 546 183 699 557 mobmuplat 0;
#X obj 87 49 receive fromGUI;
#X obj 87 81 list trim;
#X obj 76 202 route /mySlider1;
#X obj 46 288 s Main_Frequency_knob;
#X obj 254 119 route /mySlider2;
#X obj 250 170 s Beat_Frequency_knob;
#X obj 419 112 route /myKnob1;
#X obj 430 152 s FM_volume;
#X obj 523 125 route /myKnob2;
#X obj 534 165 s FM_Freq_knob;
#X obj 362 332 s noise_volume;
#X obj 351 292 route /myKnob3;
#X obj 196 283 route /myKnob4;
#X obj 207 323 s FM_mod_depth_knob;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 4 0;
#X connect 1 0 6 0;
#X connect 1 0 8 0;
#X connect 1 0 12 0;
#X connect 1 0 11 0;
#X connect 2 0 3 0;
#X connect 4 0 5 0;
#X connect 6 0 7 0;
#X connect 8 0 9 0;
#X connect 11 0 10 0;
#X connect 12 0 13 0;
#X restore 454 152 pd mobmuplat;
#N canvas 467 108 929 875 engine 0;
#X floatatom 198 -83 5 0 0 0 - - - 0;
#X floatatom 430 -94 5 0 0 0 - - - 0;
#X obj 481 -23 osc~ 128;
#X obj 375 -126 +;
#X obj 263 -123 -;
#X floatatom 399 -179 5 0 0 0 - - - 0;
#X obj 331 -164 / 2;
#X obj 202 58 phasor~;
#X obj 452 36 phasor~;
#X obj 491 108 *~;
#X obj 309 87 *~;
#N canvas 76 118 730 649 FM 0;
#X text 79 67 frequency;
#X floatatom 95 199 4 0 0 0 - - - 0;
#X text 80 52 modulation;
#X obj 80 170 *~;
#X text 130 142 modulation;
#X text 130 156 depth;
#X floatatom 98 143 4 0 0 0 - - - 0;
#X obj 80 221 +~;
#X text 128 204 frequency;
#X obj 94 113 tabosc4~ pitchmod14;
#X text 128 190 carrier;
#X obj 80 248 outlet~;
#X obj 265 86 inlet;
#X floatatom 163 69 5 0 0 0 - - - 0;
#X obj 304 47 r FM_mod_depth;
#X obj 231 22 r FM_Freq;
#X connect 1 0 7 1;
#X connect 3 0 7 0;
#X connect 6 0 3 1;
#X connect 7 0 11 0;
#X connect 9 0 3 0;
#X connect 12 0 1 0;
#X connect 13 0 9 0;
#X connect 14 0 6 0;
#X connect 15 0 13 0;
#X restore 278 -57 pd FM;
#N canvas 1081 197 730 603 FM 0;
#X text 77 65 frequency;
#X floatatom 95 199 4 0 0 0 - - - 0;
#X text 78 50 modulation;
#X obj 80 170 *~;
#X text 130 142 modulation;
#X text 130 156 depth;
#X floatatom 98 143 4 0 0 0 - - - 0;
#X obj 80 221 +~;
#X text 128 204 frequency;
#X obj 94 113 tabosc4~ pitchmod14;
#X text 128 190 carrier;
#X obj 80 248 outlet~;
#X obj 265 86 inlet;
#X floatatom 163 69 5 0 0 0 - - - 0;
#X obj 299 54 r FM_mod_depth;
#X obj 204 19 r FM_Freq, f 6;
#X connect 1 0 7 1;
#X connect 3 0 7 0;
#X connect 6 0 3 1;
#X connect 7 0 11 0;
#X connect 9 0 3 0;
#X connect 12 0 1 0;
#X connect 13 0 9 0;
#X connect 14 0 6 0;
#X connect 15 0 13 0;
#X restore 479 -52 pd FM;
#X obj 106 -44 osc~ 120;
#X obj 574 65 *~;
#X obj 72 40 *~;
#X obj 144 276 s~ OUT_left;
#X obj 620 315 s~ OUT_right;
#X obj 221 -211 r Main_Frequency;
#X obj 207 370 tabwrite~ azerty;
#X obj 192 397 table azerty;
#X obj 69 318 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X obj 81 343 metro 100;
#N canvas 1100 98 450 323 square~ 0;
#X obj 111 45 phasor~;
#X obj 94 6 inlet;
#X obj 124 157 outlet~;
#X obj 127 100 expr~ $v1 > $v2;
#X obj 225 54 r square_pwm;
#X obj 229 76 / 100;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 3 1;
#X restore 120 77 pd square~;
#N canvas 1225 257 450 300 square~ 0;
#X obj 111 45 phasor~;
#X obj 94 6 inlet;
#X obj 124 157 outlet~;
#X obj 127 100 expr~ $v1 > $v2;
#X obj 225 54 r square_pwm;
#X obj 229 76 / 100;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 3 1;
#X restore 566 -52 pd square~;
#X obj 683 279 r~ noise_OUT_right;
#X obj 53 218 r~ noise_OUT_left;
#X obj 345 -212 r Beat_Frequency_final;
#X obj 135 -141 r sine_volume;
#X obj 343 -76 r FM_volume;
#X obj 544 -95 osc~ 120;
#X obj 309 -14 osc~ 128;
#X obj 190 112 s~ phasor_left;
#X obj 49 192 r~ phase_OUT_left;
#X obj 411 72 s~ phasor_right;
#X obj 580 230 r~ phase_OUT_right;
#X obj 119 139 s~ square_left;
#X obj 666 42 s~ square_right;
#X text 22 -183 This one is the main engine;
#X obj 50 -64 / 2;
#X obj 706 -68 / 2;
#X obj 584 -165 r sine_subbass_volume;
#X obj 29 8 *~;
#X obj 731 5 *~;
#X obj 21 -31 osc~ 60;
#X obj 706 -33 osc~ 60;
#X floatatom 141 -110 5 0 0 0 - - - 0;
#X floatatom 584 -141 5 0 0 0 - - - 0;
#X connect 0 0 7 0;
#X connect 0 0 11 0;
#X connect 0 0 13 0;
#X connect 0 0 23 0;
#X connect 0 0 39 0;
#X connect 1 0 8 0;
#X connect 1 0 12 0;
#X connect 1 0 24 0;
#X connect 1 0 30 0;
#X connect 1 0 40 0;
#X connect 2 0 9 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 6 0;
#X connect 6 0 3 1;
#X connect 6 0 4 1;
#X connect 7 0 32 0;
#X connect 8 0 34 0;
#X connect 9 0 17 0;
#X connect 10 0 16 0;
#X connect 10 0 19 0;
#X connect 11 0 31 0;
#X connect 12 0 2 0;
#X connect 13 0 15 0;
#X connect 14 0 17 0;
#X connect 15 0 16 0;
#X connect 18 0 4 0;
#X connect 18 0 3 0;
#X connect 21 0 22 0;
#X connect 22 0 19 0;
#X connect 23 0 36 0;
#X connect 24 0 37 0;
#X connect 25 0 17 0;
#X connect 26 0 16 0;
#X connect 27 0 5 0;
#X connect 28 0 15 1;
#X connect 28 0 14 1;
#X connect 28 0 46 0;
#X connect 29 0 9 1;
#X connect 29 0 10 1;
#X connect 30 0 14 0;
#X connect 31 0 10 0;
#X connect 33 0 16 0;
#X connect 35 0 17 0;
#X connect 39 0 44 0;
#X connect 40 0 45 0;
#X connect 41 0 43 1;
#X connect 41 0 42 1;
#X connect 41 0 47 0;
#X connect 42 0 16 0;
#X connect 43 0 17 0;
#X connect 44 0 42 0;
#X connect 45 0 43 0;
#X restore 448 77 pd engine;
#N canvas 52 139 1022 683 phase_sq_filter 0;
#X obj 388 150 *~, f 7;
#X obj 399 508 bob~;
#X obj 769 143 / 25;
#X obj 411 253 line~;
#X obj 808 143 mtof;
#X obj 814 241 pack 0 50;
#X floatatom 810 190 7 0 0 0 - - - 0;
#X obj 169 506 bob~;
#X obj 297 439 +;
#X obj 158 391 -;
#X obj 212 259 / 2;
#X obj 346 369 line;
#X obj 776 33 r phase_resonance;
#X obj 809 87 r phase_cutoff;
#X obj 489 69 r phasor_volume;
#X obj 210 119 r phase_panning;
#X obj 375 56 r~ phasor_left;
#X obj 120 570 s~ phase_OUT_left;
#X obj 570 159 *~, f 7;
#X obj 612 34 r~ phasor_right;
#X obj 411 562 s~ phase_OUT_right;
#X obj 586 430 *~, f 7;
#X obj 768 439 *~, f 7;
#X obj 808 314 r~ square_right;
#X obj 693 357 r square_volume;
#X obj 573 336 r~ square_left;
#X connect 0 0 7 0;
#X connect 1 0 20 0;
#X connect 2 0 3 0;
#X connect 3 0 1 2;
#X connect 3 0 7 2;
#X connect 4 0 6 0;
#X connect 5 0 11 0;
#X connect 6 0 5 0;
#X connect 7 0 17 0;
#X connect 8 0 1 1;
#X connect 9 0 7 1;
#X connect 10 0 8 1;
#X connect 10 0 9 1;
#X connect 11 0 9 0;
#X connect 11 0 8 0;
#X connect 12 0 2 0;
#X connect 13 0 4 0;
#X connect 14 0 0 1;
#X connect 14 0 18 1;
#X connect 15 0 10 0;
#X connect 16 0 0 0;
#X connect 18 0 1 0;
#X connect 19 0 18 0;
#X connect 21 0 7 0;
#X connect 22 0 1 0;
#X connect 23 0 22 0;
#X connect 24 0 21 1;
#X connect 24 0 22 1;
#X connect 25 0 21 0;
#X restore 448 101 pd phase_sq_filter;
#N canvas 1309 144 773 702 noise_filter 0;
#X obj 464 77 noise~;
#X obj 473 215 *~, f 7;
#X obj 482 524 bob~;
#X obj 613 247 / 25;
#X obj 496 318 line~;
#X obj 652 247 mtof;
#X obj 658 345 pack 0 50;
#X floatatom 655 294 7 0 0 0 - - - 0;
#X obj 273 524 bob~;
#X obj 374 483 +;
#X obj 219 479 -;
#X obj 300 316 / 2;
#X obj 431 434 line;
#X obj 620 137 r noise_resonance;
#X obj 311 256 r noise_panning;
#X obj 653 191 r noise_cutoff;
#X obj 452 627 s~ noise_OUT_right;
#X obj 149 621 s~ noise_OUT_left;
#X obj 514 118 r noise_volume;
#X obj 51 35 noise~;
#X obj 92 124 fexpr~ if(abs($x + $y) > 1 \, $y - $x \, $x + $y);
#X obj 87 79 *~ 0.005;
#X obj 141 19 hsl 128 15 0 0.1 0 0 empty empty empty -2 -8 0 10 #c4fcc4
#000000 #000000 0 1;
#X floatatom 259 54 5 0 0 0 - - - 0;
#X obj 74 245 swap 1;
#X obj 79 279 -;
#X obj 39 290 *~;
#X obj 158 261 *~;
#X obj 77 206 hradio 15 1 0 2 empty empty empty 0 -8 0 10 #fcfcfc #000000
#000000 0;
#X obj 56 365 +~;
#X text 573 53 white noise;
#X text 164 84 brown noise;
#X obj 321 12 r noise_brown_volume;
#X text 23 663 https://forum.pdpatchrepo.info/topic/12460/brown-noise-generator/4
;
#X floatatom 531 166 5 0 0 0 - - - 0;
#X obj 78 150 loadbang;
#X floatatom 158 214 5 0 0 0 - - - 0;
#X msg 78 175 1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 8 0;
#X connect 2 0 16 0;
#X connect 3 0 4 0;
#X connect 4 0 2 2;
#X connect 4 0 8 2;
#X connect 5 0 7 0;
#X connect 6 0 12 0;
#X connect 7 0 6 0;
#X connect 8 0 17 0;
#X connect 9 0 2 1;
#X connect 10 0 8 1;
#X connect 11 0 9 1;
#X connect 11 0 10 1;
#X connect 12 0 10 0;
#X connect 12 0 9 0;
#X connect 13 0 3 0;
#X connect 14 0 11 0;
#X connect 15 0 5 0;
#X connect 18 0 1 1;
#X connect 18 0 34 0;
#X connect 19 0 21 0;
#X connect 19 0 26 0;
#X connect 20 0 27 0;
#X connect 21 0 20 0;
#X connect 22 0 23 0;
#X connect 22 0 21 1;
#X connect 24 0 25 0;
#X connect 24 1 25 1;
#X connect 25 0 26 1;
#X connect 26 0 29 0;
#X connect 27 0 29 1;
#X connect 28 0 27 1;
#X connect 28 0 24 0;
#X connect 28 0 36 0;
#X connect 29 0 17 0;
#X connect 29 0 16 0;
#X connect 32 0 21 1;
#X connect 32 0 23 0;
#X connect 35 0 37 0;
#X connect 37 0 28 0;
#X restore 447 126 pd noise_filter;
#X floatatom 740 661 5 0 200 0 - phase_resonance_knob phase_resonance
0;
#X floatatom 605 662 5 0 140 0 - phase_cutoff_knob phase_cutoff 0;
#X floatatom 635 692 5 0 0 0 - phase_panning_knob phase_panning 0;
#X text 641 662 phase cut off;
#X text 775 661 phase resonance;
#X text 677 693 phase cutt off panning effect;
#X obj 902 723 s Main_Frequency_knob;
#X obj 901 689 keyboard;
#X obj 904 765 loadbang;
#X msg 904 802 Binaural Synth by Garvalf;
#X obj 904 833 print -n;
#N canvas 45 322 450 323 README 0;
#X msg 68 93 https://github.com/farvardin/binaural-synth;
#X restore 900 565 pd README;
#X obj 898 597 x-knobs_behringer_ula25s;
#X obj 897 528 knobs_akai_midimix;
#X obj 347 354 +~;
#X obj 233 339 +~;
#X obj 285 211 sig~;
#X obj 258 81 hsl 20 15 0 2 0 0 empty empty monaural -2 -8 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 287 275 *~;
#X obj 302 98 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X floatatom 115 163 5 0 0 0 - - - 0;
#X obj 116 133 r main_stereo;
#X obj 240 133 s main_stereo;
#N canvas 956 133 871 599 vibe 0;
#X obj 333 103 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X obj 282 420 +;
#X floatatom 514 156 5 0 0 0 - - - 0;
#X obj 278 107 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X floatatom 222 439 5 0 0 0 - - - 0;
#X obj 343 371 int;
#X obj 525 223 / 2;
#X obj 343 174 metro 1 1 msec;
#X obj 430 277 delay;
#X obj 485 310 delay;
#X obj 574 255 / 2;
#X obj 290 363 float;
#X msg 399 336 0, f 4;
#X msg 312 323 100;
#X msg 441 400 -100;
#X obj 106 231 r master_volume_knob;
#X obj 167 516 s master_volume;
#X floatatom 196 300 5 0 0 0 - - - 0;
#X floatatom 536 387 5 0 0 0 - - - 0;
#X obj 527 354 expr 0 - $f1;
#X floatatom 110 336 5 0 0 0 - - - 0;
#X obj 67 268 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000;
#X text 65 77 To be improved!;
#X connect 0 0 7 0;
#X connect 1 0 4 0;
#X connect 2 0 6 0;
#X connect 2 0 7 1;
#X connect 3 0 7 0;
#X connect 4 0 16 0;
#X connect 5 0 1 0;
#X connect 6 0 8 1;
#X connect 6 0 10 0;
#X connect 7 0 8 0;
#X connect 7 0 17 0;
#X connect 7 0 13 0;
#X connect 8 0 9 0;
#X connect 8 0 12 0;
#X connect 9 0 14 0;
#X connect 9 0 13 0;
#X connect 9 0 19 0;
#X connect 10 0 9 1;
#X connect 11 0 1 1;
#X connect 12 0 5 0;
#X connect 13 0 11 0;
#X connect 14 0 5 0;
#X connect 15 0 17 0;
#X connect 15 0 19 0;
#X connect 15 0 20 0;
#X connect 17 0 11 0;
#X connect 18 0 5 0;
#X connect 19 0 18 0;
#X connect 20 0 16 0;
#X connect 21 0 20 0;
#X restore 498 613 pd vibe;
#N canvas 767 272 734 593 vibrato_right 0;
#X obj 309 61 osc~;
#X obj 308 93 +~ 1;
#X obj 299 235 *~;
#X obj 99 471 outlet~;
#X obj 99 259 inlet~;
#X obj 113 135 hsl 128 15 0.1 20 0 0 empty empty freq -2 -8 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 112 171 hsl 128 15 0 10 0 0 empty empty amount -2 -8 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 303 20 inlet;
#X obj 396 26 inlet;
#X text 262 531 based on http://www.pdpatchrepo.info/hurleur/vibrato.pd
;
#X obj 100 326 delwrite~ buffer_right 2000;
#X obj 100 385 vd~ buffer_right;
#X obj 442 65 r vibrato_right_freq;
#X obj 440 95 r vibrato_right_amount;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 11 0;
#X connect 4 0 10 0;
#X connect 5 0 0 0;
#X connect 6 0 2 1;
#X connect 7 0 0 0;
#X connect 8 0 2 1;
#X connect 11 0 3 0;
#X connect 12 0 0 0;
#X connect 13 0 2 1;
#X coords 0 -1 1 1 150 90 1 100 100;
#X restore 360 408 pd vibrato_right;
#N canvas 24 316 734 593 vibrato_left 0;
#X obj 309 61 osc~;
#X obj 308 93 +~ 1;
#X obj 300 207 *~;
#X obj 107 467 outlet~;
#X obj 107 255 inlet~;
#X obj 113 135 hsl 128 15 0.1 20 0 0 empty empty freq -2 -8 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 112 171 hsl 128 15 0 10 0 0 empty empty amount -2 -8 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 303 20 inlet;
#X obj 396 26 inlet;
#X text 262 531 based on http://www.pdpatchrepo.info/hurleur/vibrato.pd
;
#X obj 108 322 delwrite~ buffer_left 2000;
#X obj 108 381 vd~ buffer_left;
#X obj 436 45 r vibrato_left_freq;
#X obj 434 75 r vibrato_left_amount;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 11 0;
#X connect 4 0 10 0;
#X connect 5 0 0 0;
#X connect 6 0 2 1;
#X connect 7 0 0 0;
#X connect 8 0 2 1;
#X connect 11 0 3 0;
#X connect 12 0 0 0;
#X connect 13 0 2 1;
#X coords 0 -1 1 1 150 90 1 100 100;
#X restore 126 409 pd vibrato_left;
#N canvas 38 123 616 437 volume 0;
#X obj 121 188 pack 0 50;
#X obj 137 231 line;
#X obj 106 116 hsl 110 15 0 127 0 0 empty noise_brown_volume_knob empty
-2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 121 298 s noise_brown_volume;
#X obj 121 161 / 1270;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 4 0 0 0;
#X coords 0 -1 1 1 140 40 1 100 100;
#X restore 748 739 pd volume brown noise;
#N canvas 488 63 596 465 volume 0;
#X obj 121 188 pack 0 50;
#X obj 137 231 line;
#X obj 106 113 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 121 34 loadbang;
#X obj 121 161 / 50;
#X obj 121 298 s sine_subbass_volume;
#X msg 121 59 0;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 2 0 4 0;
#X connect 3 0 6 0;
#X connect 4 0 0 0;
#X connect 6 0 2 0;
#X coords 0 -1 1 1 140 40 1 100 100;
#X restore 632 240 pd volume subbass sine;
#X obj 77 577 abs/bitcrusher~;
#X obj 313 590 abs/bitcrusher~;
#X floatatom 234 535 5 0 32 2 Bits bitcrusher_val - 0;
#X obj 233 560 hradio 15 1 0 2 empty bitcrusher_switch empty 0 -8 0
10 #fcfcfc #000000 #000000 0;
#X obj 83 608 *~;
#X obj 310 626 *~;
#X obj 160 626 *~;
#X obj 360 632 *~;
#X obj 372 545 hradio 15 1 0 2 empty normalsignal_switch empty 0 -8
0 10 #fcfcfc #000000 #000000 0;
#X text 372 526 normal signal;
#X connect 5 0 14 0;
#X connect 6 0 34 0;
#X connect 14 0 43 0;
#X connect 23 0 65 0;
#X connect 23 0 68 1;
#X connect 24 0 64 0;
#X connect 24 0 68 1;
#X connect 34 0 14 1;
#X connect 40 0 21 0;
#X connect 41 0 22 0;
#X connect 57 0 56 0;
#X connect 58 0 59 0;
#X connect 59 0 60 0;
#X connect 64 0 74 0;
#X connect 65 0 75 0;
#X connect 66 0 68 0;
#X connect 67 0 72 0;
#X connect 68 0 65 1;
#X connect 68 0 64 1;
#X connect 69 0 66 0;
#X connect 70 0 66 0;
#X connect 71 0 70 0;
#X connect 74 0 79 0;
#X connect 74 0 85 0;
#X connect 75 0 78 0;
#X connect 75 0 84 0;
#X connect 78 0 82 0;
#X connect 79 0 83 0;
#X connect 80 0 78 1;
#X connect 80 0 79 1;
#X connect 81 0 82 1;
#X connect 81 0 83 1;
#X connect 82 0 1 0;
#X connect 83 0 1 1;
#X connect 84 0 1 0;
#X connect 85 0 1 1;
#X connect 86 0 84 1;
#X connect 86 0 85 1;
#X coords 0 0 1 1 280 750 0;