Ambisonic Player Utility

AmbisonicPlayer is small windowed application designed to play back Ambisonic recordings in first-order (B-Format) .wxyz or second-order .fmh formats over a choice of speaker arrangement.

AmbisonicPlayer is written in Delphi and runs only on Microsoft Windows operating systems on Intel. AmbisonicPlayer, MNLib and their documentation are Copyright 1999-2000 Richard W.E. Furse (all rights reserved).

A command-line decoder program is also available. This converts an Ambisonic recording to produce a speaker feed soundfile for playback over whatever player programs are available for the machine in question. This program lacks a GUI, however it is significantly more portable than the AmbisonicPlayer application described here, has more standard rigs and provides support for custom rigs.


Speaker Arrangement

The options page of the application allows the user to select a speaker configuration. The following options are available:

A picture indicates the expected numbering of the output channels present (looking from above). The user must select audio card outputs to feed each of these signals to the relevant speaker. Unfortunately some multichannel sound cards do not publish all their channels through the traditional Windows APIs used by this program. With these cards you may have to use stereo decoding.

If you are using more than one soundcard there is no guarantee that the outputs from the different cards will be locked sample by sample. This can cause degradation of the soundfield. I use an Event Gina soundcard to drive my speaker cube and would recommend it; this card does guarantee sample locking through the way pausing is implemented in its Windows driver.

Decoding factors used and other information is available in a separate document.

File Types

Three file types are supported:

Other Options

The playback gain can be modified. By default this is set at 0.5, however for playback of files with a low directional component this can be set higher. Setting this value too high will cause `wrap-around' clipping which produces distortion or clicking.

A checkbox disables second order support, forcing a simple first order decoding for second order files. There is little reason to use this.

A directionality `fudge factor' is also made available, modifying the amount of directional component mixed in to produce each speaker feed. A value of 0 is my usual setting and using this provides a `natural' behaviour of the system at the expense of some directional information. Sound is then loudest when in the direction of the speaker and grows quieter as the sound's angle moves away from the speaker and becomes silent when the sound is opposite. A value of 1 produces a `matching' soundfield which is a mathematically stricter but which has a smaller listening area. Intermediate values are possible, so it's worth playing with this setting depending on your pieces and speaker arrangement. See the speaker decoding page for further information.

Option settings are stored in the registry.


Links

The author Richard Furse can be emailed as richard@muse.demon.co.uk.

"Ambisonics" is a registered trademark of Nimbus Communications International.