[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] Re: all audio explodes when trying to trig record clean feed via groups



Hey James,

One last question: As you can tell I am already in this bad habit with Out.ar and multichannel expansion. I understand your point with the example you provided (thanks btw) but am confused about what the correct way to make that mono signal stereo would be. Is this the proper way to do what I was trying to do (below)?

version 1 (condense two signals to mono, expand to stereo)

m = { arg cleanAmp = 0.5, loopedAmp = 0.5; var clean, looped, sig; clean = In.ar(~cleanBus.index, 1) * cleanAmp; looped = In.ar(~loopedBus.index, 1) * loopedAmp; sig = clean + looped; Out.ar(0, sig!2); }.play(target: ~finalMix);

or version 2 (clean in channel 0 looped in channel 1)

m = { arg cleanAmp = 0.5, loopedAmp = 0.5;
    var clean, looped, sig;
    clean =  In.ar(~cleanBus.index, 1) * cleanAmp;
    looped = In.ar(~loopedBus.index, 1) * loopedAmp;
sig = clean + looped;
Out.ar(0, [clean, looped]);
}.play(target: ~finalMix);

Casey


On December 29, 2017 at 5:47:05 PM, jamshark70@xxxxxx (jamshark70@xxxxxx) wrote:

casey.thomas.anderson wrote
> Thanks for these suggestions, super helpful. I made the changes you
> suggested and then after some tweaking I now have things working. One odd
> thing I noticed is that certain UGens ask for a Buffer.index but seem to
> want a Buffer.bufnum instead (?) and throw errors about not understanding
> the Buffer.index until this change is made (see rec_manual where i use
> ~loopbuf1.bufnum instead of ~loopbuf1.index for one example).

Glad to hear it's working better.

UGens shouldn't be asking for a "buffer.index" -- a Buffer object knows how
to report its bufnum, not an index.


> m = { arg cleanAmp = 0.5, loopedAmp = 0.5;
> var clean, looped, sig;
> clean = In.ar(~cleanBus.index, 1) * cleanAmp;
> looped = In.ar(~loopedBus.index, 1) * loopedAmp;
> sig = clean + looped;
> Out.ar([0,1], sig);
> }.play(target: ~finalMix);

You need to change this to Out.ar(0, sig) -- DO NOT DO [0, 1] here.

Try this to see why:

s.boot;

s.scope(3);

a = { Out.ar([0, 1], [SinOsc.ar(880, 0, 0.1), Saw.ar(440, 0.1)]) }.play;

amp = 0.1 to save your ears. You can use the right-hand slider to scale the
display up.

Bus 0 = sine. OK.
Bus 1 = sine + saw. Nope.
Bus 2 = saw (+ hardware input, if you have the default two hardware output
channels)

I'm quite sure this is not what you wanted.

As I had said before, if you find yourself getting in the habit of writing
"Out.ar([0, 1]...)," better to get out of that habit right now. It's not
correct usage.

hjh



--
Sent from: http://new-supercollider-mailing-lists-forums-use-these.2681727.n2.nabble.com/SuperCollider-Users-New-Use-this-f2676391.html

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/