|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
[SC-list] Ambisonics infoHi all,
I'd some help as I have absolutely no experience with ambisonics, and I am also unable to check the outcome on my system... I need to make an 8 channel alternative of a piece. What I basically want to do is create a space where I have 3 sources, each routed to a random position (or maybe to a random position that makes some kind of rotation before it starts again to randomly change positions) in space and then decode all the information for reproduction from a 8 speakers system.. I've added this at the end of my synthdefs: #w,x,y=PanB.ar(signal,azm,ele); #ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8=DecodeB2.ar(8,w,x,y); Out.ar(2,[ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8]); or #w,x,y=PanB.ar(signal,Rand(-pi,pi),Rand((-pi*0.5),(pi*0.5)) #ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8=DecodeB2.ar(8,w,x,y); Out.ar(2,[ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8]); Or maybe this : #w,x,y=PanB2.ar(signal,1.0.rand2); #ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8=DecodeB2.ar(8,w,x,y); Out.ar(2,[ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8]); Should both work ?? And what exactly is the difference between PanB and PanB2 the second is supposed to be 2D, the first? I also downloaded AMBIEM Quark, I haven't read the help files yet though, maybe I should use this one?? I am reading various technical stuff at the moment, but I'd like the opinion of someone that has already done those things.. Thx in advance _______________________________________________ sc-users mailing list sc-users@... http://lists.create.ucsb.edu/mailman/listinfo/sc-users |
|
|
Re: [SC-list] Ambisonics infoHi Marinos,
First, what I would suggest doing (to possibly make things easier for yourself) is to make an Ambisonic (non-decoded) version of your piece. One you have this, you can easily decode JUST that file when playing in different circumstances. PanB outputs 4 channels, PanB2 only 3. PanB supports the z (or height) channel. If you won't be using height at all, there is no reason to not use only PanB2. SuperCollider doesn't have a built-in 3-d decoder (just DecodeB2), so if you ARE using height, you need to use either AMBiem or you can use the Ambisonic UGens in my library - JoshUGens - available in the realizedsound download of SC3 here: The above download also has a snapshot of Quarks, so AMBiem is in there as well. Now - to you synthdefs. You can't use .rand2. This will only evaluate at compile time, so you will only get one random value. You need to use Rand.new or pass these values in as arguments. If you pass them in as arguments AND wrap them in lags, you can smooth out transition (this sounds like something you want to do). Something like (adapted from the PanB2 helpfile - note the az arg and the Lag2): SynthDef(\test, {arg az; var w, x, y, p, a, b, c, d; p = PinkNoise.ar; // source // B-format encode #w, x, y = PanB2.ar(p, Lag2.kr(az, 2), 0.1); // B-format decode to quad #a, b, c, d = DecodeB2.ar(4, w, x, y); Out.ar(0, [a, b, d, c]) // reorder to my speaker arrangement: Lf Rf Lr Rr }).load(s) a = Synth.new(\test); a.set([\az, -0.5pi]); a.set([\az, -0.25pi]); a.set([\az, 0.25pi]); a.free; Hope that helps. Josh On May 8, 2008, at 5:34 AM, Marinos Koutsomichalis wrote:
****************************************** /* Joshua D. Parmenter http://www.realizedsound.net/josh/ “Every composer – at all times and in all cases – gives his own interpretation of how modern society is structured: whether actively or passively, consciously or unconsciously, he makes choices in this regard. He may be conservative or he may subject himself to continual renewal; or he may strive for a revolutionary, historical or social palingenesis." - Luigi Nono */_______________________________________________ sc-users mailing list sc-users@... http://lists.create.ucsb.edu/mailman/listinfo/sc-users |
|
|
|
|
|
Re: [SC-list] Ambisonics infoThe four channels of output in PanB encode a pressure signal (w) front
to back (x) left to right (y) and up and down (z). The decoder then uses all four of these channels to recreate the signal for a given speaker. I recommend you look at the basic Ambisonic Technology heading here: http://www.york.ac.uk/inst/mustech/3d_audio/ambis2.htm The four channels are not panned channels in themselves, they are encoded velocity data. Trust me, you can get some pretty aggressive panning with Ambisonics. Josh On May 8, 2008, at 12:38 PM, Marinos Koutsomichalis wrote: > Thx Josh, > but what if I want to route audio to 8 channels? When I decode the > output from PanB (4 channels you said) to 8 channels what exactly > happens, I just get every channel splitted at 2 so I get a total of > 8 channels? If so, I guess that's not what I want, I want to have > some complexity in my space, I want aggressive things... So I am > thinking the possibility of routing everything manually with random > or cosine generators and , or sth else.. > As a quick thought sth like : > ... > Out.ar(2,[signal*amp1,signal*amp2,.....]) > and a Task sending random values at amp1,.... > > or maybe a more sophisticated diffusion system where I will send a > random position as argument. > > What you say? > Is it better that way or I should better stick with the ambisonics? > I guess ambisonics would have a more "psycoacoustical" correct > approach, but the manually way may be better for what I have in > mind, so please share your thoughts with me, what would you > personally do? > > > On 08 Μαϊ 2008, at 7:25 ΜΜ, sc-users-request@... > wrote: > >> Message: 2 >> Date: Thu, 8 May 2008 09:25:15 -0700 >> From: Josh Parmenter <josh@...> >> Subject: Re: [sc-users] [SC-list] Ambisonics info >> To: SuperCollider users mailing list <sc-users@...> >> Message-ID: <9832B778-7E9C-4B0B-AC2E-E7A9429C64BE@...> >> Content-Type: text/plain; charset="windows-1252" >> >> Hi Marinos, >> >> First, what I would suggest doing (to possibly make things easier for >> yourself) is to make an Ambisonic (non-decoded) version of your >> piece. >> One you have this, you can easily decode JUST that file when playing >> in different circumstances. >> >> PanB outputs 4 channels, PanB2 only 3. PanB supports the z (or >> height) >> channel. If you won't be using height at all, there is no reason to >> not use only PanB2. SuperCollider doesn't have a built-in 3-d decoder >> (just DecodeB2), so if you ARE using height, you need to use either >> AMBiem or you can use the Ambisonic UGens in my library - JoshUGens - >> available in the realizedsound download of SC3 here: >> >> http://sourceforge.net/projects/blackrain-sc3/ >> >> The above download also has a snapshot of Quarks, so AMBiem is in >> there as well. >> >> Now - to you synthdefs. You can't use .rand2. This will only evaluate >> at compile time, so you will only get one random value. You need to >> use Rand.new or pass these values in as arguments. >> >> If you pass them in as arguments AND wrap them in lags, you can >> smooth >> out transition (this sounds like something you want to do). Something >> like (adapted from the PanB2 helpfile - note the az arg and the >> Lag2): >> >> SynthDef(\test, {arg az; >> var w, x, y, p, a, b, c, d; >> p = PinkNoise.ar; // source >> // B-format encode >> #w, x, y = PanB2.ar(p, Lag2.kr(az, 2), 0.1); >> // B-format decode to quad >> #a, b, c, d = DecodeB2.ar(4, w, x, y); >> Out.ar(0, [a, b, d, c]) // reorder to my speaker arrangement: Lf Rf >> Lr Rr >> }).load(s) >> >> >> a = Synth.new(\test); >> >> a.set([\az, -0.5pi]); >> >> a.set([\az, -0.25pi]); >> >> a.set([\az, 0.25pi]); >> >> a.free; >> >> Hope that helps. >> >> Josh >> >> On May 8, 2008, at 5:34 AM, Marinos Koutsomichalis wrote: >> >>> Hi all, >>> >>> I'd some help as I have absolutely no experience with ambisonics, >>> and I am also unable to check the outcome on my system... >>> I need to make an 8 channel alternative of a piece. What I >>> basically want to do is create a space where I have 3 sources, each >>> routed to a random position (or maybe to a random position that >>> makes some kind of rotation before it starts again to randomly >>> change positions) in space and then decode all the information for >>> reproduction from a 8 speakers system.. >>> >>> I've added this at the end of my synthdefs: >>> >>> #w,x,y=PanB.ar(signal,azm,ele); >>> #ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8=DecodeB2.ar(8,w,x,y); >>> Out.ar(2,[ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8]); >>> >>> or >>> >>> #w,x,y=PanB.ar(signal,Rand(-pi,pi),Rand((-pi*0.5),(pi*0.5)) >>> #ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8=DecodeB2.ar(8,w,x,y); >>> Out.ar(2,[ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8]); >>> >>> >>> Or maybe this : >>> >>> #w,x,y=PanB2.ar(signal,1.0.rand2); >>> #ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8=DecodeB2.ar(8,w,x,y); Out.ar(2, >>> [ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8]); >>> >>> Should both work >>> ?? >>> >>> And what exactly is the difference between PanB and PanB2 the second >>> is supposed to be 2D, the first? >>> I also downloaded AMBIEM Quark, I haven't read the help files yet >>> though, maybe I should use this one?? >>> >>> I am reading various technical stuff at the moment, but I'd like the >>> opinion of someone that has already done those things.. >>> Thx in advance >>> _______________________________________________ >>> sc-users mailing list >>> sc-users@... >>> http://lists.create.ucsb.edu/mailman/listinfo/sc-users >> >> ****************************************** >> /* Joshua D. Parmenter >> http://www.realizedsound.net/josh/ >> >> ?Every composer ? at all times and in all cases ? gives his own >> interpretation of how modern society is structured: whether actively >> or passively, consciously or unconsciously, he makes choices in this >> regard. He may be conservative or he may subject himself to continual >> renewal; or he may strive for a revolutionary, historical or social >> palingenesis." - Luigi Nono >> */ > > _______________________________________________ > sc-users mailing list > sc-users@... > http://lists.create.ucsb.edu/mailman/listinfo/sc-users ****************************************** /* Joshua D. Parmenter http://www.realizedsound.net/josh/ “Every composer – at all times and in all cases – gives his own interpretation of how modern society is structured: whether actively or passively, consciously or unconsciously, he makes choices in this regard. He may be conservative or he may subject himself to continual renewal; or he may strive for a revolutionary, historical or social palingenesis." - Luigi Nono */ _______________________________________________ sc-users mailing list sc-users@... http://lists.create.ucsb.edu/mailman/listinfo/sc-users |
| Free Forum Powered by Nabble | Forum Help |