VST3 HOA Support > 3rd order

SDK for VST 3 audio plug-in and host development.
olilarkin
Posts: 20
Joined: Tue Jun 21, 2016 11:49 am

VST3 HOA Support > 3rd order

Postby olilarkin » Wed Apr 18, 2018 10:06 am

If I am not mistaken because VST3 speaker arrangements based on a bit set and it seems that in the Speaker Definitions array you do not want to use the same bit index for multiple things (even though I can't imagine a situation where it would be a problem where you are using ambisonics OR speaker layouts), it is not possible for VST3 plug-ins to support > 4th order channel counts, since you haven't got enough bits left.

Since HOA support is a fairly recent addition, why not correct this in the SDK ASAP, so that kSpeakerACN0 = 0 and we can do 7th order HOA (64 channels) in VST3 plug-ins, like we can with VST2 in Reaper.

Code: Select all

const Speaker kSpeakerACN0  = (Speaker)1 << 20;   ///< Ambisonic ACN 0
const Speaker kSpeakerACN1  = (Speaker)1 << 21;   ///< Ambisonic ACN 1
const Speaker kSpeakerACN2  = (Speaker)1 << 22;   ///< Ambisonic ACN 2
const Speaker kSpeakerACN3  = (Speaker)1 << 23;   ///< Ambisonic ACN 3
const Speaker kSpeakerACN4  = (Speaker)1 << 38;   ///< Ambisonic ACN 4
const Speaker kSpeakerACN5  = (Speaker)1 << 39;   ///< Ambisonic ACN 5
const Speaker kSpeakerACN6  = (Speaker)1 << 40;   ///< Ambisonic ACN 6
const Speaker kSpeakerACN7  = (Speaker)1 << 41;   ///< Ambisonic ACN 7
const Speaker kSpeakerACN8  = (Speaker)1 << 42;   ///< Ambisonic ACN 8
const Speaker kSpeakerACN9  = (Speaker)1 << 43;   ///< Ambisonic ACN 9
const Speaker kSpeakerACN10 = (Speaker)1 << 44;   ///< Ambisonic ACN 10
const Speaker kSpeakerACN11 = (Speaker)1 << 45;   ///< Ambisonic ACN 11
const Speaker kSpeakerACN12 = (Speaker)1 << 46;   ///< Ambisonic ACN 12
const Speaker kSpeakerACN13 = (Speaker)1 << 47;   ///< Ambisonic ACN 13
const Speaker kSpeakerACN14 = (Speaker)1 << 48;   ///< Ambisonic ACN 14
const Speaker kSpeakerACN15 = (Speaker)1 << 49;   ///< Ambisonic ACN 15

ygrabit
Posts: 111
Joined: Fri Jun 17, 2016 7:52 am
Location: Hamburg

Re: VST3 HOA Support > 3rd order

Postby ygrabit » Thu Apr 19, 2018 7:54 am

Hi
I think we need to adapt a different approach for more than 64 channels, i will make a proposal where the bitset arragement will get a new mode which will define a configuration directly with number of used channels. For now we keep the bitset like it is...and support only 3rd order for HOA...
stay tuned...
Best Regards
YVan Grabit

olilarkin
Posts: 20
Joined: Tue Jun 21, 2016 11:49 am

Re: VST3 HOA Support > 3rd order

Postby olilarkin » Fri Apr 20, 2018 9:19 am

sounds good

DanielRudrich
Posts: 3
Joined: Tue Dec 04, 2018 1:40 pm

Re: VST3 HOA Support > 3rd order

Postby DanielRudrich » Fri Dec 14, 2018 9:05 am

ygrabit wrote:Hi
I think we need to adapt a different approach for more than 64 channels, i will make a proposal where the bitset arragement will get a new mode which will define a configuration directly with number of used channels. For now we keep the bitset like it is...and support only 3rd order for HOA...
stay tuned...
Best Regards


Are there any updates? The current situation with the VST3 layouts is not really suitable for inputs/outputs being independent of standard loudspeaker layouts. See this thread: viewtopic.php?f=4&t=624
Especially for Higher Order Ambisonic plug-ins, Wave-field synthesis, multi-source encoders/renderers, loudspeaker decoders for arbitrary number of loudspeakers (e.g. for HOA, VBAP, ...).

I am not really familiar with what's going on within the VST3 standard, but I guess a quick solution would be allowing discrete channels as a default layout, so DAW / plug-in host manufacturers can allow non-standardized loudspeaker layouts.

DanielRudrich
Posts: 3
Joined: Tue Dec 04, 2018 1:40 pm

Re: VST3 HOA Support > 3rd order

Postby DanielRudrich » Thu Jan 17, 2019 10:34 am

Opened an issue regarding this matter here: https://github.com/steinbergmedia/vst3sdk/issues/28
With spatial audio technologies like Ambisonics or even WFS, the lack of an arbitrary discrete channel layout is a big problem for plug-in developers, making VST3 not suitable for that. Porting from VST2 is simply not possible at the moment.


Return to “VST 3 SDK”

Who is online

Users browsing this forum: No registered users and 4 guests