Git Product home page Git Product logo

resonance-audio-wwise-sdk's Introduction

Resonance Audio Source Code Travis CI

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, FMOD, 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 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. If you are interested in contributing to the project, please read the 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:

Note: For Windows builds, Visual Studio 2015 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).

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 Platform Dependencies (nativeaudioplugins, embree, ogg, 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 Platform Dependencies (FMOD Low Level API)

To add the additional FMOD dependencies, download and install the FMOD Studio API (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 Platform Dependencies (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. 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)

To add the additional DAW Tools dependencies, download the Steinberg's VST 3.X.X Audio Plug-Ins SDK (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
  • --ios_simulator_toolchain
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)

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.

resonance-audio-wwise-sdk's People

Contributors

anokta avatar jkammerl avatar mauskopf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

resonance-audio-wwise-sdk's Issues

No room plugin settings in Wwise.

Hello,

I just downloaded Resonance and I am having a bit of trouble. When I import the plugin into wwise the room settings are blank but i can attach to plugin to the effects bus and mixer plugin. I know in the documentation it says you may need to configure the plugin, what file do I alter and lines to change? and how do I configure the plugin? Is there something I am missing that may make this easier? Is there a .json file that I can use to import from the launcher?

Thank you,
-Jeff

Unclear Unity Plugin Usage between Wwise- and Resonance Unity Integration

Hey,

i have some unterstanding issues in using the Resonance Plugin with Wwise as a Base System within Unity.
I read all your instruction in the documentation but for me it very unclear which of the different unity script can be used from either Resonance or Wwise.

For example:
Resonance Base Unity Implementation (without Wwise): provides an own listener ("Resonance Audio Listener")
and Wwise Provides two other Listener objects ("Ak Audio Listener") or ("ak Spatial audio listener")
Which one should be used? Same goes for sound emitter objects do you use wwise way with calling an event and gameobject?

Would be amazing if you could help.

iOS platform fails to register plugin

Hi again :)

This is a continuation of #1
I experience the exact same issue on a new project using

Wwise 2017.2.1
Unity 2017.3.0f3
Wwise Integration 2017.2.1
Resonance Audio 1.1.1

Hi Egil,

I can see one potential step missing in your setup for the iOS build. Could you verify if you copy the ResonanceAudioFXFactory.h header file as well into the same folder that you copy the iOS library into (Assets/Wwise/Deployment/Plugins/iOS/DSP)?

That solves the registration issue for me.

I did exactly that for this project , Anokta. Issue persists though audio comes through all fine, it's only RA not working..

Let me know if you need further info! It might not be a bug on your end - it might as well be using Wwise 2017.2.x but I can't tell.

1.2.1: Room doesn't work at all

After upgrading to 1.2.1 my rooms don't work. I hear my sounds, but they won't be affected by the plugin. When I downgrade back to 1.2.0 everything work as expected.

Can't get Room working on Wwise 2019 and Unity 2019

I've meticulously followed the instructions for integration on the Resonance Audio website https://resonance-audio.github.io/resonance-audio/develop/wwise/getting-started.html as well as https://resonance-audio.github.io/resonance-audio/develop/wwise/game-engine-integration and even though the audio spatialization works well I'm still unable to hear the room.

I've used the automated integration process from Wwise luncher and checked the plugins and everything looks fine. In fact, don't get any errors when playing the game.

I'm wondering if I'm supposed to use a different listener other then Wwise's AK listener or if I should integrate the Unity Resonance Audio package into it even though I'm using MW for it.

I'm wondering also if it's possible to use Reverb probes when using Resonance Audio with Wwise. I only see the Room script in the integration package.

I'd really appreciate your help with this.

Wwise 2019.1.1.6977
Unity 2019
Resonance Audio 2019.1.1.8

3
1
2

Security Policy violation Binary Artifacts

This issue was automatically created by Allstar.

Security Policy Violation
Project is out of compliance with Binary Artifacts policy: binaries present in source code

Rule Description
Binary Artifacts are an increased security risk in your repository. Binary artifacts cannot be reviewed, allowing the introduction of possibly obsolete or maliciously subverted executables. For more information see the Security Scorecards Documentation for Binary Artifacts.

Remediation Steps
To remediate, remove the generated executable artifacts from the repository.

First 10 Artifacts Found

  • Authoring/Win32/Release/bin/plugins/ResonanceAudio.dll
  • Authoring/x64/Release/bin/plugins/ResonanceAudio.dll
  • SDK/Linux_x64/Debug/bin/libResonanceAudioFX.so
  • SDK/Linux_x64/Profile/bin/libResonanceAudioFX.so
  • SDK/Linux_x64/Release/bin/libResonanceAudioFX.so
  • SDK/Mac/Debug/bin/libResonanceAudioFX.dylib
  • SDK/Mac/Profile/bin/libResonanceAudioFX.dylib
  • SDK/Mac/Release/bin/libResonanceAudioFX.dylib
  • SDK/Win32_vc140/Debug(StaticCRT)/bin/ResonanceAudioFX.dll
  • SDK/Win32_vc140/Debug(StaticCRT)/lib/ResonanceAudioFX.lib
  • Run a Scorecards scan to see full list.

Additional Information
This policy is drawn from Security Scorecards, which is a tool that scores a project's adherence to security best practices. You may wish to run a Scorecards scan directly on this repository for more details.


Allstar has been installed on all Google managed GitHub orgs. Policies are gradually being rolled out and enforced by the GOSST and OSPO teams. Learn more at http://go/allstar

This issue will auto resolve when the policy is in compliance.

Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

Room Effects Plugin - No Sound output for Source Plugins

I am experiencing an issue where Source Plugin objects within Wwise are not being processed at all by the Resonance Room Effects Mixer plugin.

I can confirm they [Source plugins] are being correctly spatialised by the Ambisonics Renderer, and that objects containing audio files are correctly sent to the Room effect plugin.

Is there a specific channel configuration required for handling source (generator) plugins? I've tried mono and stereo outputs though it didn't make a difference.

I did notice that, the reverb bus receives a small impulse (from the source plugin) as soon as the game begins, though aside from the resulting reverb tail the bus is silent afterwards.

Note: these are custom Wwise source plugins that I've created.

Setup:

  • Unity 2017.3.1f1
  • Wwise 2017.2.2
  • Resonance Audio Wwise SDK 1.2.0

vc150 libraries

The plugin which ships with Wwise includes the vc150 libs, but this one doesn't.
Is the plugin on the Wwise launcher up2date? (the last github version is from 2018)

Cannot play more than one instance of a sound when playing though an audio bus when it’s attached to multiple game objects in unity

I am using Wwise 2017.2.1 and Resonance Audio For Wwise Plugin 1.1.0 and unity 2017.3.0f3

I have a random container using the resonance room effects plugin on an audio mixer bus. The ransom container also uses an auxillary bus which is attached to an audio bus running the resonance audio renderer plugin. However the bus won’t play more than one instance of the random container when it’s attached to multiple game objects in unity. Is there a workaround for this?

Plugin not registered: Resonance Audio Renderer

Hi guys.

Dealing with an issue on iOS platform using Unity (2017.2.0f3), where the Resonance Audio Renderer (v1.1.1) doesn't register with Wwise (2017.2.0) on start-up. This is the message I'm getting (lower right of screen):

"AK Error: Could not register plugin ResonanceAudioFX"
inkedmedia-20180118_li

Profiling with Wwise to the iPhone 5s reveals the same issue:
capture

As you can see in the left side of the first screenshot of Xcode, the actual library is included in the Xcode project (the libResonanceAudioFX.a). It was included by Unity during Build. That said, I've also tried to manually add the file to the Xcode project and in various places. Though it's now residing in just the Libraries root folder, I've tried other locations without change of result:
Libraries/Wwise/Deployment/Plugins/iOS/DSP
Libraries/Wwise/Deployment/Plugins/iOS/Profile/lib

Furthermore I've attempted to force register the plugin via the C# code in Unity using the following in an Awake method:
AkSoundEngine.RegisterPluginDLL("ResonanceAudioFX");
which did not help either. Same issue.

Finally, my PluginInfo.xml of my iOS Soundbanks looks like this:
capture

The Resonance Audio Renderer works great in all other platforms I've tested:
Wwise Editor
Unity Editor (Windows)
Unity Editor (Mac)
Android build

What am I doing wrong? I've previously run GVR Audio Renderer with iOS which works without problems.
Let me know if you need further data!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.