libear — Recommendation ITU-R BS.2127 core library

libear is a C++11 library to render ADM content according to [bs2127]. It is not a complete application, but provides components to calculate gains and apply them to audio, for embedding into applications which need to render ADM content.

Rendering of ADM content is performed by two distinct processes:

  • Calculating gains to apply to the input audio samples, as described in Calculating Gains.

  • Applying those gains to the input audio samples to produce output audio samples, as described in DSP.

To get started, check out the Installation instructions.

Support

DirectSpeakers, Objects and HOA typeDefinitions are supported, though the following parameters/features are currently not implemented:

Objects:

  • Cartesian positions, or cartesian == true

  • divergence

  • zoneExclusion

  • channelLock

  • screenRef

  • screenEdgeLock

DirectSpeakers:

  • Cartesian positions

  • screenEdgeLock

All types:

  • M-SC and M+SC loudspeakers with azimuths wider than 25 degrees

libear aims to be a complete renderer implementation; these deficiencies will be addressed in future releases.

libear does not include functionality to read BW64 files or parse ADM XML data; for that functionality we recommend using libbw64 and libadm.

Credits

libear is a joint development between IRT and BBC R&D.

License

Copyright 2019 The libear Authors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.