Existing Formats
a survey of existing formats for storage and streaming of Ambisonics soundfields
Channel Formats:
- B-Format
ambisonic domain
- UHJ-Format
consumer format; stereo compatible
- G-Format
predecoding to speakers
File Formats
general purpose multichannel formats
- WAV
pros:
- simple: existing applications can read/write multichannel files without modifications
cons:
- channels do not fall "into place": is it Ambisonics? which channel means what? normalization?
- file-size limitation: 4GB
- Wave Format Extensible
- Microsoft scheme for extending WAV
- channels-to-speaker concept! (18 speaker-positions predefined; optional)
- nChannels-field has 16bit, but dwChannelMask has only 32bit:
Having nChannels exceed the number of bits set in dwChannelMask can produce inconsistent results and should be avoided if possible.
- Broadcast WAV (1997,2001)
based on WAV-Extensible
pros:
- accepted format in production
cons:
- 4GB limit (but adds
link
chunks to connect to next soundfile)
link
junks (embedded XML):<LINK> <FILE type="other"> <FILENUMBER>1</FILENUMBER> <FILENAME>Caruso_1.wav</FILENAME> </FILE> <FILE type="actual"> <FILENUMBER>2</FILENUMBER> <FILENAME>Caruso_2.wav</FILENAME> </FILE> <FILE type="other"> <FILENUMBER>3</FILENUMBER> <FILENAME>Caruso_3.wav</FILENAME> </FILE> <ID>73365869</ID> </LINK>
- RF64
based on BWF
pros:
- no 2GB limit
- extension of Broadcast-WAV
- on-the-fly-conversion path from BWF to RF64 (via
junk
chunks)
cons
- maximum number of channels: 18
- SDIF
- consists of sequence of
frames
- not strictly IFF (AIFF, RIFF) compatible
pros
- well known in computermusic community (CNMAT, IRCAM)
- designed with performance in mind: e.g. 64bit alignment
- datatypes: float32, int32, float64, int64,...
- open standard
- >4GB
cons
- (rel.) unknown outside computermusic community
- consists of sequence of
- Matroska
pros
- generic format
- no filesize limitation (72000 terabytes)
- no channel limitation (?)
cons
- not very widespread
- not even libsnd supports it...
- generic format
specialized formats
- .amb (file format for B-format)
pros:
- based on WAV-Extensible
- it is clear which channel in the file corresponds to which Ambisonics channel
- no "channel-speaker" concept (true ambisonic channels)
- 2d and 3d
- rigid definitions
- channel order
- channel weights
cons:
- rigid definitions!
- limited to 3rd order ambisonics (2d/3d)!
- limited to 16 channels
- 4GB soundfile limit (at least not explicitely solved in the specs)
Streaming Formats
- no dedicated Ambisonics streaming format available yet
- need for multichannel codecs
- no way to maintain sample-sychronicity in separate streams
codecs:
- Ogg Vorbis
- up to 255 channels
- lossy
- AAC
- up to 48 channels
- proprietary
- WavPack
- up to 16 channels
- lossy/lossless
- FLAC
- up to 8 channels
- lossless
- Real Audio
- up to 6 channels
- lossy/lossless
- WMA
- up to 8 (WMA professional) or 6 (WMA lossless) channels
- lossy/lossless
containers:
- M4A/MP4
- Ogg
- metadata: in codec
- RealMedia / RealMedia Variable Bitrate
- (metadata: .ram)
- WMA
- Quicktime
- Matroska
dynamic control:
nature of ambisonics allows to reduce the number of transmission channels while maintaining core information
- g. in case of network shortages, it might be desireable to reduce the Ambisonics order rather than accept dropouts.
RTP/RTCP RFV3550
- few servers implement RTCP (RealServer, HelixServer)