summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/resonance-audio/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/resonance-audio/README.md')
-rw-r--r--src/3rdparty/resonance-audio/README.md192
1 files changed, 192 insertions, 0 deletions
diff --git a/src/3rdparty/resonance-audio/README.md b/src/3rdparty/resonance-audio/README.md
new file mode 100644
index 000000000..1e69c48b4
--- /dev/null
+++ b/src/3rdparty/resonance-audio/README.md
@@ -0,0 +1,192 @@
+# [Resonance Audio](https://developers.google.com/resonance-audio) Source Code [![Travis CI](https://travis-ci.org/resonance-audio/resonance-audio.svg?branch=master)](https://travis-ci.org/resonance-audio/resonance-audio)
+
+This is the official open source project for the Resonance Audio SDK. This
+repository consists of the full source code of the Resonance Audio C++ library,
+as well as the platform integrations into [Unity](https://unity3d.com/),
+[FMOD](https://www.fmod.com/),
+[Wwise](https://www.audiokinetic.com/products/wwise/) and DAW tools.
+
+Resonance Audio started as a Google product and has since graduated to open
+source. It is supported by members of our [steering
+committee](#steering-committee) who are also project committers.
+
+In this document there are some quick instructions for how to build the SDK from
+source code.
+
+For more detailed documentation about using the SDK, visit our [developer
+docs](https://developers.google.com/resonance-audio/). If you are interested in
+contributing to the project, please read the [Contributing to Resonance
+Audio](#contributing-to-resonance-audio) section below.
+
+## Build Instructions
+
+Clone the repository:
+
+ git clone https://github.com/resonance-audio/resonance-audio $YOUR_LOCAL_REPO
+
+### Software Requirements
+
+In addition to the system C++ software development platform tools / toolchains,
+the following software is required to build and install the Resonance Audio
+SDKs:
+
+- [CMake](https://cmake.org/download/)
+- [Git (with Git-Bash on Windows)](https://git-scm.com/downloads)
+
+_Note: For Windows builds, [Visual Studio
+2015](https://www.visualstudio.com/vs/older-downloads/) is recommended._
+
+### Third Party Dependencies
+
+All third party dependencies must be installed into the `third_party` subfolder
+in the repository. To simplify the installation, bash scripts are located within
+the `third_party` that automatically clone, build and install the required third
+party source code.
+
+_Note: On Windows, these scripts can be executed in the Git-Bash console (which
+gets installed as part of Git for Windows)._
+
+#### Core Dependencies ([pffft](https://bitbucket.org/jpommier/pffft), [eigen](https://bitbucket.org/eigen/eigen), [googletest](https://github.com/google/googletest), [SADIE Binaural Measurements](https://www.york.ac.uk/sadie-project/database_old.html))
+
+To clone the dependencies into the repository, run:
+
+ ./$YOUR_LOCAL_REPO/third_party/clone_core_deps.sh
+
+_Note: These dependencies do *not* need to be built, since their source code is
+directly pulled in from the build scripts._
+
+#### [Unity](https://unity3d.com/) Platform Dependencies ([nativeaudioplugins](https://github.com/Unity-Technologies/NativeAudioPlugins), [embree](https://github.com/embree/embree), [ogg](https://github.com/xiph/ogg), [vorbis](https://github.com/xiph/vorbis))
+
+The Unity plugin integrates additional tools to estimate reverberation from game
+geometry and to capture Ambisonic soundfields from a game scene. These features
+require the Embree, libOgg and libVorbis libraries to be *prebuilt*.
+
+To clone and build the additional Unity dependencies, run:
+
+ ./$YOUR_LOCAL_REPO/third_party/clone_build_install_unity_deps.sh
+
+#### [FMOD](https://www.fmod.com/) Platform Dependencies ([FMOD Low Level API](https://www.fmod.com/download#fmodstudio))
+
+To add the additional FMOD dependencies, download and install the [FMOD Studio
+API](https://www.fmod.com/download#fmodstudio) (which includes the FMOD Low
+Level API).
+
+_Note: On Linux, unzip the downloaded package within the `third_party` subfolder
+and rename its folder to `fmod`._
+
+#### [Wwise](https://www.audiokinetic.com/products/wwise/) Platform Dependencies ([WwiseIncludes](https://github.com/audiokinetic/WwiseIncludes))
+
+To clone the additional Wwise dependencies, run:
+
+ ./$YOUR_LOCAL_REPO/third_party/clone_wwise_deps.sh
+
+The Wwise Authoring Plugin (Windows only) also requires the [Microsoft
+Foundation Classes SDK](https://docs.microsoft.com/en-gb/cpp/mfc/mfc-and-atl).
+To install the SDK on Windows:
+
+1. Open the `Control Panel`
+2. Select `Programs->Programs and Features`
+3. Right-click on `Microsoft Visual C++ Build Tools`, and select `Change`
+4. Install `MFC SDK`
+
+#### DAW Tools Dependencies ([VST2 Audio Plug-Ins SDK](https://www.steinberg.net/vst3sdk))
+
+To add the additional DAW Tools dependencies, download the [Steinberg's VST
+3.X.X Audio Plug-Ins SDK](https://www.steinberg.net/vst3sdk) (which
+includes the VST2 Audio Plug-Ins SDK) and extract the package into `third_party`
+subfolder.
+
+### Build Resonance Audio SDKs
+
+This repository provides the `build.sh` script in the root folder that
+configures the build targets, triggers the compilation and installs the
+artifacts for the specified platform into the target installation folder.
+
+The script provides the following flags:
+
+- t=|--target=
+ - `RESONANCE_AUDIO_API`: Builds the Resonance Audio API
+ - `RESONANCE_AUDIO_TESTS`: Runs the Resonance Audio unit tests
+ - `GEOMETRICAL_ACOUSTICS_TESTS`: Runs the geometrical acoustics specific
+ unit tests.
+ - `UNITY_PLUGIN`: Builds the Resonance Audio plugin for Unity
+ - `WWISE_AUTHORING_PLUGIN`: Builds the Resonance Audio authoring plugin
+ for Wwise
+ - `WWISE_SOUND_ENGINE_PLUGIN`: Builds the Resonance Audio sound engine
+ plugin for Wwise
+ - `FMOD_PLUGIN`: Builds the Resonance Audio plugin for FMOD
+ - `VST_MONITOR_PLUGIN`: Builds the Resonance Audio VST Monitor Plugin
+- p=|--profile=
+ - `Debug`: Debug build
+ - `RelWithDebInfo`: Release build with debug information
+ - `Release`: Release build
+- --msvc_dynamic_runtime
+ - Enables dynamic linking against the run-time library on Windows (`/MD`,
+ `/MDd`). By default, all Windows builds are statically linked against
+ the run-time library (`/MT`, `/MTd`). Note that the third party
+ dependencies must be compiled with the same options to avoid library
+ conflicts.
+- --verbose_make
+ - Enables verbose make/build output.
+- --android_toolchain
+ - Enables the Android NDK toolchain to target Android builds (may require
+ adjustments to `ANDROID_NDK`, `ANDROID_NATIVE_API_LEVEL` and
+ `ANDROID_ABI` script variables). For more information, see project
+ documentation at https://github.com/taka-no-me/android-cmake.
+- --ios_os_toolchain
+ - Enables the iOS OS toolchain. For more information, see project
+ documentation at https://github.com/leetal/ios-cmake.
+- --ios_simulator_toolchain
+ - Enables the iOS Simulator toolchain. For more information, see project
+ documentation at https://github.com/leetal/ios-cmake
+
+##### E.g.
+
+To build and run the Resonance Audio unit tests:
+
+ ./$YOUR_LOCAL_REPO/build.sh -t=RESONANCE_AUDIO_TESTS
+
+## Citations
+
+If you find Resonance Audio useful and would like to cite it in your publication, please use:
+
+Gorzel, M., Allen, A., Kelly, I., Kammerl, J., Gungormusler, A., Yeh, H., and Boland, F., *"Efficient Encoding and Decoding of Binaural Sound with Resonance Audio"*, In proc. of the AES International Conference on Immersive and Interactive Audio, March 2019
+
+The full paper is available (open access) at: http://www.aes.org/e-lib/browse.cfm?elib=20446 ([BibTeX](http://www.aes.org/e-lib/browse.cfm?elib=20446&fmt=bibtex))
+
+## Contributing to Resonance Audio
+
+If you would like to contribute changes to the Resonance Audio project, please
+make a pull request for one of our project committers to review.
+
+### Steering Committee
+
+The Resonance Audio project is overseen by a steering committee established to
+help guide the technical direction of the project in collaboration with the
+entire developer community.
+
+The intention of the steering committee is to cultivate collaboration across the
+developer community for improving the project and ensuring Resonance Audio
+continues to work well for everyone.
+
+The committee will lead the Resonance Audio project in major decisions by
+consensus and ensure that Resonance Audio can meet its goals as a truly open
+source project.
+
+The steering committee consists of the following members (company name ordered):
+
+- Martin Dufour, Audiokinetic
+- Aaron McLeran, Epic Games
+- Mathew Block, Firelight Technologies
+- Alper Gungormusler, Google
+- Eric Mauskopf, Google
+- Haroon Qureshi, Google
+- Ian Kelly, Google
+- Julius Kammerl, Google
+- Marcin Gorzel, Google
+- Damien Kelly, Google (YouTube)
+- Jean-Marc Jot, Magic Leap
+- Michael Berg, Unity Technologies
+
+Affiliations are listed for identification purposes only; steering committee
+members do not represent their employers or academic institutions.