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> - "RF64":doc/RF64.pdf 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":http://archive.cnmat.berkeley.edu/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 - "Matroska":http://www.matroska.org/ pros - generic format - no filesize limitation (72000 terabytes) - no channel limitation (?) cons - not very widespread - not even libsnd supports it...
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)