Announcement

Collapse
No announcement yet.

Feature Request: A- and B-format Ambisonics to Stereo Decoding for Headphone Monitoring

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Feature Request: A- and B-format Ambisonics to Stereo Decoding for Headphone Monitoring

    Feature Request

    I would love the ability to decode A-format and B-format ambisonics to stereo to monitor Soundfield microphones with the Maxx. I find that the Maxx is an excellent tool for ambisonics recording since it provides 4 low-noise pre-amps, all of which I can control with a single fader.

    While I can easily record with my Maxx and Soundfield SPS200 on the field, I do so blind (or rather deaf) since I can't monitor any sort of accurate stereo image, but rather individual channels.

    How likely, or even possible, would be to add this feature to the Maxx (and by extension the Nomad) in the future?

    Thanks in advance,
    José
    Last edited by josefrias; 12-29-2015, 12:07 PM.

  • #2
    +1

    This is my request since I bought a Nomad 4 years ago

    Comment


    • #3
      We looked into getting source code to decode a sound field mic but I don't think we were ever able to get the source code or the library from Soundfield. There may also be a DSP horsepower issue depending on how much processing power the decoder software uses up.
      -howy

      Comment


      • #4
        Originally posted by howyhowy View Post
        We looked into getting source code to decode a sound field mic but I don't think we were ever able to get the source code or the library from Soundfield. There may also be a DSP horsepower issue depending on how much processing power the decoder software uses up.
        -howy
        Hey Howy,

        Thanks for your response! While I'm no software engineer, I *believe* it shouldn't be too complex or DSP-heavy.

        To convert A-format (as provided by the SPS200) to B-format, seems like a fairly simple combination of signals from the four capsules (input 1 or left-front or LF, input 2 or right-front or RF,
        input 3 or left-back or LB, and input 4 or right-back or RB):

        X = 0.5 ((LF – LB) + (RF – RB))
        Y = 0.5 ((LF – RB) – (RF – LB))
        Z = 0.5 ((LF – LB) + (RB – RF))
        W = 0.5 (LF + LB + RF + RB)

        (Taken from Rumsey, Spatial Audio (Focal Press, 2001), p114)

        Decoding from B-format to stereo can be more complex if you wish to convert it to two-channel UHJ, but again, for the purpose of monitoring on the field, I don't think it is necessary. To quote Xiph Wiki page:
        (Link here: https://wiki.xiph.org/Ambisonics#Def..._from_B-Format)


        Default channel conversions from B-Format

        Converting a B-Format file to a mono file is straightforward. Use Mono = W*sqrt(2).

        Converting a B-Format file to a stereo file is more difficult. The "proper" way to do this is to convert the W,X,Y channels to two-channel UHJ. Unfortunately this requires the use of wide-band 90-degree phase shifters. In the digital domain these are usually implemented as convolution filters.

        Assuming 90-degree phase shifters are unavailable then the problem is one of choice. Starting from B-Format, it is possible to synthesize any mic response pointing in any direction. Hence, it is possible to synthesize all coincident stereo mic techniques. Two popular stereo techniques are Blumlein Mid-Side and Blumlein Crossed Pair.

        Blumlein Mid-Side

        Mid = (W*sqrt(2)) + X /*This is a cardioid response pointing forward*/
        Left = Mid + Y
        Right = Mid - Y

        Blumlein Crossed Pair

        Left = (X + Y)/sqrt(2) /* (Left, Right) are just the (Y, X) */
        Right = (X - Y)/sqrt(2) /* responses rotated by -45 degrees */

        Which conversion to stereo is better depends on the material and how it was recorded. A good suggestion is to not specify a particular default channel conversion; instead, simply specify that there must be one. If one has to be specified then Blumlein Crossed Pair is the simpler.
        The last consideration is that there are four standard mic positions or orientations for the SPS200, described in the image link below:
        https://www.dropbox.com/s/6awvynqc07...18.56%20AM.png

        So the user must be able to select the correct mic orientation to be able to monitor appropriately.

        Sorry for the lengthy reply, just hoping that this can be made a reality for us that do a lot of Ambisonics recording nowadays.

        Comment


        • #5
          To add to this, a quick look at the Nagra VI manual reveals how they do Ambisonics A-format and B-format decoding for monitoring (starting in page 31):
          (manual here: http://www.nagraaudio.com/wp-content...ual_V3_101.pdf)


          For the decoder to operate correctly, the correct input connections are obligatory.

          For A-format:
          Input 1: LFU (Left-Front-Up)
          Input 2: RFD (Right-Front-Down)
          Input 3: LBD (Left-Back-Down)
          Input 4: RBU (Right-Back-Up)

          For B-format:
          Input 1: W
          Input 2: X
          Input 3: Y
          Input 4: Z

          The A-format to B-format decoder:

          When setting the Ambisonic input format to “A (LF,RF,LB,RB)” the following transformation will be performed:

          Channel 1: W = (LFU + RFD + LBD + RBU) / √6
          Channel 2: X = LFU - RFD + LBD – RBU
          Channel 3: Y = LFU + RFD – LBD – RBU
          Channel 4 : Z = LFU - RFD – LBD + RBU

          This is the necessary decoding for the Ambisonic microphone in the normal orientation where the microphone is placed on a tripod.

          The Nagra-VI decoder allows different microphone positioning to be used:
          - Setting the input format to “A ceiling hung” will adapt the formula, as the microphone is inverted with fixing from above.
          - Setting “A horiz. f. up” is for horizontal fixing with the front facing up and “A horiz. f. dn” is for horizontal fixing with the front facing down. When changing microphone positioning the input microphone plug position should not be swapped and must be plugged as for normal orientation.
          - Setting the input format to “B(WXYZ)” switches off the A-format to B-format decoder.

          Some microphones with alternative configurations exist: LFD, RFU, LBU, RBD. The A-format to B-format converter can be used with such microphones but with the following restriction: Only normal and ceiling hung orientation can be used and be careful that the phase of Z will be inverted.

          The B-format to M/S decoder:

          When setting the Ambisonic output format to “Normal M/S (MYMZ)” the decoder outputs the following signals:

          Channel 1: M = 0.5*W + 0.5*X
          Channel 2: Y
          Channel 3: M = 0.5*W + 0.5*X
          Channel 4: Z

          In the Super cardioid position it outputs the following signals:

          Channel 1: M = 0.37*W + 0.63*X
          Channel 2: Y
          Channel 3: M = 0.37*W + 0.63*X
          Channel 4: Z

          Monitoring of left / right signals is on channels 1 and 2 and the Up / Dn signals on channels 3 and 4.

          The “Blumlein M/S(XYXZ) is another way to create an M/S signal. It doesn’t perform any operation on the signal; just swaps the signals in the following order:

          Channel 1: X
          Channel 2: Y
          Channel 3: X
          Channel 4: Z

          Setting the output format to “B” (WXYZ) switches off the B-format to M/S decoder.
          If needed, decoded signals can be recorded on channels 7 and 8 via the mixer or sent to the line or digital outputs via the output matrix.

          REMARK: When both input and output formats are set to “B (WXYZ)” the Ambisonic decoder is transparent, this is equivalent to putting the Ambisonic mode to “Off”.

          Note: When using the Ambisonic modes, the M/S decoders for monitoring of channels 1+2 and 3+4 will automatically be switched on, and will be turned off again when the Ambisonic mode is turned off.

          Comment


          • #6
            The DEVA V had ambisonics B decoder

            Comment


            • #7
              Addendum for use with Ambisonics:
              - I'd like to see trim linking options in the Maxx. Just realized that while I can assign the same fader to multiple inputs for multiple-input-single-fader control, I can't do the same for trims.
              - When recording at a higher sampling rate, fader assignments become unusable. Any way to still have one fader control all inputs' fader levels? When doing stereo or surround or ambisonics, it's key that all inputs have the exact same trim and fader levels.
              - While we're at it, might as well link all other settings such as HPF, compressor, etc. These must all match as well.

              Essentially, I'd like to turn on the Maxx (or Nomad), turn on a feature for Ambisonics (maybe under the Mode Menu?), and have it automatically link all input trims, faders, HPF and other notch filters, compressor, delays and phase. Any possibilities for said workflow Howy?

              Thanks!

              Comment

              Working...
              X