Newbie question - Ambisonic .amb file & channel ID

I’m a newbie home user who has an ambisonic hardware decoder and some ambisonic .amb B-format files that I would like to burn to a DVD-A disc for playing on a home DVD player that has multichannel audio outputs (Lf, C, Rf etc, 8 channels up to 7.1). I want to burn to disc the .amb files as .wav files for replay through a home DVD player into a hardware ambisonic B-format decoder. My disc burner software does not recognise .amb files and renaming them to .wav does not work. But I have confirmed that reading a .amb into Audacity will give me a .wav file that is recognised by my disc burner and can be played on the DVD player.

My question is, what is the relative channel order listed by Audacity going from .amb B-format to .wav B-format? The .amb file has, in order, WXY (horizontal only) and WXYZ (periphonic) channels. Audacity displays the .amb file channels as, in order from the top, Left, Right, Mono, Mono (4 channel); if 3 channel then just one Mono is displayed. Therefore, the channel identification is ambiguous for .amb files. Do I have to re-order the channels so they correspond to WX & Y in that order for output? I need output to my decoder from the disc player to be - W, X and Y feeds to the L, R and C outputs/inputs, respectively, on the multi-channel analogue outputs and inputs on the player and Surround Controller. I can drop the Z, vertical vector, channel for reasonable playback on the horizontal-only ambisonic decoder. But which of the channels Audacity displays is it? (N.b. the pressure component of Z then remains in the W (omni) channel, which thus kind of folds down the vertical component of the soundfield into the horizontal decode.)

Someone’s help would be very welcome.

I don’t have a definitive answer, but after a bit of searching it looks like Audacity maps WXYZ straight in so that W is at the top and Z is at the bottom.
Could you make a test disk with each possible permutation and see which sounds right?
The best place to ask would be on the members e-mail list of this site: (assuming it is still active).

Thanks, Steve. is still accessible and I’m in a surround discussion group, too, whence reside a number of ambisonics gurus. I’ll try the simple way that you suggest as well. Trouble is, without reference to the original material, judging what sounds correct isn’t all that easy.

I noticed on this page: that it says that AMB files are supported by Erik de Castro Lopo’s libsndfile library. This is the library that is used by default by Audacity for import/export.

As my knowledge of the way program’s work together ended with the Commodore Pet and basic, I hope you don’t mind me asking, does your reply mean that you think it may be a straight transfer through from .amb to the .wav file without remapping anything? I would still have to see if I can simply drop the first of the two mono channels in the periphonic 4 channel .amb file if it is indeed the Z vector. I’ll have a look at the Bath site when I get home.

That would be my guess.

The file extension on a B-format file can be either .wav or .amb interchangeably. .amb was designed to signal mostly future software that a file was a B-format, which can be either 3 track (horizontal only) or 4 track (with vertical info as well).
W is the pressure signal and XYZ provide the velocity wave info.

You might want to join the sursound list, where these topics get discussed.


If I have understood your post correctly, you are using Audacity to convert from .amb to .wav formats and you are unsure what Audacity does to the channel order.

One solution is to not use Audacity for this. Instead, use the CDP Multi-Channel Toolkit (mctools). Appropriate tools for your task appears to be:

  • CHXFORMAT : modify WAVE_EX header to change GUID and/or speaker positions
  • CHORDER : reorder soundfile channels. Channels can be duplicated and/or omitted.

What distinguishes an .amb file from a .wav file is not just the file extension but also the GUID in the SubFormat field of the "fmt " chunk. Note that for B-Format channels you should normally set dwChannelMask to zero. However, as you want stuff to be associated with the L, R and C outputs, you might want to try setting dwChannelMask = 0x7.


What distinguishes an .amb file from a .wav file is not just the file extension but also the GUID in the SubFormat field of the "fmt " chunk. “.wav” and “.amb” cannot therefore be used interchangeably (although they can be easily converted).