Search Unity

Eric “Dok” Wager is a French sound engineer with almost twenty years of experience in music and French cinema. Currently, he provides interactive audio training via IndieTrainers, a company that he co-founded. Eric discovered a lot of great audio solutions on the Asset Store, these are his recommendations!

“As a sound engineer and teacher, I’m very interested in assets that can simplify the audio integration process. The less coding there is, the better. I’m also always on the lookout for really creative tools for sound designers,” he says.

For Eric, an ideal game audio engine has:

– a great mixer with flexible routing (including group bus, aux bus, multichannel output matrix, 3D panning and doppler effect)

– easy ducking and dynamic control (for HDR mixes)

– a bunch of creative insert DSP FX, volumetric FX and sounds (for seamless transitions between zones)

– a timeline with automation curves (for multitracking and sequenced events)

– pooling system (to limit instances of sounds and boost performance)

– weighted randomization of parameters

– a sample accurate clock and musical divisions of time

– instruments (sample-based and synthesized ones with the usual modules like OSC, LFO, ADSR, etc…)

– a music sequencer (with a flexible file format), midi input and output, wav rendering, async loading and streaming.

fmod integration in Unity and the upcoming Unity 5 audio features offer at least half of those tools, and most of the others are already available on the Asset Store. Which assets did Eric find most helpful on his quest for the ideal audio engine?

“The first toolkit I bought was SoundManagerPro as I was looking for a simple pooling solution (with limited polyphony) and a straight “no code” event system. Then I tried out Master Audio, because it has Playmaker actions. I discovered that it’s a very complete toolkit with it’s own group mixer, synchronized playlists and a clever ducking system,” says Eric.

He’s still using it, but he’s always on the lookout for more exotic options. So he got in touch with Tazman Audio, who offered him an educational licence of their Fabric audio toolkit. “Believe me, it is great fun to play with the embedded modular synthesis engine and the loopable timeline is vital for evolving motors and background ambient effects.”

One of Eric’s other obsessions is step sequencing. “My deepest wish is that Unity could provide extensive management for a tracker format like .mod or .xrns, with an API to control the track activation and the pattern changing. So I bought the Step-Seq asset by Quick Fingers to see how far it could take me, and it’s pretty powerful. Unfortunately I discovered that an accurate musical clock is very difficult to obtain with C# coding. An experienced musician might find the stability a little disappointing.”

To overcome this issue, he started using a combination of MidiUnified and MidiSynth by Foriero Studio. “The midifile player is rock solid and the different integrated synths offer a wide range of sonic capabilities (“bass” is one of my favorites). You can make your own sfz soundbanks and work in a classical DAW for authoring. And, if you like alternative input controllers, the multi-platform integration of midi I/O works perfectly”. He also discovered a bunch of Playmaker actions, which are handy for rapid prototyping. “I would have expected more control options over the midi files, but at this time, it’s the best solution I’ve found to do light weight songs from a few samples if you want midi files.”

For synthesis, he’s found the port of sfxr – Procedural Sound Effects by Zeh Fernando to be very useful for real time or rendered FX sounds. It saves a lot of memory.

Finally, he’d like to also share two secret weapons for audio driven events and animations: “I love Visualizer Studio, which is a spectrum based triggering asset that lets you split your audio into multiple bands of frequencies and put a threshold on each one (to trigger whatever you want when a certain level is reached on that band). And I’ve also bought DarkACE : Audio Curves and Events, which works like the animation window, but on the waveform of your audio file. That’s very handy when you want to automate something graphically to the music.”

“And of course like everyone, I’m feverishly waiting for the official release of Unity 5, especially its new audio features!”

Eric « Dok » Wager is a French sound engineer who’s worked on music and movies like OSS117, Les 11 commandements, La Beuze, Svinkels, TTC, Arsenik and Singuila. He’s also been part of the demomakers scene since 1990. He’s fond of generative arts and signal processing, teaches at the SAE Institute in Paris, and is the co-founder of IndieTrainers, a game development training company.

Audio Curves and Events

21 Comments

Subscribe to comments

Comments are closed.

  1. Erik, have you had a chance to experience RealSpace 3D Audio for Unity? I’d like to get your thoughts but don’t know how best to contact you. Thank you in avance.

    Gregg Wilkes
    gwilkes@visisonics.com

    1. Hi Gregg

      I would be verry happy to try RealSpace 3D Audio for Unity !
      Could you tell us roughly what’s the science behind it ?

      eric@indietrainers.com

  2. Hi to all, G-Audio dev here.

    First, I’d like to thank Jacob for his enthusiasm regarding G-Audio. So much so that I fear it comes across as barely disguised advertising…

    G-Audio is more programmer oriented, so definitely not for everyone. Because it does it’s own mixing, it can pull tricks that higher level frameworks can’t. But I would definitely NOT recommend it to someone who’s looking for a zero code solution, à la FMOD Designer.

    I’d also like to point out that Erik is wrong about C# being a language with which it is difficult to obtain accurate timing:
    – The language has no bearing on timing
    – It is very much possible to time things accurately with Unity’s audio API, using PlayScheduled and AudioSettings.dspTime
    – It is also possible to write audio data directly in the OnAudioFilterRead callback and obtain sample accurate timing for both streaming and loaded clips. This is what G-Audio does. It’s a bit more challenging as it implies awareness of threading issues.

    Cheers,

    Gregzo

    1. Good catch on the PlayScheduled Greg. We both use that in our respective plugins (we use it for seamless music transitions that work regardless of frame rate).

      I’d like to point out that using Master Audio is a 99-100% code-free implementation most of the time. Different products for different uses! Master Audio also has less expensive educational & bulk version of our licenses like Fabric does. Fabric isn’t on the Asset Store so it’s hard to know whether it’s well-liked or not (lack of reviews), but it is very advanced and good with it’s real-time parameter control, something our product will probably never add as that’s not what we’re geared toward.

      -Brian @ Dark Tonic (Master Audio plugin author).

    2. Ok, my coding skills are rudimentals compared to yours guys !
      My goal was to have a bars and beat clock, dspTime sounds good but i still have to master multithreading…

      eric@indietrainers.com

  3. That video for Master Audio is really outdated. We’ve got 3x the features since then. I posted some new videos last week. Please check out the Playlist linked on our Asset Store page. Oh and by the way, Master Audio already has full Unity 5 integration as of last week (limiting voices on Unity Mixer Groups is now possible).

    By the way, SoundManagerPro average review is down to 4 stars so I can no longer recommend it for less demanding folks. G-Audio is cool though!

    -Brian

  4. Jacob - Uniphonic

    December 1, 2014 at 2:45 am

    Have any of you guys tried G-Audio? It’s capable of playing sample accurate pitched clips with custom volume envelopes, and even can granular style synthesis! There is even an add on for time stretching, and it had its own audio mixer (in Unity 4), and has its own audio effects, for which 3rd parties have created add on effects for. For deep control, blows away most of the other solutions I’ve seen, while keeping compatibility with all unity platforms.

    1. It’s in my wishlist since it’s out :)

  5. Is it possible to dynamically manipulate tempo and pitch separately? I have been looking for a way to do this in unity but I have been unsuccessful.

    1. There is a Pitch Shifter effect coming in Unity 5, to change pitch without changing the tempo.

      1. Excellent! I once posted such a thing in the UserVoice but all it got was naysayers.

        1. Jacob - Uniphonic

          December 2, 2014 at 3:41 am

          Yes, there is this pitch shifting plugin too, which is for G-Audio in Unity (work in Unity 4).

          https://www.assetstore.unity3d.com/en/#!/content/19357

    2. Hi Kenji,

      My plugin is unfortunately iOS only. You should try integrating SoundTouch, some friends have had success with it and it’s cross-platform.

  6. It’s nice to see someone else mention their love of tracker files. I feel as though they’ve been very under-rated for Unity development, and are really quite useful.

    1. Trackers files are outdated nowadays but if you need to play them on a commodore 64 or an amiga…

      1. Someone who is skilled in tracker files can make a half hour soundtrack only a few MB in size. It might be old tech, but it still has some pretty significant uses.

    2. Totally. I have pretty horrible download speeds at home and get especially excited when a game I’m excited to play turns out to be less than a GB :)
      Since playing Introversion’s Uplink I have had a weakness for tracker artists. I’m surprised more mobile games in particular haven’t used it.

    3. Totally agree. The current support of more advanced tracker files is great.
      Allowing multiple songs to reuse the same instrument set would reduce the file sizes in games even more.
      We also really need an API to control the individual aspects like track volume, proper speed control and as a huge bonus it’d be great to be able to fire c# events, configurable to certain instruments/tracks/specific notes or commands, all run time assignable of course :)
      Tracker files at absolutely not outdated in mobile. They’re tiny, sound great and take little CPU.

      1. Jacob - Uniphonic

        December 2, 2014 at 3:50 am

        You could make a tracker type functionality with G-Audio, and even dynamically changing ones! G-Audio variable tempo, with and event like system, and is very flexible. …and no I don’t work for them. I just really like what G-Audio enables developers to do, with dynamic sound track creation!

        https://www.assetstore.unity3d.com/en/#!/content/14321

      2. You read my mind Cameron ;)

  7. Vardan Meliksetyan

    November 27, 2014 at 5:57 pm

    Interesting work )