Hi Rishabh, If you switch between two input signals without some kind of cross-fade (fading one signal out while the other is faded in) you will most likely experience an audible click.
To mix between two groups of 8 inputs you can use 8 polygate~ objects with the arguments of each one set for example as "2 100". The 2 is the number of input channels and the 100 is the cross-fade time in msec. You can adjust the value to a much longer time if you wish. Best leave polygate~ at its default "equal power" setting (see the help file) as this offers a more even loudness (perceived amplitude) during the fade (switch), assuming the 2 inputs are of roughly equal amplitude. I've attached an example patch - and will paste contents below. Don't forget you'll need to launch Pd with the command line argument "-channels 16" in order to patch with jack. Cheers and good luck iain #N canvas 332 91 1212 660 10; #X obj 187 -14 adc~ 1 2 3 4 5 6 7 8; #X obj 388 -15 adc~ 9 10 11 12 13 14 15 16; #X obj 257 107 polygate~ 2 100; #X obj 281 133 polygate~ 2 100; #X obj 305 159 polygate~ 2 100; #X obj 332 185 polygate~ 2 100; #X obj 350 217 polygate~ 2 100; #X obj 377 243 polygate~ 2 100; #X obj 401 269 polygate~ 2 100; #X obj 428 295 polygate~ 2 100; #X obj 269 327 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 3800 1; #X obj 199 481 r~ fader1; #X obj 192 129 s~ fader1; #X obj 202 161 s~ fader2; #X obj 224 192 s~ fader3; #X obj 235 216 s~ fader4; #X obj 277 241 s~ fader5; #X obj 297 270 s~ fader6; #X obj 337 297 s~ fader7; #X obj 399 328 s~ fader8; #X msg -121 29 ftime-epower \$1; #X msg 56 27 choice \$1; #X floatatom -121 5 5 0 0 0 - - -; #X text -167 -15 set cross-fade time (msec); #X text 34 -23 choose location; #N canvas 72 366 600 400 tone2 0; #X obj 235 235 outlet~; #X obj 276 197 *~ 0.2; #X obj 228 157 osc~ 600; #X connect 1 0 0 0; #X connect 2 0 1 0; #X restore 357 -56 pd tone2; #N canvas 1 66 600 400 tone1 0; #X obj 131 240 outlet~; #X obj 124 162 osc~ 500; #X obj 172 202 *~ 0.2; #X connect 1 0 2 0; #X connect 2 0 0 0; #X restore 295 -57 pd tone1; #X msg 37 2 1; #X msg 75 3 2; #X text 207 -36 location 1; #X text 431 -36 location 2; #X obj 547 596 dac~ 1 2; #X obj 255 508 *~; #X obj 269 487 line~; #X msg 269 464 \$1 100; #X obj 379 328 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 365 509 *~; #X obj 379 488 line~; #X msg 379 465 \$1 100; #X obj 496 330 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 482 511 *~; #X obj 496 490 line~; #X msg 496 467 \$1 100; #X obj 606 331 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 592 512 *~; #X obj 606 491 line~; #X msg 606 468 \$1 100; #X obj 727 334 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 713 515 *~; #X obj 727 494 line~; #X msg 727 471 \$1 100; #X obj 837 335 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 823 516 *~; #X obj 837 495 line~; #X msg 837 472 \$1 100; #X obj 954 337 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 940 518 *~; #X obj 954 497 line~; #X msg 954 474 \$1 100; #X obj 1064 338 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 1050 519 *~; #X obj 1064 498 line~; #X msg 1064 475 \$1 100; #X obj 310 483 r~ fader2; #X obj 426 484 r~ fader3; #X obj 536 485 r~ fader4; #X obj 657 488 r~ fader5; #X obj 767 489 r~ fader6; #X obj 885 491 r~ fader7; #X obj 994 492 r~ fader8; #X text 284 -76 you can use these to test; #X connect 0 0 2 0; #X connect 0 1 3 0; #X connect 0 2 4 0; #X connect 0 3 5 0; #X connect 0 4 6 0; #X connect 0 5 7 0; #X connect 0 6 8 0; #X connect 0 7 9 0; #X connect 1 0 2 1; #X connect 1 1 3 1; #X connect 1 2 4 1; #X connect 1 3 5 1; #X connect 1 4 6 1; #X connect 1 5 7 1; #X connect 1 6 8 1; #X connect 1 7 9 1; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 4 0 14 0; #X connect 5 0 15 0; #X connect 6 0 16 0; #X connect 7 0 17 0; #X connect 8 0 18 0; #X connect 9 0 19 0; #X connect 10 0 34 0; #X connect 11 0 32 0; #X connect 20 0 2 0; #X connect 20 0 3 0; #X connect 20 0 4 0; #X connect 20 0 5 0; #X connect 20 0 6 0; #X connect 20 0 7 0; #X connect 20 0 8 0; #X connect 20 0 9 0; #X connect 21 0 2 0; #X connect 21 0 3 0; #X connect 21 0 4 0; #X connect 21 0 5 0; #X connect 21 0 6 0; #X connect 21 0 7 0; #X connect 21 0 8 0; #X connect 21 0 9 0; #X connect 22 0 20 0; #X connect 27 0 21 0; #X connect 28 0 21 0; #X connect 32 0 31 0; #X connect 32 0 31 1; #X connect 33 0 32 1; #X connect 34 0 33 0; #X connect 35 0 38 0; #X connect 36 0 31 0; #X connect 36 0 31 1; #X connect 37 0 36 1; #X connect 38 0 37 0; #X connect 39 0 42 0; #X connect 40 0 31 0; #X connect 40 0 31 1; #X connect 41 0 40 1; #X connect 42 0 41 0; #X connect 43 0 46 0; #X connect 44 0 31 0; #X connect 44 0 31 1; #X connect 45 0 44 1; #X connect 46 0 45 0; #X connect 47 0 50 0; #X connect 48 0 31 0; #X connect 48 0 31 1; #X connect 49 0 48 1; #X connect 50 0 49 0; #X connect 51 0 54 0; #X connect 52 0 31 0; #X connect 52 0 31 1; #X connect 53 0 52 1; #X connect 54 0 53 0; #X connect 55 0 58 0; #X connect 56 0 31 0; #X connect 56 0 31 1; #X connect 57 0 56 1; #X connect 58 0 57 0; #X connect 59 0 62 0; #X connect 60 0 31 0; #X connect 60 0 31 1; #X connect 61 0 60 1; #X connect 62 0 61 0; #X connect 63 0 36 0; #X connect 64 0 40 0; #X connect 65 0 44 0; #X connect 66 0 48 0; #X connect 67 0 52 0; #X connect 68 0 56 0; #X connect 69 0 60 0; On Sat, 2012-04-07 at 16:43 -0400, Rishabh Natarajan wrote: > Hi Iain, > > > I just read a little while back that you can indeed use multiple adcs~ > in one patch, but no where is it explained for my particular case. I > don't want multiple adcs~ to route some channels here and some other > channels some where else. I need to be able to switch between 2 > interfaces within the same patch, so that I can use the same set of > sliders to mix sound, separately, either coming in from the internet > via Jacktrip or locally via my local interface. > > > What I would then do is, the output of the adc~ receiving audio > channels from Jacktrip over the internet will be routed to the dac~ to > the local sound, while the adc~ receiving audio channels from my local > setup, should be routed to some dac~ that will send the audio over > Jacktrip to the remote location. > > > I'm not quite sure what you mean by crossfade. I just want to switch > the sliders in my patch to either control sound coming via jacktrip or > to control sound coming via my local interface, i.e. sound coming in > from the internet or sound coming in from local musicians.It has > nothing to do with timing between signals, just a switch between the > incoming sets of audio. The idea is to use the same set of 8 sliders > to manage 8 channels either coming in from Jacktrip or coming in from > the local interface. I think the term 'fader' is misleading; when I > say fader I mean the sliders that one finds on a mixer. I hope that > makes my problem a little more clear :) > > > Regards, > Rishabh > > On Sat, Apr 7, 2012 at 4:24 PM, Iain Mott <[email protected]> > wrote: > Hi > > In answer to question 1, and if I'm understanding correctly, > yes you can > have more than one adc~ in the patch or specify the input > channels in a > particular adc~. eg an object with "adc~ 1 2 3 4 5 6 7" will > receive 7 > input channels numbered 1-7. These can receive their signals > via jack > routing. > > In regard to switching between inputs, you might consider > polygate~ from > motex in pd-extended. This allows you to cross-fade between up > to 10 > inputs. You can set a cross-fade time in milliseconds and > choose between > linear or equal-power fading. If you need to switch between > more than 10 > inputs, just use more polygate~ objects - and you'll need two > at least > anyway for a stereo mix. > > cheers, > > Iain > > > On Sat, 2012-04-07 at 13:57 -0400, Rishabh Natarajan wrote: > > Hi, > > > > > > I'm trying to build a virtual mixer in pd for telematic > music. > > Telematic music is a genre of music where the musicians > collaborate > > live but are situated in different locations (cities), over > the > > internet. > > > > > > My mixer should be able to take in remote channels coming in > through > > Jack and route to the local sound system and also, through > some > > interface be able to take in local inputs and send out via > Jack to the > > remote system. > > > > > > The questions I have are: > > 1. can I have 2 adc~ objects in one patch? So that I can > switch the > > same set of faders to control either signals going to and > coming from > > Jack or going to and coming from my local interface? if so, > how do I > > achieve this? > > 2. If I need to be able to route sound over the internet via > Jack and > > to and from my local system via an interface, how do I make > pd use > > both Jack and the local interface (for example the coremidi > on a mac) > > at the same time? This sort of ties in with the first > question. > > > > > > My time to do all of this is really short and I am very new > to pd. Any > > help with this would really, really be appreciated! > > > > > > Thanks, > > Rishabh > > > _______________________________________________ > > [email protected] mailing list > > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > > > >
#N canvas 332 91 1212 660 10; #X obj 187 -14 adc~ 1 2 3 4 5 6 7 8; #X obj 388 -15 adc~ 9 10 11 12 13 14 15 16; #X obj 257 107 polygate~ 2 100; #X obj 281 133 polygate~ 2 100; #X obj 305 159 polygate~ 2 100; #X obj 332 185 polygate~ 2 100; #X obj 350 217 polygate~ 2 100; #X obj 377 243 polygate~ 2 100; #X obj 401 269 polygate~ 2 100; #X obj 428 295 polygate~ 2 100; #X obj 269 327 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 3800 1; #X obj 199 481 r~ fader1; #X obj 192 129 s~ fader1; #X obj 202 161 s~ fader2; #X obj 224 192 s~ fader3; #X obj 235 216 s~ fader4; #X obj 277 241 s~ fader5; #X obj 297 270 s~ fader6; #X obj 337 297 s~ fader7; #X obj 399 328 s~ fader8; #X msg -121 29 ftime-epower \$1; #X msg 56 27 choice \$1; #X floatatom -121 5 5 0 0 0 - - -; #X text -167 -15 set cross-fade time (msec); #X text 34 -23 choose location; #N canvas 72 366 600 400 tone2 0; #X obj 235 235 outlet~; #X obj 276 197 *~ 0.2; #X obj 228 157 osc~ 600; #X connect 1 0 0 0; #X connect 2 0 1 0; #X restore 357 -56 pd tone2; #N canvas 1 66 600 400 tone1 0; #X obj 131 240 outlet~; #X obj 124 162 osc~ 500; #X obj 172 202 *~ 0.2; #X connect 1 0 2 0; #X connect 2 0 0 0; #X restore 295 -57 pd tone1; #X msg 37 2 1; #X msg 75 3 2; #X text 207 -36 location 1; #X text 431 -36 location 2; #X obj 547 596 dac~ 1 2; #X obj 255 508 *~; #X obj 269 487 line~; #X msg 269 464 \$1 100; #X obj 379 328 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 365 509 *~; #X obj 379 488 line~; #X msg 379 465 \$1 100; #X obj 496 330 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 482 511 *~; #X obj 496 490 line~; #X msg 496 467 \$1 100; #X obj 606 331 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 592 512 *~; #X obj 606 491 line~; #X msg 606 468 \$1 100; #X obj 727 334 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 713 515 *~; #X obj 727 494 line~; #X msg 727 471 \$1 100; #X obj 837 335 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 823 516 *~; #X obj 837 495 line~; #X msg 837 472 \$1 100; #X obj 954 337 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 940 518 *~; #X obj 954 497 line~; #X msg 954 474 \$1 100; #X obj 1064 338 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 1050 519 *~; #X obj 1064 498 line~; #X msg 1064 475 \$1 100; #X obj 310 483 r~ fader2; #X obj 426 484 r~ fader3; #X obj 536 485 r~ fader4; #X obj 657 488 r~ fader5; #X obj 767 489 r~ fader6; #X obj 885 491 r~ fader7; #X obj 994 492 r~ fader8; #X text 284 -76 you can use these to test; #X connect 0 0 2 0; #X connect 0 1 3 0; #X connect 0 2 4 0; #X connect 0 3 5 0; #X connect 0 4 6 0; #X connect 0 5 7 0; #X connect 0 6 8 0; #X connect 0 7 9 0; #X connect 1 0 2 1; #X connect 1 1 3 1; #X connect 1 2 4 1; #X connect 1 3 5 1; #X connect 1 4 6 1; #X connect 1 5 7 1; #X connect 1 6 8 1; #X connect 1 7 9 1; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 4 0 14 0; #X connect 5 0 15 0; #X connect 6 0 16 0; #X connect 7 0 17 0; #X connect 8 0 18 0; #X connect 9 0 19 0; #X connect 10 0 34 0; #X connect 11 0 32 0; #X connect 20 0 2 0; #X connect 20 0 3 0; #X connect 20 0 4 0; #X connect 20 0 5 0; #X connect 20 0 6 0; #X connect 20 0 7 0; #X connect 20 0 8 0; #X connect 20 0 9 0; #X connect 21 0 2 0; #X connect 21 0 3 0; #X connect 21 0 4 0; #X connect 21 0 5 0; #X connect 21 0 6 0; #X connect 21 0 7 0; #X connect 21 0 8 0; #X connect 21 0 9 0; #X connect 22 0 20 0; #X connect 27 0 21 0; #X connect 28 0 21 0; #X connect 32 0 31 0; #X connect 32 0 31 1; #X connect 33 0 32 1; #X connect 34 0 33 0; #X connect 35 0 38 0; #X connect 36 0 31 0; #X connect 36 0 31 1; #X connect 37 0 36 1; #X connect 38 0 37 0; #X connect 39 0 42 0; #X connect 40 0 31 0; #X connect 40 0 31 1; #X connect 41 0 40 1; #X connect 42 0 41 0; #X connect 43 0 46 0; #X connect 44 0 31 0; #X connect 44 0 31 1; #X connect 45 0 44 1; #X connect 46 0 45 0; #X connect 47 0 50 0; #X connect 48 0 31 0; #X connect 48 0 31 1; #X connect 49 0 48 1; #X connect 50 0 49 0; #X connect 51 0 54 0; #X connect 52 0 31 0; #X connect 52 0 31 1; #X connect 53 0 52 1; #X connect 54 0 53 0; #X connect 55 0 58 0; #X connect 56 0 31 0; #X connect 56 0 31 1; #X connect 57 0 56 1; #X connect 58 0 57 0; #X connect 59 0 62 0; #X connect 60 0 31 0; #X connect 60 0 31 1; #X connect 61 0 60 1; #X connect 62 0 61 0; #X connect 63 0 36 0; #X connect 64 0 40 0; #X connect 65 0 44 0; #X connect 66 0 48 0; #X connect 67 0 52 0; #X connect 68 0 56 0; #X connect 69 0 60 0;
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
