Archive for Game Audio

Blok 3 – 2016

Hier wat links over Unity en audio.

Hoe maak ik een metronoom?

Met AudioSettings.dspTime kun je de tijd op audiorate opvragen. Let op: dit is de tijd die is verstreken sinds je computer is opgestart, dus werk altijd met relatieve tijd.
(Voorbeelden voor JS en C#).

Hoe speel ik audio af zonder latency?

Met dspTime kun je het moment bepalen waarop de audio afgespeeld zou moeten worden. Met audio.PlayScheduled zet je het even klaar en wordt het op de juiste tijd getriggerd.

Hier kun je een project downloaden waarin je dit meteen kunt testen.

Het wapengeluid onderbreekt. Dat is lelijk.

Kijk naar het AutoFire script en kijk eens naar:

function OnStartFire () 

Hier zie je het euvel: het is volgens mij een loop die aan en uit gezet wordt als je de muisknop indrukt cq loslaat.

PlayOneShot is hetzelfde als PlayClipAtPoint alleen geef je bij de laatste een 3d-positie mee (dus dat is wel handig). Unity maakt het object aan, en verwijdert het als het klaar is met afspelen.

Handige Unity Functies


Met deze functies kun je alle instances van een bepaald script selecteren en dan een functie laten uitvoeren. Les op de s: alle objecten of 1 object.

Andere gameobjecten benaderen

Zo kun je andere gameobjecten linken en iets doorgeven:


Speelt een clip in de wereld af, en ruimt het object weer op als het klaar is met afspelen. Handig…


Code is:

AudioSource.PlayClipAtPoint(clip, new Vector3 (5, 1, 2));

Maar je kunt natuurlijk ook de positie van het ‘parent’-object gebruiken (bv. de speler). Je kunt ook nog het volume instellen.

AudioSource.PlayClipAtPoint(clip, transform.position);
AudioSource.PlayClipAtPoint(clip, transform.position, volume);


Ik ben Sid. Hoe maak ik een synth voor livesynthese?

Met de Native Audio Plugin SDK, zie

Hoe maak ik Editor Extensies (Ruben)?


De FMOD integration is vernieuwd?

Sinds versie Ja, de oude code is bv.

FMOD_StudioSystem.instance.PlayOneShot(endOfTurbo, transform.position);

Vervang die door:

FMODUnity.RuntimeManager.PlayOneShot(endOfTurbo, transform.position);

of door het event direct aan te roepen:

MODUnity.RuntimeManager.PlayOneShot(“event:/endOfTurbo”, transform.position);

Als je geen OneShot afspeelt maar een studiosystem:

SlitScore = FMODUnity.RuntimeManager.CreateInstance(“{ba0fe66d-901b-415b-b672-e360a8b6cddc}”);

Het komt dus neer op een simpele find replace van de code!

Zie ook de migration guide ( maar let op: die beschrijft alleen C# en Angry Bots is in JS. Het editorscript dat belooft je code automatisch te updaten werkt alleen bij C#. JavaScript moet je zelf – handmatig – doen, maar Unity geeft met de errors precies aan waar de problemen zitten.

VR audio techniques

creature sound placement

Great talk on VR Audio!

3D audio is critical for creating a believable virtual world, and sound design for VR is very different from traditional games or movies. This talk will cover VR audio techniques including building immersive ambiences, attenuation curves, mixing and player focus. You’ll hear some of the sound design tricks used in the Oculus demos, and learn more about how to work with the Audio SDK to create authentic and compelling experiences.

[via Mark, thanks!]

Game Audio Industry Survey 2015

Just a quick pointer to the Game Audio Industry Survey!

The game development web site, Gamasutra, recently published the results of their annual game developer salary survey. This year, the results were somewhat puzzling, with “audio” salaries coming in higher than every other discipline except “business and management.”

Part of the reason for this unexpected result is that audio, more than most other game disciplines, has a very high percentage of non-salaried freelancers, which are unaccounted for in the Gamautra survey. Gamasutra also commented on the “smaller pool of respondents,” (33 “audio professionals” completed the survey) causing the results to be “more easily skewed.”

With that in mind, Brian Schmidt et al created a survey that attempted to more accurately capture the issues of contracts, terms and compensation in game audio.

Read more

Getting Started with FMOD Unity Integration (Blok3)


Download FMOD Studio and Studio Integration. Install Studio and import the package in Unity.

There are FMOD studio Projects (examples) in the FMOD Studio application folder.


FMOD studio integration manual (the manual)

Horse Awesome Game’ FMOD and Unity (the simple example created during the lesson, contains both Unity and FMOD Studio). This is JavaScript code, if your game programmer works in C# it is best to use C# code.

For C# examples, see the Example Scripts in the FMOD folder in the integration package. Refer to the manual, section Contents / Example Scripts for a description. The example scripts are named FMODAsset, FMOD_Listener, FMOD_StudioSystem and FMOD_StudioEventEmitter. With these sample scripts, you’re ready to go.


Again, use the SAME versions of FMOD Studio and FMOD Integration. Make sure your game programmer does the same. If not, you might get crazy amounts of errors in Unity. You might ask why I’m repeating myself over and over on this, but I’ve seen this happening over and over again.
If there are crazy amounts of errors, ask you programmer to double check the version.

During the lesson I showed:

  1. Create an Event
  2. Import Sounds into
  3. Create a Multi Sound
  4. Assign the event to a bank before building
  5. Building
  6. Export GUIDs


  • Play percentage (right click sounds in multi sound)
  • Random value via add modulation (right click volume or pitch)
  • Seek Speed

Great tutorials to get started are all over YouTube. This playlist is rather complete:


After importing the package you’ll get an FMOD tab in Unity (menu at the top of the screen).

Import banks om het FMOD project te importeren en selecteer de folder Build in je FMOD-project.

Play music with a parameter (JS)

For C#, see FMOD_StudioSystem.cs in the Unity folder.


// Place at the top of a script

var Music : FMOD.Studio.EventInstance;

var Intensity : FMOD.Studio.ParameterInstance;

// Place in Awake and change the GUID-code (in GUIDs txt in your build folder).

Music = FMOD_StudioSystem.instance.GetEvent(“{ba0fe66d-901b-415b-b672-e360a8b6cddc}”);

Music.getParameter(“Intensity”, Intensity);


Debug.LogError(“Awe parameter not found on music event”);



// start music


// Pass the parameter – somewhere in a function, e.g. Update() or OnCollisionExit()




Play in C#

using UnityEngine;
using System.Collections;

public class RobotSound : MonoBehaviour {

//looping sound with a parameter
FMOD.Studio.EventInstance walkingSound;
FMOD.Studio.ParameterInstance speed;

//oneShot + “initiation”
string deathExplode = “event:/enemies/explodeSmall”;

//initialise looping sound
void Start()
walkingSound = FMOD_StudioSystem.instance.GetEvent(“event:/enemies/movingSmall”);
walkingSound.getParameter(“parameterNameinFMOD”, out speed);

//Start and stop looping sound
void startWalking()
void stopWalking()

//oneShots start
void playExposion()
FMOD_StudioSystem.instance.PlayOneShot(deathExplode, transform.position);

//cleanup EventInstance, PlayOneShot() does not need this
//stop audio before cleanup!
void onDeath_or_Delete()


If there’s anything wrong, check/search the FMOD/Unity forum:

If there’s something really wrong and buggy, you could ask the developers at the FMOD in Unity questions section:
You might have to wait for several days, especially over the weekend, so don’t rely on this when you have a deadline!

You could also email me. Just do it if you dare. 😀


FMOD Studio has bugs. A lot of them. Fortunately, these are constantly being fixed, which is a good thing. That is why it’s tempting to update Studio and Unity Integration. Beware that new versions could introduce new issues with other code and libraries. FMOD projects are not necessarily backwards compatible, so you might make a copy first before upgrading your project.

Make backups. Make Backups. Make Backups! Make Backups! Just zip your FMOD project folder every now and then. I’ve completely destroyed an FMOD Studio project by opening it on a PC first and then on a Mac. FMOD support was willing to assist me on recovering the project but I was happy to restore a backup which opened fine.

“Being too busy to worry about backup is like being too busy driving a car to put on a seatbelt.” — T.E. Ronneberg

The Game Pulse – Timing Game Events and Music Events [PDF]

Here’s a pointer to a paper in which we examine how to design nonlinear music systems that allow for music events to coincide and correspond with dynamically changing game events. We address the challenges of connecting nonlinear music systems to gameplay and distinguish three approaches for timing time music events and game events: Trail, Sync and Lead. We explore these three approaches in the design case study Gluddle versus The Supervision, a game created by the authors. Our preliminary findings illustrate the benefits of combining Trail, Sync and Lead, positively influencing the game experience, but also the need for extra attention to gameplay balance and technical implementation.

Download The Game Pulse – Timing Game Events and Music Events

By Richard van Tol and Sander Huiberts – Proceedings Innovation In Music 2013. Innovation In Music 2013. Edited by R. Hepworth-Sawyer, J.Hodgson, R. Toulson & J.L. Paterson. ISBN 978-0-9561516-8-1

Diggin’ in the Carts – Japanese Video Game Music History


Just after receiving the message that BEEP started filming at GameSoundCon (apparently, this really is the time for documenting Game Music History), Yme sent me a message about Diggin’ In The Carts. Diggin’ In The Carts is a new series from Red Bull Music Academy about the untold story behind the most influential music to come out of Japan. Check back each Thursday, from September 4th to October 9th, for new episodes, mixes, and bonus interview footage. Sweet!

[Go to the Diggin’ in the Carts website]

Beep: A Documentary History of Video Game Sound

Karen Collins is running a KickStarter for a game sound documentary: Beep: A Documentary History of Video Game Sound.

Pledge or read more on KickStarter!

Read more

One Note Salsa and Composing for Fire Trucks. Exploring the creative design process of game composition throughout history.

By Sander Huiberts – Creative Design Practices – HKU University of the Arts Utrecht – School of Music & Technology


HKU – Creative Design Practices Research


This article addresses the findings of a practice-based investigation into the process of game music creation throughout the past forty years. In this research project, four composition students of the Utrecht School of the Arts created game music restricted by the limitations that counted for early game composers and reflected upon the implications for their design process. By doing this, we hoped to get an understanding of the way the creative design process of a game composer is influenced by such limitations, point out the challenges that arise when composing with these drastic restrictions and discern the techniques that could still be relevant for game composers.

The project was initiated by the Creative Design Practices research programme at the Utrecht School of the Arts, which researches creative design processes and investigates how designers collaborate. Four students subscribed to the project that started in spring of 2012: Alexander Wttewaall, Pablo Ham, Stijn Frishert and Yme de Jong.

This investigation of the design processes of game music formed part of a larger research project on the history of game music that was started in 2012 in cooperation with Muziekinstituut Multimedia (MiMM) and Utrecht University.
Read more

Play Angrier Bots – Angry Bots Audio Revisited (HKU)

Angry Bots

Angry Bots

At HKU University of the Arts Utrecht we offer a four year course on audio design for games and interaction. In the first seven weeks of the third year, students are challenged to implement their newly created sound and music into Unity‘s tech demo Angry Bots. For most students, this means a first experience with hacking, programming and coding.

Read more

Game Sound & Immersion – Annotations

Gijs Driesenaar sent me his annotations of Captivating Sound: the Role of Audio for Immersion in Games. If you’re a little short on time but would like to know what’s in the thesis, you can consider this the essence of the book. The numbers refer to page numbers. [Download as PDF]

6. This thesis explores the relation between game audio and (computer) game immersion. Audio is studied using the IEZA‐model (Interface, Effect, Zone, Affect) and the SCI‐model(Sensory- Challenge-based- and Imaginative Immersion), and several design issues are described. This yields a conceptual framework that describes various audio design issues that can be used to reflect upon conceptual decisions relevant for the design of audio in relation to immersion.

Read more