Audio Middleware Comparison – Wwise/FMOD/Fabric/Unity 5

The purpose of this post is to provide some insight about the 3 most popular audio middleware for game audio integration, and a bit about Unity 5’s audio engine too.

I am taking for granted that you know what an audio middleware is, if you don’t and are interested in learning what it means and how it works, I found this concise but detailed article very accurate and informative, great introduction to game audio and its tools.

These descriptive charts and table also help make sense of the data surrounding audio middleware.

I have used Wwise, FMOD, and Fabric to a similar extent on various projects, and thought it would be helpful to some that I write down a few of my conclusions. I will do my best to keep this info updated as I continue to learn these software and as they progress themselves.

I will establish my preference right now, as you will certainly feel my partiality throughout this article: Wwise, by a thousand miles. I will support this with facts and observations of course.

First, let’s talk budget. I made this chart a short while ago to compare license pricing between Wwise and FMOD. It doesn’t include Fabric, but I’ve added Fabric’s licensing right after, taken directly from the website, along with the details of Wwise and FMOD’s licensing.

fmod-graph-price-03

Fabriclicense

WwiseLicense

FMODlicense

 

Basically, this means that the choice of middleware can greatly differ according to your budget. Fabric is generally cheaper, and it’s main advantage is that it supports WebGL and all Unity platforms, but if your game is of a certain scale, middleware such as Wwise and FMOD will allow you to push the technical limits further.

I wrote a few comparative documents which I will share here, feel free to download them.

This should hopefully be helpful in determining what software has the best capabilities.

Wwise‘s specs summary (click to get pdf)

wwiselogo

Studios using Wwise (non exhaustive)

studios

Key features in Wwise

  • Can handle complex audio behaviors such as fades and containers like random, sequence, blend, and switch.
  • Game “syncs” allow the designer to update state settings, switch values, and adjust real-time game parameters.

GameSyncs

  • The graph editor makes changing and tweaking curves easy for things like speed or pitch ramps.
  • A built-in Soundcaster allowing the sound designer to work in a game-like environment, simulating 100% of the gameplay, including Real Time Parameters, providing a powerful test engine.

Soundcaster

  • You can easily build hierarchies of containers for complex behaviors and conditions.

WwiseHirerarchy

  • An audio “bus” can be used to group related sounds such as music, voices, and effects for volume control, side chaining, ducking and elaborate mixing.
  • 1st degree randomisers on pitch, filters, and amplitude allow quick variability.
  • Multiplatform simultaneous render with the possibility of customizing the settings for each of them.
  • The Profiler and Performance Monitor built into the authoring tool makes debugging smooth and easy and greatly helps for optimization and memory usage. (You can watch the CPU performance, streaming buffers, voices playing and other details in real time).

WwiseProfiler

  • Translates complex multiple code lines scattered across scripts into few easy steps managed by the audio designer.
  • All of these features are done in the authoring tool, and can be changed and tested by the audio designer, without help from the programmer.
  • The programmer, instead of implementing the audio behaviors, just triggers the Wwise event name.
  • Excellent and rapid customer support if needed.

Why use Wwise (over other audio middleware)

  • Dedicated interactive music engine and layout, allowing greater variability and flexibility in the integration. This feature provides extensive adaptability to the gameplay, as opposed to the fairly limited integration options in FMOD. 1 hour of composed music, if well integrated in Wwise, may last for 30 hours of in-game music.

music

  • Large amount of Plug-ins and effects imbedded in Wwise, such as :

SoundSeed Air plugins – generative sound sources using time-varying parameter sets to drive a synthesis algorithm.No source audio files are necessary (hence no space required).

soundseed

Effect Editor – a series of audio processing effects that can be tied directly to Real Time Parameter Controls or other in-game variability.

Etc.

  • Midi support for interactive music and virtual instruments (Sample and Synth). This allows any MIDI input data (for example pitch bend or CC) to be attached to an RTPC-able properties on MIDI target of the music segment.
  • Put simply, Wwise can implement more complex audio behaviors in fewer manipulations and greater autonomy from the audio designer.

 


 

Unity 5 VS Wwise Summary (click to get pdf)

Scriping

Unity – Extensive scripting involved in audio integration: any behavior other than Play and Loop has to be scripted (see 1st degree manipulations below). This requires a considerable amount of a  programmer’s time.

Wwise – Minimal scripting required: all audio behaviors are set within Wwise, the only scripting required is to call game parameters. This prevents unnecessary back and forth between the designer and a programmer.

 

1st degree manipulations

Unity – The only audio behaviors available to the designer are play, loop, high/low priority, volume, pitch, pan, and basic effects.

UnityMixer

Wwise – The same functions and more are available in Wwise (including randomisers, initial delay, conversion settings, loudness normalisation, Real Time Parameter Controls, Game States, Motion Effects, sound instances limit, and more).

On top of basic manipulations, the designer can create multi-actions events as well as stop events (among others, see Wwise events below), avoiding the need for scripting these behaviors. It reduces complex audio events to simple manipulations

In addition, basic editing is available within Wwise, and allows to reuse the same samples more than once, saving space.

Variability

Unity – No 1st degree access to randomisers or containers dictating behaviors (such as random containers). Everything has to be scripted. Fewer possibilities for variability means that a higher number of sound files is needed in order to create variations (takes more space).

Wwise – Excellent possibilities for variability due to easy access to randomisers on volume, pitch, lowpass, highpass, a priority system, and other audio behaviors (see 1st degree manipulations above). These variations reduce the number of sound files needed in the game, saving space.

Game parameters

Unity – The only way to control game audio states and parameters is with Snapshots. Snapshots have limited flexibility, and any transition between them has to be scripted.

Wwise – Wwise allows for a much more flexible game parameter control, all manageable by the designer, and highly customizable: the Real Time Parameter Controls (RTPC).

Complex audio behaviors can be implemented without requiring more space or any more scripting than simple behavior. This creates greater possibility for creativity and elaborate sound design.

Music Integration

Unity – Non-existent. There is no differentiation between music and sound integration, making it difficult to create time-sensitive transitions and multilayered music implementation, essential for good dynamic qualities and to give feedback about the gameplay to the user.

Wwise – Wwise’s dedicated music integration engine is one of his greatest strengths: it allows for highly dynamic implementation, greater variability and flexibility in the integration.

Its features include bars and beat recognition, entry and exit cues which allow the layering of multiple tracks or sound cues in sync, a transition system allowing for seamless shifts and variations, and a stinger system making it possible to link game events with musical cues, in sync with the music.

This saves space due to the possibilities for dynamic integration, reducing the required amount of sound files needed.

musicEditor

Mixing and testing

Unity – In-game only, meaning that all the sounds need to be implemented in a functional way before the designer can be able to assess the result in relation to other sounds and to the gameplay. Modifications take more time due to back and forth.

Wwise – Allows the sound designer to mix as the work progresses, and can test all the sounds, as they would sound in-game with the Soundcaster session system. Wwise’s Soundcaster system allows to simulate a gameplay environment and listen to the sounds in real time. Modifications can be done instantly

Soundcaster

Hierarchy and buses

Unity – Good system that allows micro and macro groups of sounds. Good for mixing levels and effects, but does not include behavior systems.

Wwise – Wwise has a similar “bus” and hierarchy system, but it includes parents of various kinds, determining the behaviors of the child (containers). This system of groups and containers include features such as Random, Sequence, Blend, Switch, Dialogue, and Motion.

Asset localisation

Unity – Asset localisation can only be done with a licensed plugin and requires scripting.

Wwise – Wwise features localisation options: if any dialogue, Wwise can very simply generate multiple soundbanks for different languages, without having to replace assets or repeat manipulations, saving time.

Debugging and performance monitoring

Unity – More research needed.

Wwise – Wwise can connect to the game to monitor performance, to adjust the mixing and for debugging.

The Profiler and Performance Monitor built into the authoring tool makes debugging smooth and easy and greatly helps for optimization and memory usage. (You can watch the CPU performance, streaming buffers, voices playing and other details in real time).

WwiseProfiler

User interface

Unity – Limited. The manipulations are mainly accomplished through scripting (see Scripting above).

Wwise – The user interface allows the designer to implement audio behaviors quickly and test them immediately.

It makes it easy for the designer to tweak audio behaviors and parameters (with interfaces such as the RTPC graph editor, the sound property editor, and the music editor), avoiding unnecessary back and forth between the designer and a programmer. It also allows for a more detailed integration.

GameSyncs

Audio compression and format conversion

Unity – Must be done manually.

Wwise – Multiple options for audio compression and format conversions within Wwise, saving space and time.

Wwise can create non-destructive converted files needed for different platforms, saving run-time memory. Conversion settings for each platforms can be customised : number of channels, sample rate, compression Codec, and more. The interface also allows to compare data from the original audio files to the converted ones in order to assess how much memory is saved.

$$$

Unity – Free (audio engine comes with Unity license).

Wwise – Requires a license (see pricing above).

Summary

BadGoodpoints


Wwise VS FMOD

I don’t have a fancy document about Wwise VS FMOD, but can talk a little bit about it, hopefully this can help you reach a decision.

First, both are good, and allow you to do many advanced things.

Quick advice before getting into details, I’d still chose Wwise over FMOD (mostly for all the reasons enumerated above about Wwise), but to be honest your main argument here might be budget. Depending on what ‘budget slice’ your company is, one or the other may be more expensive. If the license is the same, go for Wwise.

One argument in favor of FMOD that keeps coming back is the fact that it is designed like  DAW (digital audio workstation, sound designers will know what I’m talking about).

So it is, kinda. But you have to remember that your grid is not always time, and that your objects are not always sound files but rather containers. Because games are not a linear media, and sound integration is not sound designing or editing.

Wwise is nothing like a DAW. So yes, it has a certain learning curve, but once you understand its layout and principles, you realise that it allows for a much more in depth integration and it opens possibilities beyond what you can even think of in terms of creative integration. To this day, I have never encountered any technical limitations using Wwise. This isn’t true for FMOD, or Fabric.

You can learn more about how to use those software by browsing this blog, especially its Tutorials and Tips and Tricks sections.


Wwise VS Fabric

Fabric was a fantastic tool when its only other option was Unity’s audio engine. It provided more control over audio implementations, allowing for better quality audio with more variations and possibility for interaction.

But now that tools such as FMOD and Wwise exist, the fact that Fabric is a set of tools within Unity instead of a standalone software gives it a lot to catch up for. FMOD and Wwise are way ahead of Fabric in terms of:

  • Amount of scripting needed
  • 1st degree manipulations and workflow
  • Variability
  • Real time parameters
  • Music integration
  • Mixing and testing
  • Localisation
  • Debugging and profiling
  • User interface
  • Compression and ‘per platform’ settings
  • DSP and plugin usage
  • and more.

You can learn more about how to use Fabric by browsing the Tutorials and Tips and Tricks sections.

 

Advertisements

9 thoughts on “Audio Middleware Comparison – Wwise/FMOD/Fabric/Unity 5

  1. Wow, great article! 🙂 Thank you. Wwise is a gem :), hope more small and indie devs will use it over the time.

    The Wwise Limited Commercial License (the free one) allows the Wwise Project to contain a maximum of 200 sound files/media assets. From your experience, how big could be a game (or what kind of a game) with 200 audio files? Assuming a regular, good and optimised audio.

    Best,
    Rob

    Like

    1. 200 audio files isn’t much. Could potentially do for a small scale indie game, but restricting your number of assets will impede your integration methods and limit your possibility for variety. Before determining if 200 audio assets should be sufficient enough for a game, I’d recommend doing a full feature review of the game and its mechanics, and listing all required sounds. (Then potentially double this amount)

      This implies that you already know the full game, which is rarely the case when starting on a project, so I’d be scared about committing to so few assets.

      For instance, in my current AAA mobile project (smaller scale than AAA console, larger scale than indie), I’ve got at least 700+ audio files.

      Like

      1. Thank you very much for the detailed answer ! 🙂 I was afraid so, even with simple mobile games it’s about 20-40 sounds for me (and I think it’s twice that much in audio files). I’ll not even try to fit in 200 with a small strategy game than :D. On the other hand $750 is not that much for a small indie game. Still it’s to much for various simple mobile startups, so here it comes the Unity.

        I look forward to more articles on your blog ! 🙂 I know it’s quite simple with the Wwise to adjust the memory size budget for audio, but it could be great to hear how developers approach to it in terms of audio size and quality, or what could we (as sound designers) propose to developers. I think it’s not that obvious even in the AAA after the Skyrim remaster audio slip on the PC.

        Best,
        Robert0

        Like

  2. Hi Anne, thanks for sharing!
    I’m using FMOD in an PC/console indie game and it is actually capable of doing everything you described as Wwise’s highlights. I have never used the latter, so I don’t have an opinion on it, but FMOD is a really powerful tool…

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s