[RELEASED] WingroveAudio - full audio toolkit

****NEW - parameters, see new video showing off how easily car engines/dynamic music can be done! ← v1.07 which has all of this in is OUT NOW

Hello!

WingroveAudio is now available on the AssetStore. The main goal of WingroveAudio is to make a great audio implementation as easy as possible to create within Unity - moving as much as possible out of code and into the editor.

Less mess, better results! WingroveAudio gives you an easy to use framework to take the work away from an excellent audio implementation in your game! Create groups, fades, random variation and more in the editor with rarely more than a line of code!
NGUI and Playmaker compatible.

The current version has the following features:

  • Audio hierarchy, and hierarchy based mixing
  • Event driven audio triggering
  • Live mixer window
  • Quick event testing panel window
  • Audio source pooling, virtualized sounds
  • Automatic ducking and event based ducking
  • Configurable fading on all play/stop events
  • Instance limiting
  • Load dynamically from Resources
  • Easy hierarchy based pause/resume
  • Automatic placement of 3D sounds
  • Lifetime event triggers (possible to trigger/stop/fade/etc… audio with no code)
  • Object linked events
  • NGUI event triggers and PlayMaker compatible actions
  • Multiple listener (e.g. split screen) support (video below)!
  • Parameters curves for response - do engines/dynamic music/more very easily!

GETTING STARTED VIDEO

MULTIPLE LISTENERS (split screen)

DYNAMIC PARAMETERS (vehicle engines, dynamic music)

Screenshot:


New parameter curve window:

Asset store:
http://u3d.as/4hq
Website here:
http://wickedworx.net/wingroveaudio/

I’ve still got several features planned - but if anyone has any good suggestions of what they might think most important, then that’d be great to know!

What audio files does it support? Just wav? Any plans to load and pool MP3’s?

It supports everything Unity supports, as it works “on top” of Unity’s audio - which is platform dependent. So on PC/Standalone that’s ogg, and iPhone/Android mp3 - Unity will convert for you, if you select “Compressed” on the audio clip.

WingroveAudio has some stuff for transparently dynamically loading and unloading audio assets, using Resources.Load which you can use to further manage memory usage. I’ve got some more plans for further loading methods (AssetBundle support, etc…).

So mp3 support is andriod iphone only? oO
I need mp3 support in a pc/mac/linux standalone. >.<

If you bring an .mp3 in to Unity, it’ll convert it to .ogg (similar compression size) for pc/mac/linux standalone, if you set it as “compressed” :slight_smile:

I need to load the mp3’s at runtime. What I was wanting to do is tap into a players own music library while they play. I keep hitting walls in my research in how to accomplish this feature though.

What does “multiple listener support” mean? I thought you could only have one audio listener in a scene…or did they change that in Unity 4?

Unity only allows one listener, yes. WingroveAudio supplies its own listener. You can add multiple WingroveListeners {e.g. for split screen), and WingroveAudio will do the adjustments required to take them all in to account appropriately!

Interesting. Thanks for the info.

I’ve made a short video showing off some more features - including split screen (multiple listeners), but it also shows how you can have sound events triggered without any code.

I’ve been working on some new features which will be going in to the next build:

  • Real-time parameters can be sent in to modify sounds - great for dynamic music, car engines, helicopters, or anything else you can think of. (parameters can be per-object instance or global)
  • Automation tools - set up your hierarchy faster, tools for multi-editing import settings

v1.06 is out which has real time parameters in!
I’ll be making a tutorial/video showing this off shortly.

The quick explanation - you can now create cool engine/dynamic music/etc… set-ups in the hierarchy using curves, then send over your parameter (e.g. vehicle speed, or music intensity) and have it update on the fly!

I’m dropping the price a little bit for a while - 1.07 coming soon, and will have many new features!

I’m also going to do a couple more videos and tutorials, as well as an example project - to show how simple it makes the code side of the audio.

Edit/Update - preview of the dynamic parameter response editor coming in 1.07 - here’s my simple car engine set-up. The white line shows what the ENGINE_SPEED parameter is currently at, and the curves show how the layers of audio are set up to respond to it.

I’ve made a video showing off the new parameter editing window / dynamic audio parameters / curves.
It first demonstrates some car audio, then some dynamic music:

v1.07 is now available on the asset store, which has all the features shown in the video in the post above. Other new changes:

  • More 3D position settings and defaults
  • Paramter response editing window
  • New example scenes, showing all features

here are some of the features I’m planning for v1.08:

  • Extensions to time handling (using double precision dspTime)
  • Switches
  • Adding components to Add Component menu
  • New log window

If anyone has any suggestions for other features, it would be great to hear them! :slight_smile:

v1.08 is in submission now - it has a new ‘delay’ option, more accurate timing using dspTime (optional), and support for custom roll-off curves (which can be edited as ‘normalized against a maximum’), and all the components are now nicely organised under the Add Component menu.

The example scenes have been updated to demonstrate custom roll-off curves.

v1.08 is available in the asset store now!

I have updated the videos and tutorials index on the website, and there will be more coming soon!

v1.09 is in submission now, which contains the new “event log window”. see exactly what events have been fired (and when) - very useful!

OK, the 1.09 update is now available on the asset store! Enjoy :slight_smile:

Taking requests for new features. One feature I am considering adding for v1.1 is a smart bank loading system (which will allow you to break up your hierarchy further between scenes).
I’m also going to further extend some of the inspectors to add more ease of use functionality - quick-launch buttons for loading up the parameter response window, version info, also adding an audio parameter monitoring window.