Csound Csound-dev Csound-tekno Search About

[Csnd] vbap family

Date2012-06-26 02:56
Fromben 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


Date2012-06-26 09:51
Frompeiman khosravi
SubjectRe: [Csnd] vbap family
Hi Ben,


• 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.).


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
 


Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"



Date2012-06-26 21:35
Fromjoachim heintz
SubjectRe: [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

Date2012-06-27 01:24
Frompeiman khosravi
SubjectRe: [Csnd] vbap family
Yes i can confirm this too.

On 26 June 2012 21:35, joachim heintz <jh@joachimheintz.de> wrote:
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


Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"



Date2012-06-27 05:05
Fromben hackbarth
SubjectRe: [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  wrote:
> hi ben -
>
>> i only use vbapz as it seems to
>> be the only workable option when using a channel count != 4, 6 or 8.
>
>        joachim
>
>
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>


Date2012-06-27 05:07
Fromben hackbarth
SubjectRe: [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
 wrote:
> Hi Ben,
>
>
>> • 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.).
>>
>
> 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
>
>>
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>> csound"
>>
>