From b42cadc8e62d13209cb84c1d38c2f24d8ed4c8a3 Mon Sep 17 00:00:00 2001 From: MrDham Date: Wed, 29 Apr 2020 19:48:41 +0200 Subject: [PATCH 1/5] Update vd_fm_ther_synth.pd --- vd_fm_ther_synth/vd_fm_ther_synth.pd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vd_fm_ther_synth/vd_fm_ther_synth.pd b/vd_fm_ther_synth/vd_fm_ther_synth.pd index 1d34da3..8cba14e 100644 --- a/vd_fm_ther_synth/vd_fm_ther_synth.pd +++ b/vd_fm_ther_synth/vd_fm_ther_synth.pd @@ -17,7 +17,7 @@ #X obj 1260 232 ctlin 71; #X obj 250 34 bendin, f 7; #X obj 250 100 - 24; -#X obj 250 67 / 341.33; +#X obj 250 67 / 170.67; #X obj 316 152 +; #X obj 316 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; From 9e7843d43d80837783c5a3413fcf6060e660e484 Mon Sep 17 00:00:00 2001 From: MrDham Date: Wed, 29 Apr 2020 20:04:50 +0200 Subject: [PATCH 2/5] Update vd_fm_ther_synth.pd --- vd_fm_ther_synth/vd_fm_ther_synth.pd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vd_fm_ther_synth/vd_fm_ther_synth.pd b/vd_fm_ther_synth/vd_fm_ther_synth.pd index 8cba14e..ad6ee77 100644 --- a/vd_fm_ther_synth/vd_fm_ther_synth.pd +++ b/vd_fm_ther_synth/vd_fm_ther_synth.pd @@ -16,7 +16,7 @@ #X obj 1190 232 ctlin 74; #X obj 1260 232 ctlin 71; #X obj 250 34 bendin, f 7; -#X obj 250 100 - 24; +#X obj 250 100 - 48; #X obj 250 67 / 170.67; #X obj 316 152 +; #X obj 316 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 From d8e02ea4e284ed047cb780b44212dda546fc4802 Mon Sep 17 00:00:00 2001 From: MrDham Date: Wed, 29 Apr 2020 20:24:23 +0200 Subject: [PATCH 3/5] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5bf49bc..aa9178e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Pure-Data-VD-FM-Theremin-Synth -A Pure Data very simple 3 operator FM synth that works well with MIDI Theremin +A Pure Data very simple 3 operator FM synth that works well with MIDI Theremin (version 2.3 and above) https://github.com/MrDham/OpenTheremin_V3_with_MIDI This synth is developed in Pure Data language. for more information go to : www.puredata.info/. @@ -8,4 +8,4 @@ It consist in 3 serialised FM operators. yml file gives configuration options to use it in Zynthian project https://zynthian.org/. -pitch bend range = 24 +pitch bend range = 48 ! Update your MIDI theremin (version 2.3 and above) if it is only supporting 24 semitones max ! From 1b84c4f1aab857e313f0261a4c1dac3705291cab Mon Sep 17 00:00:00 2001 From: MrDham Date: Sat, 2 May 2020 18:38:33 +0200 Subject: [PATCH 4/5] Add files via upload --- vd_fm_ther_synth/vd_fm_ther_synth.pd | 426 +++++++++++++++------------ vd_fm_ther_synth/zynconfig.yml | 6 +- 2 files changed, 241 insertions(+), 191 deletions(-) diff --git a/vd_fm_ther_synth/vd_fm_ther_synth.pd b/vd_fm_ther_synth/vd_fm_ther_synth.pd index ad6ee77..54fba84 100644 --- a/vd_fm_ther_synth/vd_fm_ther_synth.pd +++ b/vd_fm_ther_synth/vd_fm_ther_synth.pd @@ -1,230 +1,280 @@ -#N canvas 28 88 1585 808 10; -#X obj 359 37 notein; +#N canvas 12 0 1585 808 10; +#X obj 359 34 notein; #X obj 207 227 mtof; -#X obj 836 441 osc~; -#X obj 410 419 osc~; +#X obj 829 459 osc~; +#X obj 397 463 osc~; #X obj 346 81 stripnote; #X obj 1207 443 *~ 0.2; -#X obj 1330 643 dac~; -#X obj 425 252 / 32; -#X obj 1374 235 ctlin 11; +#X obj 1329 665 dac~; +#X obj 389 280 / 32; #X obj 1328 473 bob~; #X obj 1290 356 mtof; #X obj 1290 416 pack 0 50; #X obj 1290 445 line~; #X obj 1362 416 line~; -#X obj 1190 232 ctlin 74; -#X obj 1260 232 ctlin 71; +#X obj 1155 204 ctlin 74; +#X obj 1237 204 ctlin 71; #X obj 250 34 bendin, f 7; -#X obj 250 100 - 48; -#X obj 250 67 / 170.67; #X obj 316 152 +; #X obj 316 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 992 42 ctlin 123; -#X msg 992 108 0; -#X obj 1329 606 *~; -#X obj 1446 236 ctlin 7; -#X obj 837 509 throw~ gen; +#X obj 959 34 ctlin 123; +#X msg 959 108 0; +#X obj 1328 628 *~; +#X obj 830 527 throw~ gen; #X obj 1175 391 catch~ gen; -#X obj 611 423 osc~; -#X obj 639 251 / 32; +#X obj 634 463 osc~; +#X obj 634 280 / 32; #X obj 105 343 osc~; -#X obj 79 227 ctlin 1; -#X obj 353 229 ctlin 22; -#X obj 425 229 ctlin 23; -#X obj 140 227 ctlin 16; +#X obj 65 202 ctlin 1; +#X obj 325 227 ctlin 22; +#X obj 406 227 ctlin 23; +#X obj 138 203 ctlin 16; #X obj 140 266 mtof; -#X obj 79 266 * 0.32; +#X obj 67 263 * 0.32; #X obj 105 389 +~; #X obj 105 366 *~ 0; -#X obj 1073 72 select 0; -#X obj 953 109 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X obj 1040 72 select 0; +#X obj 920 109 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X msg 1073 107 -1; -#X obj 1073 150 +; -#X msg 1126 106 1; -#X obj 1041 248 select 0; -#X msg 1040 278 0 100; +#X msg 1040 107 -1; +#X obj 1040 150 +; +#X msg 1085 107 1; +#X obj 1008 248 select 0; +#X msg 1008 278 0 100; #X obj 1103 446 line 0 1; -#X msg 1086 278 1 10; -#X obj 496 251 - 64; -#X obj 496 276 / 4096; -#X obj 467 332 +; -#X obj 467 301 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X msg 1053 278 1 10; +#X obj 469 280 - 64; +#X obj 469 307 / 4096; +#X obj 454 374 +; +#X obj 454 344 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 712 251 - 64; -#X obj 712 276 / 4096; -#X obj 681 332 +; -#X obj 681 301 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X obj 714 280 - 64; +#X obj 714 307 / 4096; +#X obj 699 374 +; +#X obj 699 344 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 712 228 ctlin 27; -#X obj 556 67 loadbang; +#X obj 731 227 ctlin 27; +#X obj 556 34 loadbang; #X msg 481 132 32; #X msg 556 131 64; #X msg 630 135 127; -#X obj 1329 570 *~; -#X obj 1374 324 dbtorms; -#X obj 1328 502 /~ 3200; -#X obj 1463 368 *; -#X obj 1438 326 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X floatatom 1290 388 7 0 0 0 - - -, f 7; +#X obj 1328 592 *~; +#X floatatom 1290 388 7 0 0 0 - - -; #X obj 1362 388 / 30; -#X obj 611 400 *~ 1; -#X obj 410 396 *~ 1; -#X obj 1374 262 + 80; -#X obj 1374 290 / 1.625; -#X obj 568 253 * 24; -#X obj 353 252 * 24; +#X obj 634 440 *~ 1; +#X obj 397 440 *~ 1; +#X obj 557 280 * 24; +#X obj 308 280 * 24; #X obj 212 509 throw~ mod_gen; #X obj 20 509 throw~ mod_1; #X obj 117 509 throw~ mod_2; -#X obj 410 370 catch~ mod_1; -#X obj 610 372 catch~ mod_2; -#X obj 837 415 catch~ mod_gen; -#X obj 409 507 throw~ mod_gen; -#X obj 610 505 throw~ mod_1; -#X obj 409 469 hip~ 32; -#X obj 611 473 hip~ 32; -#X obj 837 476 hip~ 32; -#X obj 1463 400 lop~ 32; +#X obj 397 414 catch~ mod_1; +#X obj 633 414 catch~ mod_2; +#X obj 830 432 catch~ mod_gen; +#X obj 396 551 throw~ mod_gen; +#X obj 633 551 throw~ mod_1; +#X obj 396 513 hip~ 32; +#X obj 634 513 hip~ 32; +#X obj 830 494 hip~ 32; +#X obj 1501 366 lop~ 32; #X obj 106 425 lop~ 64; -#X obj 1041 213 int 0; -#X obj 1073 180 clip 0 127; -#X obj 410 442 *~; -#X obj 611 446 *~; -#X obj 353 282 lop~ 16; -#X obj 568 279 lop~ 16; -#X text 1256 204 Resonance; -#X text 1358 203 Expression; -#X text 1453 205 Volume; -#X text 970 18 All note off; -#X text 1203 205 Cutoff; -#X text 1226 180 FILTER; -#X text 1398 180 AMPLIFIER; +#X obj 1008 213 int 0; +#X obj 1040 180 clip 0 127; +#X obj 397 486 *~; +#X obj 634 486 *~; +#X obj 308 307 lop~ 16; +#X obj 557 307 lop~ 16; +#X text 1229 183 Resonance; +#X text 1398 183 Expression; +#X text 1502 183 Volume; +#X text 937 11 All note off; +#X text 1167 183 Cutoff; +#X text 1198 159 FILTER; +#X text 1440 159 AMPLIFIER; #X text 229 11 Pitch Bend; -#X text 372 12 Note; -#X text 65 197 Mod Wheel; -#X text 139 198 LFO Freq; -#X text 380 206 Rate; -#X text 502 205 Fr fine; -#X text 417 206 Fr coarse; -#X text 596 208 Rate; -#X text 718 207 Fr fine; -#X text 632 208 Fr coarse; -#X text 419 183 MODULATOR 1; -#X text 624 188 MODULATOR 2; -#X text 871 385 GENERATOR; -#X obj 496 228 ctlin 24; -#X obj 568 228 ctlin 25; -#X obj 639 228 ctlin 26; +#X text 372 11 Note; +#X text 53 185 Mod Wheel; +#X text 138 184 LFO Freq; +#X text 344 207 Rate; +#X text 490 207 Fr fine; +#X text 400 207 Fr coarse; +#X text 596 207 Rate; +#X text 737 207 Fr fine; +#X text 645 207 Fr coarse; +#X text 410 183 MODULATOR 1; +#X text 624 183 MODULATOR 2; +#X text 864 403 GENERATOR; +#X obj 485 227 ctlin 24; +#X obj 573 227 ctlin 25; +#X obj 651 227 ctlin 26; #X obj 140 299 / 64; +#X obj 44 228 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 0 1; +#X obj 123 228 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 1587 1; +#X obj 311 252 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 0 1; +#X obj 392 252 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 1587 1; +#X obj 472 252 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 3175 1; +#X obj 560 252 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 0 1; +#X obj 637 252 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 1587 1; +#X obj 717 253 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 3175 1; +#X obj 1143 226 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 6300 1; +#X obj 1224 226 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 0 1; +#X obj 1397 226 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 6300 1; +#X obj 1478 226 hsl 64 15 0 127 0 0 empty empty empty -2 -8 0 10 -203904 +-4160 -1 6300 1; +#X obj 1443 267 + 1; +#X obj 1414 304 *; +#X obj 1519 267 + 1; +#X obj 1501 304 *; +#X obj 1329 529 *~; +#X obj 1414 366 lop~ 32; +#X obj 1414 335 / 16384; +#X obj 1501 334 / 16384; +#X obj 250 84 / 170.65; +#X obj 250 59 - 8192; +#X floatatom 486 374 5 0 0 0 - - -; +#X floatatom 730 374 5 0 0 0 - - -; +#X obj 1410 204 ctlin 11; +#X obj 1497 204 ctlin 7; +#X floatatom 1375 366 5 0 0 0 - - -; +#X floatatom 1465 366 5 0 0 0 - - -; +#X text 579 10 Init; #X connect 0 0 4 0; #X connect 0 1 4 1; -#X connect 0 1 38 0; -#X connect 0 1 39 0; -#X connect 1 0 36 1; -#X connect 2 0 83 0; -#X connect 3 0 88 0; -#X connect 4 0 19 1; -#X connect 4 0 20 0; -#X connect 5 0 9 0; -#X connect 7 0 49 0; -#X connect 8 0 69 0; -#X connect 9 0 62 0; -#X connect 10 0 65 0; -#X connect 11 0 12 0; -#X connect 12 0 9 1; -#X connect 13 0 9 2; -#X connect 14 0 10 0; -#X connect 15 0 66 0; -#X connect 16 0 18 0; -#X connect 17 0 19 0; -#X connect 18 0 17 0; -#X connect 19 0 1 0; -#X connect 20 0 19 0; -#X connect 21 0 22 0; -#X connect 22 0 86 0; -#X connect 23 0 6 0; -#X connect 23 0 6 1; -#X connect 24 0 63 1; -#X connect 24 0 64 0; -#X connect 26 0 5 0; -#X connect 27 0 89 0; -#X connect 28 0 53 0; -#X connect 29 0 37 0; -#X connect 30 0 35 0; -#X connect 31 0 72 0; -#X connect 32 0 7 0; -#X connect 33 0 34 0; -#X connect 34 0 115 0; -#X connect 35 0 37 1; -#X connect 36 0 85 0; -#X connect 37 0 36 0; -#X connect 38 0 40 0; -#X connect 38 1 42 0; -#X connect 39 0 86 0; +#X connect 0 1 34 0; +#X connect 0 1 35 0; +#X connect 1 0 32 1; +#X connect 2 0 73 0; +#X connect 3 0 78 0; +#X connect 4 0 16 1; +#X connect 4 0 17 0; +#X connect 5 0 8 0; +#X connect 7 0 45 0; +#X connect 8 0 122 0; +#X connect 9 0 57 0; +#X connect 10 0 11 0; +#X connect 11 0 8 1; +#X connect 12 0 8 2; +#X connect 13 0 114 0; +#X connect 14 0 115 0; +#X connect 15 0 127 0; +#X connect 16 0 1 0; +#X connect 17 0 16 0; +#X connect 18 0 19 0; +#X connect 19 0 76 0; +#X connect 20 0 6 0; +#X connect 20 0 6 1; +#X connect 22 0 5 0; +#X connect 23 0 79 0; +#X connect 24 0 49 0; +#X connect 25 0 33 0; +#X connect 26 0 106 0; +#X connect 27 0 108 0; +#X connect 28 0 109 0; +#X connect 29 0 107 0; +#X connect 30 0 105 0; +#X connect 31 0 33 1; +#X connect 32 0 75 0; +#X connect 33 0 32 0; +#X connect 34 0 36 0; +#X connect 34 1 38 0; +#X connect 35 0 76 0; +#X connect 36 0 37 0; +#X connect 37 0 77 0; +#X connect 38 0 37 0; +#X connect 39 0 40 0; +#X connect 39 1 42 0; #X connect 40 0 41 0; -#X connect 41 0 87 0; +#X connect 41 0 20 1; #X connect 42 0 41 0; #X connect 43 0 44 0; -#X connect 43 1 46 0; -#X connect 44 0 45 0; -#X connect 45 0 23 1; +#X connect 44 0 45 1; +#X connect 44 0 46 0; +#X connect 45 0 60 1; +#X connect 45 0 128 0; #X connect 46 0 45 0; #X connect 47 0 48 0; #X connect 48 0 49 1; #X connect 48 0 50 0; -#X connect 49 0 68 1; +#X connect 49 0 59 1; +#X connect 49 0 129 0; #X connect 50 0 49 0; -#X connect 51 0 52 0; -#X connect 52 0 53 1; +#X connect 51 0 113 0; +#X connect 52 0 53 0; #X connect 52 0 54 0; -#X connect 53 0 67 1; -#X connect 54 0 53 0; -#X connect 55 0 51 0; -#X connect 56 0 57 0; -#X connect 56 0 58 0; -#X connect 56 0 59 0; -#X connect 57 0 34 0; -#X connect 57 0 7 0; -#X connect 57 0 28 0; -#X connect 58 0 47 0; -#X connect 58 0 51 0; -#X connect 58 0 84 0; -#X connect 59 0 10 0; -#X connect 60 0 23 0; -#X connect 61 0 63 0; -#X connect 62 0 60 0; -#X connect 63 0 84 0; -#X connect 64 0 63 0; -#X connect 65 0 11 0; -#X connect 66 0 13 0; -#X connect 67 0 27 0; -#X connect 68 0 3 0; -#X connect 69 0 70 0; -#X connect 70 0 61 0; -#X connect 71 0 91 0; -#X connect 72 0 90 0; -#X connect 76 0 68 0; -#X connect 77 0 67 0; -#X connect 78 0 2 0; -#X connect 81 0 79 0; -#X connect 82 0 80 0; -#X connect 83 0 25 0; -#X connect 84 0 60 1; -#X connect 85 0 73 0; -#X connect 85 0 74 0; -#X connect 85 0 75 0; -#X connect 86 0 41 1; -#X connect 86 0 43 0; -#X connect 87 0 86 1; -#X connect 88 0 81 0; -#X connect 89 0 82 0; -#X connect 90 0 88 1; -#X connect 91 0 89 1; -#X connect 112 0 47 0; -#X connect 113 0 71 0; -#X connect 114 0 28 0; -#X connect 115 0 29 0; +#X connect 52 0 55 0; +#X connect 53 0 112 0; +#X connect 53 0 109 0; +#X connect 53 0 107 0; +#X connect 54 0 113 0; +#X connect 54 0 110 0; +#X connect 55 0 116 0; +#X connect 55 0 117 0; +#X connect 55 0 114 0; +#X connect 56 0 20 0; +#X connect 57 0 10 0; +#X connect 58 0 12 0; +#X connect 59 0 23 0; +#X connect 60 0 3 0; +#X connect 61 0 81 0; +#X connect 62 0 80 0; +#X connect 66 0 60 0; +#X connect 67 0 59 0; +#X connect 68 0 2 0; +#X connect 71 0 69 0; +#X connect 72 0 70 0; +#X connect 73 0 21 0; +#X connect 74 0 56 1; +#X connect 75 0 63 0; +#X connect 75 0 64 0; +#X connect 75 0 65 0; +#X connect 76 0 37 1; +#X connect 76 0 39 0; +#X connect 77 0 76 1; +#X connect 78 0 71 0; +#X connect 79 0 72 0; +#X connect 80 0 78 1; +#X connect 81 0 79 1; +#X connect 102 0 110 0; +#X connect 103 0 111 0; +#X connect 104 0 112 0; +#X connect 105 0 25 0; +#X connect 106 0 31 0; +#X connect 107 0 30 0; +#X connect 108 0 62 0; +#X connect 109 0 7 0; +#X connect 110 0 43 0; +#X connect 111 0 61 0; +#X connect 112 0 24 0; +#X connect 113 0 47 0; +#X connect 114 0 9 0; +#X connect 115 0 58 0; +#X connect 116 0 118 0; +#X connect 116 0 119 0; +#X connect 117 0 120 0; +#X connect 117 0 121 0; +#X connect 118 0 119 1; +#X connect 119 0 124 0; +#X connect 120 0 121 1; +#X connect 121 0 125 0; +#X connect 122 0 56 0; +#X connect 123 0 122 1; +#X connect 124 0 123 0; +#X connect 124 0 132 0; +#X connect 125 0 74 0; +#X connect 125 0 133 0; +#X connect 126 0 16 0; +#X connect 127 0 126 0; +#X connect 130 0 116 0; +#X connect 131 0 117 0; diff --git a/vd_fm_ther_synth/zynconfig.yml b/vd_fm_ther_synth/zynconfig.yml index 3520419..691d8d9 100644 --- a/vd_fm_ther_synth/zynconfig.yml +++ b/vd_fm_ther_synth/zynconfig.yml @@ -1,12 +1,12 @@ -main_file: "vd_sample_seq.pd" +main_file: "vd_fm_ther_synth.pd" midi_controllers: Volume: midi_cc: 7 - value: 64 + value: 127 Expression: midi_cc: 11 - value: 0 + value: 127 Mod_Wheel_Freq: midi_cc: 16 value: 32 From 42126aeea2221b42a820727ab04e896e992e1bf7 Mon Sep 17 00:00:00 2001 From: MrDham Date: Sat, 2 May 2020 18:54:15 +0200 Subject: [PATCH 5/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa9178e..92e692f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ https://github.com/MrDham/OpenTheremin_V3_with_MIDI This synth is developed in Pure Data language. for more information go to : www.puredata.info/. -It consist in 3 serialised FM operators. +It consist in 3 serialised FM operators (Modulator 2 --> Modulator 1 --> Generator), a filter, a VCA and a vibrato (mod wheel). yml file gives configuration options to use it in Zynthian project https://zynthian.org/.