±«Óãtv

Audio Definition Model Software

Research Paper

Download
Published: 2 November 2015

Abstract

The Audio Definition Model is an ITU specification of metadata that can be used to describe object-based audio, scene-based audio and channel-based audio. It can be included in BWF WAVE files or used as a streaming format in production environments.

Audio Definition Model

Audio Definition Model - Metadata specification

Specification of the BW64 - A long-form file format for audio data files with metadata in broadcasting

Example files using this format can be found

±«Óãtv Audio Toolbox

<br> The ±«Óãtv Audio Toolbox is a suite of C++ libraries for manipulating object-based audio and ADM based BWF files. <br><br> <b>Please note IMPORTANT library changes below in the Deprecated Libraries section.</b> <br><br> All the libraries have the following licence: <br> <hr> <br> Copyright (c) 2015 British Broadcasting Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Additionally, the ±«Óãtv requests that improvements and fixes made to the Software are sent to the ±«Óãtv for incorporation into the publicly available versions. <br> <hr> <br>

Source Code

<br> Please note <b>IMPORTANT</b> library changes below in the Deprecated Libraries section. <br><br> Base library for the ±«Óãtv Audio Toolbox <br><br> DSP library for the ±«Óãtv Audio Toolbox <br><br> Audio Definition Model handling library for the ±«Óãtv Audio Toolbox <br><br> File I/O library for the ±«Óãtv Audio Toolbox <br><br> All libraries can be built on Mac OSX, Linux and <b>Windows</b> 64-bit architectures. Each library relies on those above so all libraries must be built and installed. See the README file in each library for instructions. contains several example programs to read and write ADM based BWF files in the examples/ folder.<br> <br> For all architectures, building using <b>CMake</b> is now supported. On Windows this allows building using <b>Visual Studio</b> and produces libraries for statically linking <b>only</b>. <b>IMPORTANT</b>: Care must be taken when linking statically to ensure all parts of the libraries are included, please see the examples for more information.<br> <br> autotools can still be used on OSX and Linux but this will be <b>deprecated</b> in favour of CMake in a future release.<br> <br>

Examples

<br> Some of the examples (in bbcat-fileio/examples):<br> <br> create-adm.cpp - example code for creating an ADM (in XML form) WITHOUT using a RIFF file<br> <br> read-adm-bwf.cpp - example code for reading the displaying parts of the ADM and then accessing the sample data of one of the ADM audio objects<br> <br> write-adm-bwf.cpp - example code for creation of a simple ADM<br> <br> write-separate-adm.cpp - example code for creation of a simple ADM and then writing the CHNA and AXML chunks to a RIFF file<br> <br> udp-demo.cpp - example of using UDP port, threading and a lock-free buffer<br> <br>

Deprecated Libraries

<br> The following libraries have been <b>deprecated</b> and replaced by and above - they will still work but will <b>not</b> be updated: <br><br> Control library for the ±«Óãtv Audio Toolbox <br><br> Audio objects library for the ±«Óãtv Audio Toolbox <br><br> provides pure Audio Definition Model data handling facilities without any file reading or writing, that is now provided by . <br><br> Crucially, the API's have not changed - the classes and filenames are as they were, just their location has changed. <br><br> For example: <br> bbcat-control/AudioObjectParameters.h is now bbcat-adm/AudioObjectParameters.h <br> bbcat-audioobjects/ADMData.h is now bbcat-adm/ADMData.h <br> bbcat-audioobjects/RIFFFile.h is now bbcat-fileio/RIFFFile.h <br> bbcat-audioobjects/TinyXMLADMData.h is now bbcat-fileio/TinyXMLADMData.h <br>

Python

<br> The Python code has now been <b>deprecated</b> in favour of the C++ code above.<br> <br>

Contact

<br> Please email audio@rd.bbc.co.uk if you have any questions or queries.

White Paper copyright

© ±«Óãtv. All rights reserved. Except as provided below, no part of a White Paper may be reproduced in any material form (including photocopying or storing it in any medium by electronic means) without the prior written permission of ±«Óãtv Research except in accordance with the provisions of the (UK) Copyright, Designs and Patents Act 1988.

The ±«Óãtv grants permission to individuals and organisations to make copies of any White Paper as a complete document (including the copyright notice) for their own internal use. No copies may be published, distributed or made available to third parties whether by paper, electronic or other means without the ±«Óãtv's prior written permission.

Authors

  • David Marston (BEng)

    David Marston (BEng)

    Senior R&D Engineer

Rebuild Page

The page will automatically reload. You may need to reload again if the build takes longer than expected.

Useful links

Theme toggler

Select a theme and theme mode and click "Load theme" to load in your theme combination.

Theme:
Theme Mode: