Ambisonics channel order FuMA or ACN?
-
- KVRer
- 5 posts since 22 Nov, 2007
Hi there.
I am delighted to see that Melda is embracing ambisonics in their plug ins! Thats a solid move.
I have been experimenting with adding some turboreverb and it seems to me that I get results I expect (some directionality when reverb 100% wet) if using the FuMA channel order: W, X, Y, Z rather than the newer ACN (Ambix that have been adopted by Youtube and others as the "new" standard), with no directionality when feeding ACN to the plugin and decoding as ACN.
Can anyone that the Melda plugins are intended to use FuMA when in ambisonics mode?
Chain used to test: IEM stereo encoder set to 1st order -> Ambix converter ACN - Fuma -> MTurboreverb -> Ambix converter FuMA - ACN - IEM Bineural decoder.
Thank you!
I am delighted to see that Melda is embracing ambisonics in their plug ins! Thats a solid move.
I have been experimenting with adding some turboreverb and it seems to me that I get results I expect (some directionality when reverb 100% wet) if using the FuMA channel order: W, X, Y, Z rather than the newer ACN (Ambix that have been adopted by Youtube and others as the "new" standard), with no directionality when feeding ACN to the plugin and decoding as ACN.
Can anyone that the Melda plugins are intended to use FuMA when in ambisonics mode?
Chain used to test: IEM stereo encoder set to 1st order -> Ambix converter ACN - Fuma -> MTurboreverb -> Ambix converter FuMA - ACN - IEM Bineural decoder.
Thank you!
-
MeldaProduction MeldaProduction https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=176122
- KVRAF
- 14339 posts since 15 Mar, 2008 from Czech republic
Hi, actually it doesn't use any order, it treats the channels equally. In other words it doesn't really care about placement of the "virtual speakers".
-
- KVRer
- 6 posts since 12 Dec, 2020
Do I understand you correctly that if a plugin processes e.g. a 5th order ambisonic signal (36 channels) then the audio graph can be envisaged as 36 parallel mono instances of the effect, one for each channel?
If my understanding is correct, this will work well provided that the effect is linear (eg. biquad filters or simple delays), but it risks distorting the spatial information of the encoded ambisonic signal if the effect is non-linear, e.g. a distortion or saturation effect.
In the following article Angelo Farino discusses why this causes problems with nonlinear effects, and how one instead must decode from encoded ambisonics to a T-format array of cardioid mic signals before processing:
http://pcfarina.eng.unipr.it/Aurora/Amb ... oising.htm
After the processing one then needs to re-encode the T-format signal back into ambisonics. T-signals generally have more channels than their corresponding ambisonic signals. As an example, in the article, Angelo Farina suggests that the corresponding T-format signal for a 5th order ambisonic signal will be 60 rather than 36 channels.
For some effects, things might be further complicated. Ideally, a reverb will produce early and later reflections from many/all directions even though the initial signal is a plane wave arriving from one direction only.
I don't know if all of this is feasible to implement in Melda plugins, but a good understanding of how the plugins currently work will help us hacking our way around as best we can.
Regardless, it is really cool that Melda supports large amounts of channels in this way!
If my understanding is correct, this will work well provided that the effect is linear (eg. biquad filters or simple delays), but it risks distorting the spatial information of the encoded ambisonic signal if the effect is non-linear, e.g. a distortion or saturation effect.
In the following article Angelo Farino discusses why this causes problems with nonlinear effects, and how one instead must decode from encoded ambisonics to a T-format array of cardioid mic signals before processing:
http://pcfarina.eng.unipr.it/Aurora/Amb ... oising.htm
After the processing one then needs to re-encode the T-format signal back into ambisonics. T-signals generally have more channels than their corresponding ambisonic signals. As an example, in the article, Angelo Farina suggests that the corresponding T-format signal for a 5th order ambisonic signal will be 60 rather than 36 channels.
For some effects, things might be further complicated. Ideally, a reverb will produce early and later reflections from many/all directions even though the initial signal is a plane wave arriving from one direction only.
I don't know if all of this is feasible to implement in Melda plugins, but a good understanding of how the plugins currently work will help us hacking our way around as best we can.
Regardless, it is really cool that Melda supports large amounts of channels in this way!
- KVRian
- 1094 posts since 23 Sep, 2006
Yes, in ambisonic mode the channels are essentially all mono. Yes some effects will break the ambisonic spatialisation, but this was a good first step and certainly easier to implement. There are almost no plugins that support 7th order ambi, so the fact that we can now eq a 7th order ambi signal with Melda plugs is amazing.
Ideally there would be an ambisonic encoder and decoder modules in mxxx and then you could do a lot of cooler, ambi safe effects. Maybe one day!
Ideally there would be an ambisonic encoder and decoder modules in mxxx and then you could do a lot of cooler, ambi safe effects. Maybe one day!
-
- KVRer
- 6 posts since 12 Dec, 2020
Thanks, this is clarifying. In this case, it might make sense to support more multichannel options than just the ones for encoded ambisonics (4, 9, 16, 25, 36, 49, 64). One option would be to support multichannel options in a similar way to how the IEM plugins do:
https://plugins.iem.at
The IEM plugins are open-source and use Juce, which seems to be the case for Melda as well.
https://plugins.iem.at
The IEM plugins are open-source and use Juce, which seems to be the case for Melda as well.
-
- KVRist
- 446 posts since 27 Jan, 2004 from France
Yes, the current channels organization according to the ambisonics orders can be confusing since the plugins don't process the signal in this way.
It would be more consistent to simply choose the number we want ?
It would be more consistent to simply choose the number we want ?
-
- KVRer
- 6 posts since 12 Dec, 2020
I believe that if this is what the plugins actually do, that will make more sense. It also opens them to be used with other channel bases audio formats. I don't see why they need to be restricted to e.g. 16, 25 or 36 channels when some users just as well might want to use them in a project with a non-standard speaker configuration of 30 channels.
-
- KVRist
- 446 posts since 27 Jan, 2004 from France
Oh, it is not a big problem since only the active channels (given to the host's bus) are processed, so one have just to select the value above what he needs, or even always set the plugins to 7th order...
But you are right, and it is funny how quickly (and wrongly) ambisonics has become synonymous with multichannel, as if that was the only way to make spatial audio!
But you are right, and it is funny how quickly (and wrongly) ambisonics has become synonymous with multichannel, as if that was the only way to make spatial audio!
-
- KVRer
- 6 posts since 12 Dec, 2020
That's good to know. Still, IMHO the current design can be a bit misleading. Coming from a programming background myself I prefer that everything I do on a computer does not just work, but also as far as possible express itself in accordance with what conceptually is supposed to be going on. So, if I want to process 40 channels of audio, I much prefer a plugin to express that rather than having it set to 6th order ambisonic, and then if revisiting the project later do the mental work that "it is not actually 49 channel 6th order ambisonics, in fact, this plugin does not really relate to ambisonic at all, but just process 49 channels the same way, except since this track is 40 channels only, it only process 40 channels".acousmod wrote: Wed Dec 23, 2020 9:03 am Oh, it is not a big problem since only the active channels (given to the host's bus) are processed, so one have just to select the value above what he needs, or even always set the plugins to 7th order...
Apart from that, I believe that the current design of multichannel in Melda ends up under communicating the versatility of the plugins.
