I think the question might be more simpler than this. For 1st order (with 4 microphones) the very first A to B equations are (for example): W' = FLU+FRD+BLD+BRU X' = FLU+FRD-BLD-BRU Y' = FLU-FRD+BLD-BRU Z' = FLU-FRD-BLD+BRU
What would the equations be for 8 microphones? W' = FLU+FRD+BLD+BRU+FRU+FLD+BLU+BRD X' = FLU+FRU+FRD+FLD-BLD-BRU-BLU-BRD Y' = FLU+FLD+BLD+BLU-FRU-FRD-BRD-BRU Z' = FLU+BRU+FRU+BLU-FLD-BLD-FRD-BRD But what about R’,S’,T’,U’ ?? S From: Fons Adriaensen Sent: 25 March 2019 04:42 To: sursound@music.vt.edu Subject: Re: [Sursound] 2nd order A-format to B-format equations On Sun, Mar 24, 2019 at 08:38:45PM +0100, Jörn Nettingsmeier wrote: > On 3/24/19 1:25 PM, Martin Dupras wrote: > > Hi, > > > > Could anyone point me in the direction of a resource that shows the > > equations for converting a 2nd order A-format recording into B-format? I > > would like to convert in realtime from a Core Octomic in software (e.g. PD, > > Max, SuperCollider) without the use of a plugin. > > In case vendors are reluctant to share their precise decoding steps, you can > always make it work for one particular microphone by measuring the impulse > responses of each A-format channel into all the B-format channels, which > will give you an 8x9 convolution matrix. It might be a dense matrix, but > probably with very short impulse responses, so likely light on CPU. The IRs could be longer than you'd expect as they will include the highpass filters as well as some LF EQ. > On Linux, my tools of choice are Fons' aliki to measure IRs and edit them > for convolution, and jconvolver to apply them in a very efficient way. The > joy is that you would be reverse-engineering Fons' octoproc (which might > even be GPL'd, I don't know). A file in/out processor for the octomic has been on my website for at least nine months. It is GPL3 licensed. A real-time version will follow when I find the time... The actual A/B process is no mystery: 1. Highpass filter (user configurable) 2. LF EQ 3. 8 * 8 convolution matrix (the 'R' channel is silent). 4. Gain corrections (SN3D/N3D/FUMA) and upside-down channel mapping. Data for 2. and 3. are read from the preset file for your mic. > I know tetraproc is GPL'd, but Len has chosen to obfuscate the custom > decoding parameters to protect his secret sauce. No, that isn't true. The actual parameters in the preset files are not obfuscated at all, and both tetraproc and octofile contain the code to read the preset files (which are just binary OSC). *I* have chosen to keep the way the presets are computed confidential. That protects both my and Len's work. While the A/B processing for Octomic is not complicated at all, deriving the required IRs from the calibration data (256 measured IR's) is not that simple. It took me several months to refine the procedure to the point it would give results that I could trust. > Fair enough. I guess the > same holds for the Octomic. Facing the choice of understanding C++ DSP code > which has been through Fons' brain optimizer or measuring a few IRs, I'd > choose measuring any day :-D Lazy, lazy,... :-) Ciao, -- FA _______________________________________________ Sursound mailing list Sursound@music.vt.edu https://mail.music.vt.edu/mailman/listinfo/sursound - unsubscribe here, edit account or options, view archives and so on. -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://mail.music.vt.edu/mailman/private/sursound/attachments/20190327/5e24acea/attachment.html> _______________________________________________ Sursound mailing list Sursound@music.vt.edu https://mail.music.vt.edu/mailman/listinfo/sursound - unsubscribe here, edit account or options, view archives and so on.