Forums > MaxMSP

seperate oscillator outputs

January 23, 2007 | 4:29 pm

Hi, I am trying to build a synth, which I have made good progress on but I can’t seem to get the oscillators to sound individually: I have to turn them both on with the umenus that go into poly~ to get a sound. I think the problem lies in the way I have set the in objects to the oscillators but I don’t know.
I want to be able to play notes with each oscillator individually and select if i want to use one or two oscillators to make a sound. Any help would be much appreciated. I have included the patch so you can have a look.
Thanks for reading this.
Ste


January 23, 2007 | 4:39 pm

Can you send this patch in text ? I cannot open this file …
Thanks, S


January 23, 2007 | 4:55 pm

I’m transfering from a Mac to PC to send on the net. Anyway here is the text version. Host patch first then the synth. Thanks.

Host patch

max v2;
#N vpatcher 275 44 1224 854;
#P origin 2 0;
#P user meter~ 161 435 174 514 50 0 168 0 103 103 103 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 664 227 48 196617 loadbang;
#P message 664 251 26 196617 100;
#P newex 664 331 46 196617 / 100.;
#P flonum 664 354 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user dial 812 340 30 30 128 5 0 0 159 270 1 1. 170 170 170 221 221 221 120 120 120 225 225 225 0 0 0 0 0 0;
#P user dial 664 285 30 30 201 1 -100 0 159 270 1 1. 170 170 170 221 221 221 120 120 120 225 225 225 0 0 0 0 0 0;
#P newex 540 359 27 196617 t i b;
#P user umenu 540 332 100 196645 1 64 348 1;
#X add Off;
#X add Sine;
#X add Triangle;
#X add Sawtooth;
#X add Square;
#X add wave1;
#P newex 432 359 27 196617 t i b;
#P user umenu 432 331 100 196645 1 64 347 1;
#X add Off;
#X add Sine;
#X add Triangle;
#X add Sawtooth;
#X add Square;
#X add wave1;
#P newex 106 284 86 196617 prepend midinote;
#P newex 106 251 48 196617 pack 0 0;
#P user ezdac~ 195 584 239 617 0;
#P newex 195 527 85 196617 clip~ -0.99 0.99;
#P user gain~ 195 435 27 47 158 0 1.071519 7.94321 10.;
#P newex 389 328 27 196617 t l b;
#P user dial 625 102 30 30 128 1 0 0 159 270 1 1. 170 170 170 221 221 221 120 120 120 225 225 225 0 0 0 0 0 0;
#P user dial 577 102 30 30 128 1 0 0 159 270 1 1. 170 170 170 221 221 221 120 120 120 225 225 225 0 0 0 0 0 0;
#P user dial 529 102 30 30 2000 1 2 0 159 270 1 1. 170 170 170 221 221 221 120 120 120 225 225 225 0 0 0 0 0 0;
#P newex 577 140 34 196617 / 10.;
#P newex 529 140 32 196617 * 10;
#P newex 625 140 34 196617 / 10.;
#P flonum 625 165 35 9 0. 127. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user umenu 387 145 70 196647 1 64 161 0;
#X add display;
#X add lowpass;
#X add highpass;
#X add bandpass;
#X add bandstop;
#X add peaknotch;
#X add lowshelf;
#X add highshelf;
#X add resonant;
#X add allpass;
#P flonum 577 165 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 529 165 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user filtergraph~ 389 190 211 103 3 9 0. 22050. 0.0625 16. 1 1 1 0 0 1 1;
#X frgb 191 255 223;
#X brgb 233 233 255;
#X rgb2 0 0 0;
#X rgb3 130 130 130;
#X rgb4 0 0 0;
#X rgb5 118 121 166;
#X rgb6 210 74 54;
#X rgb7 255 22 22;
#X linmarkers 5512.5 11025. 16537.5;
#X logmarkers 10. 100. 1000. 10000.;
#X nfilters 1;
#X setfilter 0 0 0 0 0 20. 1. 0.5 0. 22050. 0.0001 16. 0.5 25.;
#X done;
#P newex 315 359 40 196617 / 128.;
#P number 47 250 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 106 212 40 196617 notein;
#P user dial 351 262 30 30 128 5 0 0 159 270 1 1. 170 170 170 221 221 221 120 120 120 225 225 225 0 0 0 0 0 0;
#P user dial 315 262 30 30 128 1 0 0 159 270 1 1. 170 170 170 221 221 221 120 120 120 225 225 225 0 0 0 0 0 0;
#P user dial 279 262 30 30 128 5 0 0 159 270 1 1. 170 170 170 221 221 221 120 120 120 225 225 225 0 0 0 0 0 0;
#P user dial 243 262 30 30 128 5 0 0 159 270 1 1. 170 170 170 221 221 221 120 120 120 225 225 225 0 0 0 0 0 0;
#P newex 351 328 27 196617 t i b;
#P newex 315 328 27 196617 t i b;
#P newex 279 328 27 196617 t i b;
#P newex 243 328 27 196617 t i b;
#P message 195 304 41 196617 steal 1;
#P newex 195 38 48 196617 loadbang;
#P message 141 402 47 196617 target 0;
#P newex 195 401 162 196617 poly~ synthesizer 16;
#P comment 529 89 36 196617 cut off;
#P comment 577 89 24 196617 gain;
#P comment 626 89 13 196617 Q;
#P comment 662 273 36 196617 Detune;
#P fasten 16 0 17 0 111 237 52 237;
#P connect 16 0 34 0;
#P connect 34 0 35 0;
#P fasten 37 1 5 0 454 385 146 385;
#P fasten 8 1 5 0 265 385 146 385;
#P fasten 9 1 5 0 301 385 146 385;
#P fasten 10 1 5 0 337 385 146 385;
#P fasten 11 1 5 0 373 385 146 385;
#P fasten 30 1 5 0 411 385 146 385;
#P fasten 39 1 5 0 562 385 146 385;
#P fasten 16 1 34 1 126 240 149 240;
#P hidden connect 31 0 46 0;
#P connect 6 0 7 0;
#P connect 7 0 4 0;
#P fasten 5 0 4 0 146 385 200 385;
#P fasten 35 0 4 0 111 355 200 355;
#P connect 4 0 31 0;
#P connect 31 0 32 0;
#P connect 32 0 33 0;
#P fasten 8 0 4 1 248 385 219 385;
#P fasten 32 0 33 1 200 564 234 564;
#P fasten 9 0 4 2 284 385 238 385;
#P fasten 6 0 12 0 200 158 248 158;
#P connect 12 0 8 0;
#P fasten 10 0 4 3 320 385 257 385;
#P fasten 11 0 4 4 356 385 276 385;
#P fasten 6 0 13 0 200 158 284 158;
#P connect 13 0 9 0;
#P fasten 30 0 4 5 394 385 295 385;
#P fasten 37 0 4 6 437 385 314 385;
#P fasten 6 0 14 0 200 158 320 158;
#P connect 14 0 10 0;
#P connect 10 0 18 0;
#P fasten 39 0 4 7 545 385 333 385;
#P fasten 42 0 4 8 669 385 352 385;
#P fasten 6 0 15 0 200 158 356 158;
#P connect 15 0 11 0;
#P fasten 6 0 22 0 200 100 392 100;
#P fasten 22 1 19 0 452 175 394 175;
#P connect 19 0 30 0;
#P connect 36 0 37 0;
#P connect 27 0 25 0;
#P connect 25 0 20 0;
#P connect 20 0 19 5;
#P connect 38 0 39 0;
#P fasten 21 0 19 6 582 185 562 185;
#P connect 28 0 26 0;
#P connect 26 0 21 0;
#P fasten 23 0 19 7 630 185 590 185;
#P connect 29 0 24 0;
#P connect 24 0 23 0;
#P connect 45 0 44 0;
#P connect 44 0 40 0;
#P connect 40 0 43 0;
#P connect 43 0 42 0;
#P pop;

Synth patch

max v2;
#N vpatcher 0 44 1288 918;
#P origin 106 -17;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 414 624 35 196617 *~ 0.;
#N in 8;
#P newobj 788 290 25 196617 in 8;
#N in 9;
#P newobj 818 204 25 196617 in 9;
#P newex 1082 390 39 196617 begin~;
#P newex 1082 429 39 196617 noise~;
#P newex 1005 390 39 196617 begin~;
#P newex 962 390 39 196617 begin~;
#P newex 919 390 39 196617 begin~;
#P newex 876 390 39 196617 begin~;
#P newex 833 390 39 196617 begin~;
#P newex 801 390 29 196617 sig~;
#P flonum 977 458 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 1005 338 30 196617 read;
#P newex 1005 358 107 196617 buffer~ wave1 11.61;
#P newex 1005 429 73 196617 cycle~ wave1;
#P newex 788 517 92 196617 selector~ 6;
#P newex 962 429 40 196617 rect~;
#P newex 876 429 40 196617 tri~;
#P newex 919 429 34 196617 saw~;
#P newex 801 429 40 196617 cycle~;
#P message 480 101 30 196617 open;
#P newex 516 101 35 196617 * 1.;
#P message 528 50 14 196617 0;
#P newex 562 147 32 196617 print;
#P number 440 99 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 479 145 46 196617 / 100.;
#P button 479 27 15 0;
#P newex 479 50 45 196617 Uzi 513;
#N counter 0 512;
#X flags 0 0;
#P newobj 480 72 74 196617 counter 0 512;
#P newex 479 174 69 196617 poke~ wave1;
#N vtable 512 10 59 899 451 2 100;
#P newobj 480 122 32 196617 table;
#P newex 801 316 27 196617 + 0.;
#P newex 801 338 31 196617 mtof;
#N in 7;
#P newobj 414 290 25 196617 in 7;
#P newex 631 390 39 196617 begin~;
#P newex 588 390 39 196617 begin~;
#P newex 545 390 39 196617 begin~;
#P newex 502 390 39 196617 begin~;
#P newex 459 390 39 196617 begin~;
#P newex 427 338 31 196617 mtof;
#P newex 427 390 29 196617 sig~;
#N in 6;
#P newobj 427 647 25 196617 in 6;
#N in 5;
#P newobj 356 499 25 196617 in 5;
#N in 4;
#P newobj 320 499 25 196617 in 4;
#N in 3;
#P newobj 284 499 25 196617 in 3;
#N in 2;
#P newobj 248 499 25 196617 in 2;
#P newex 124 192 40 196617 / 127.;
#P newex 124 160 33 196617 swap;
#P newex 124 119 40 196617 unpack;
#P newex 120 708 52 196617 thispoly~;
#N in 1;
#P newobj 124 76 25 196617 in 1;
#N out~ 1;
#P newobj 414 816 39 196617 out~ 1;
#P newex 414 676 79 196617 biquad~;
#P user scope~ 217 716 347 846 256 3 128 -1. 1. 0 0. 0 0. 102 255 51 135 135 135 0;
#P flonum 603 458 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 212 544 154 196617 adsr~;
#P message 631 338 30 196617 read;
#P newex 631 358 107 196617 buffer~ wave1 11.61;
#P newex 631 429 73 196617 cycle~ wave1;
#P newex 414 517 92 196617 selector~ 6;
#P newex 414 781 27 196617 *~;
#P newex 588 429 40 196617 rect~;
#P newex 502 429 40 196617 tri~;
#P newex 545 429 34 196617 saw~;
#P newex 427 429 40 196617 cycle~;
#P fasten 9 0 15 0 217 634 125 634;
#P fasten 9 2 15 0 313 628 125 628;
#P connect 14 0 16 0;
#P connect 16 0 17 0;
#P connect 17 0 18 0;
#P fasten 16 1 17 1 159 148 152 148;
#P fasten 18 0 9 0 129 430 217 430;
#P connect 5 0 11 0;
#P connect 19 0 9 1;
#P connect 20 0 9 2;
#P connect 21 0 9 3;
#P connect 22 0 9 4;
#P fasten 31 0 5 0 419 337 419 337;
#P connect 5 0 64 0;
#P connect 64 0 12 0;
#P connect 12 0 4 0;
#P connect 4 0 13 0;
#P connect 17 1 25 0;
#P connect 25 0 24 0;
#P connect 24 0 0 0;
#P fasten 26 0 0 0 464 418 432 418;
#P connect 0 0 5 1;
#P connect 23 0 12 1;
#P connect 9 0 4 1;
#P connect 49 0 64 1;
#P connect 36 0 40 0;
#P fasten 2 0 5 2 507 481 445 481;
#P fasten 1 0 5 3 550 481 458 481;
#P fasten 3 0 5 4 593 481 471 481;
#P connect 38 0 37 0;
#P connect 34 0 39 0;
#P connect 39 0 35 0;
#P fasten 6 0 5 5 636 481 484 481;
#P connect 37 0 36 0;
#P connect 36 0 34 0;
#P connect 44 0 34 0;
#P fasten 24 0 2 0 432 418 507 418;
#P connect 27 0 2 0;
#P connect 43 0 35 1;
#P connect 36 0 43 0;
#P connect 42 0 36 3;
#P fasten 24 0 1 0 432 418 550 418;
#P connect 28 0 1 0;
#P fasten 24 0 3 0 432 418 593 418;
#P connect 29 0 3 0;
#P connect 10 0 3 1;
#P connect 8 0 7 0;
#P fasten 24 0 6 0 432 418 636 418;
#P connect 30 0 6 0;
#P connect 63 0 49 0;
#P connect 17 1 33 0;
#P connect 33 0 32 0;
#P connect 32 0 54 0;
#P connect 54 0 45 0;
#P fasten 55 0 45 0 838 417 806 417;
#P connect 45 0 49 1;
#P fasten 47 0 49 2 881 480 819 480;
#P connect 62 0 33 1;
#P fasten 46 0 49 3 924 480 832 480;
#P fasten 48 0 49 4 967 480 845 480;
#P fasten 50 0 49 5 1010 480 858 480;
#P fasten 54 0 47 0 806 417 881 417;
#P connect 56 0 47 0;
#P fasten 54 0 46 0 806 417 924 417;
#P connect 57 0 46 0;
#P fasten 54 0 48 0 806 417 967 417;
#P connect 58 0 48 0;
#P connect 53 0 48 1;
#P connect 52 0 51 0;
#P fasten 54 0 50 0 806 417 1010 417;
#P connect 59 0 50 0;
#P connect 61 0 60 0;
#P pop;


January 23, 2007 | 5:17 pm

You need to send target messages to be able to change the different synthesizers individually. Look at the help file


January 23, 2007 | 5:53 pm

At the moment I can’t select one oscillator and play it with my keyboard. I have to select both oscillators from the umenus to get a sound. And this means i’m using two oscillators to produce a sound. How can I play one oscillator while the other is off? I need to create some kind of mixer with a balance control but at the moment i am struggling to do this.


January 23, 2007 | 6:10 pm

This is more a matter of personal style, but I would probably set
things up so that all the necessary information to sound a single
note would be sent as a list with the "note" message prepended. My
list would include everything I needed to make a single note. That
way, you can do a better job of keeping track of what is sent to
a given voice, use target 0 for anything you need to do globally.


Viewing 6 posts - 1 through 6 (of 6 total)