[Csnd] vbap family
Date | 2012-06-26 02:56 |
From | ben hackbarth |
Subject | [Csnd] vbap family |
hello list, i'm increasingly using the vbap opcodes in my work to be able to efficiently render and rerender my music for an arbitrary number of channels according to performance resources. getting the largest possible sweetspot is a top priority and i am generally getting good results, especially when increasing the "spread" and adding delays on each output channel to simulate the haas effect. however, there are a couple of limitations due to the way that the opcode is written and i am wondering if anyone else has similar problems and/or possible workarounds. i only use vbapz as it seems to be the only workable option when using a channel count != 4, 6 or 8. the issues are: • a limit of 16 channels. this seems to be due the the number of optional parameters hard-coded into vbaplsinit. • the zak-channel version is awkward to code (at the moment i use python to write my orchestra for me!). it seems like it would be nicer to have the opcode skip zak altogether and output an arbitrary number of variables according to vbaplsinit (not unlike diskin2). • most other implementations of vbap that i've used (max/pure data) do not output scaled audio signals but, rather, k-rate amplitude coefficients and which are then applied by the user. this permits a more flexible usage: one is able to, for instance: use vbap's coefficients with different signals for each speaker; pan stereo sounds more elegantly; or do something else with the data altogether (like using vbap coefficients to drive filters, etc.). riffing off of #2 and #3 above, i'd much prefer a setup like this: vbaplsinit 2, 5, 0, 30, 160, -160, -30 ; 5.1 k0, k1, k2, k3, k4 vbap 0, 0, 10 asnd1, asnd2 diskin2 "myStereoFile.wav", 1 outc asnd1*k0, asnd1*k1, asnd2*k2, asnd2*k3, asnd2*k4 ; note different signals if anyone has any tips for working with vbap in a more flexible way, i'm all ears! cheers, -- ben |
Date | 2012-06-26 09:51 |
From | peiman khosravi |
Subject | Re: [Csnd] vbap family |
Hi Ben,• most other implementations of vbap that i've used (max/pure data) do You can send a DC-offset through like this and scale it after. That's what I do anyway. But it would be nice to have a k-rate version too. asig = 1 ar1, ar2, ar3, ar4, ar5, ar6, ar7, ar8 vbap8 asig, kazim ar1 = (ar1 * 1000) + 1000 ;for controlling filter frequency . . . Best, P
|
Date | 2012-06-26 21:35 |
From | joachim heintz |
Subject | Re: [Csnd] vbap family |
hi ben - > i only use vbapz as it seems to > be the only workable option when using a channel count != 4, 6 or 8. why? i have frequently used vbap with (e.g.) 7 channels. you can define them in vbaplsinit, then use vbap8 and leave the last audio signal unused (if i recall correctly). joachim |
Date | 2012-06-27 01:24 |
From | peiman khosravi |
Subject | Re: [Csnd] vbap family |
Yes i can confirm this too. On 26 June 2012 21:35, joachim heintz <jh@joachimheintz.de> wrote: hi ben - |
Date | 2012-06-27 05:05 |
From | ben hackbarth |
Subject | Re: [Csnd] vbap family |
> why? i have frequently used vbap with (e.g.) 7 channels. you can define > them in vbaplsinit, then use vbap8 and leave the last audio signal > unused (if i recall correctly). funny. i had done this successfully in earlier versions of csound5, but i tried a couple of weeks ago and was unable to get it to work in 5.17. perhaps the code has changed? or maybe i was just messing something up... regardless, it seems to me that vbap would be a lot simpler to use (and learn) with one opcode rather than the 8 opcodes we have now. plus, allocating a bunch of extra channels (like using vbap8 for 5.1) must add some cpu overhead, which isn't idea, especially in realtime. thanks for the responses. -- ben On Tue, Jun 26, 2012 at 1:35 PM, joachim heintz |
Date | 2012-06-27 05:07 |
From | ben hackbarth |
Subject | Re: [Csnd] vbap family |
cool, good idea peiman! are the vbap amplitude panners running internally at the a-rate? in any case, i agree, a k-rate option would be nice :) -- ben On Tue, Jun 26, 2012 at 1:51 AM, peiman khosravi |