Ambisonic Player Specification
From Ambisonia
< Link to main article: Main Page
Contents |
[edit] Implementation
The Ambisonic player will be:
- Open Source
- ANSI C
- Cross platform (Windows, OSX, Linux)
A cross platform GUI could be implemented using wxWidgets, the Open Source Edition of Qt, or something similar. (wxWidgets was used to develop VLC media player and Audacity, Qt for Google Earth.)
To ease the inclusion of Ambisonic Player into existing multimedia players, a static library consisting of all Ambisonic filters will be provided.
[edit] Modes
The Ambisonic player will play:
- B-Format
- UHJ
- Stereo (via Super-Stereo)
- G-Format (by recovering B-Format)
- 5.1 (by specifying 5 virtual speakers and folding .1 into W)
Not all modes may be present in early versions.
[edit] Options
The Ambisonic player will offer:
- Shelf filters
- Speaker distance compensation
- Dominance
- Forward preference (for two-channel UHJ and Super-Stereo)
- Rotation of soundfield
- Bass management (challenging)
Not all options may be present in early versions.
[edit] File associations
The Ambisonic player will be associated with files ending in ".amb", ".uhj" (and, eventually, ".amg" for G-Format).
The user should be able to optionally associate the player with other audio file types such as *.wave, *.wv, etc. This will allow them to optionally make the Ambisonic player their default player for stereo and 5.1.
[edit] Useability
Once configuration (for the user's array) is complete, Ambisonic files can be played with a simple double click.
[edit] Compatible files
The Ambisonic player will play files that conform to the B-Format ".amb" file format (that's basically multi-channel WAVE-EX files). The Ambisonic player will not play a collection of separated mono files. This is so that B-Format content developers are forced to adhere to a single format (consistency should fascilitate the consumer's uptake of the format).
In its first implementation, the player will not be able to play G-Format files (as in, re-encode back to B-Format) as the ".amg" file format for this is still a proposal.
The player will also be able to play directly WavPack (*.wv, *.wvc) files that are compressed versions of ".amb" or ".uhj" files (and, eventually, ".amg" files).
[edit] Support for compatible files
Audio applications that can write the defined WAVE-EX formats will be listed (somewhere) to fascilitate content developers developing the right format.
[edit] Configuration
The Ambisonic player will save its configuration to disk, hence requiring only a once off configuration. Configuration will involve choosing the speaker array to decode to. There will be a set of default configurations, as well as arbitrary per-speaker configurations.
The configuration file will be in XML.
[edit] Predefined configurations
Decodes to:
- 4 speakers horizontal
- 5 speakers horizontal (with Front-Centre speaker)
- 6 speakers horizontal (with Front-Centre speaker)
- 6 speakers horizontal (with Left-Centre speaker)
- 8 speakers horizontal
- cuboid/shoebox (8 speakers, full-sphere)
- consumer horizontal 5.1 layout (speakers at 0°, ±45°, ±135°)
The only difficult one of these is the non-regular 5.1 layout.
[edit] Drag and Drop configuration
Configuration for arbitrary speaker arrays is possible via a drag and drop GUI, where the user can drop speaker icons on a stage. This GUI should be able to handle 3-D layouts as well (that'll be challenging!)
[edit] Independent Speaker levels
The user will be able to modify the levels on a per speaker basis for "slightly irregular speaker layouts". (Is this a bad idea? Better for user to specify speaker distances and have player modify levels and delay automatically.) ±6 dB for the W channel.
By default, the player will assume a 3 dB attenuation on W, but it will also offer the posibility to tweak that. Higher orders will assume the Furse-Malham set of weighting coefficients.

