What is my project about?

During my time at The Game Assembly, there was a course in which I could choose anything I found interesting and immerse myself in it. Because I really wanted to learn more about audio programming, I took a rather big task which was to create and implement a echo plug-in using Wwise SDK. My goal with this project was to learn how effect plug-ins are made and how to use DSP (Digital Signal Processing) algorithms to modify the audio.

For testing the audio, I used the Suncup game engine which me and my group (in our second year at The Game Assemly) build. For creating the world in which I tested my audio plug-in, I used Unity.


How did my planning go and how did my goals look like?

From the beginning I wanted to make a plug-in which is able to calculate the strength of the echo based on the size of the room in which the player is in, through using the RTPC (Real-Time Parameter Control) which Wwise makes it easy to use.

Here is goals looked like after I started my project:

  • Alpha (estimated work time: one week)
    • Have thoroughly researched the creation of the effect plug-in from Wwise dokumentation and possibly from other sources.
    • Have a ready-made test world made with Unity which works inside the Suncup engine without any problems.
    • Have implemened Wwise "delay" plug-in to measure how much work is required to use/add a existing plug-in into the Suncup engine.
  • Beta (estimated work time: three weeks)
    • Have a prototype on a plug-in that is able to receive relative data from the game engine (such as room size through the RTPC).
    • Have begun to use the DSP algorithm which changes the audio's output based on the data received from the game engine.
  • Gold (estimated work time: one week)
    • Have polished the DSP algorithm to make the output sound more like an echo.

Because it was about to be my first time creating a audio plug-in, I didn't know how much time it would take to create a somewhat working prototype, which is for that reason I underestimated the time which I required to complete my goals that came after the alpha phase.

Although I did not achieve my planned goals, I still managed to create a working effect plug-in. I found a sample of Wwise "delay" plug-in source code which greatly shortened the development time of my plug-in. It helped me understand what I did wrong and how I could do it better.


What are the results?

The results are satisfying even though they do not match with what I wanted to accomplish when I planned this project. I made a working echo plug-in that creates an effect very similar to Wwise "delay" plug-in, but my plug-in does not calculate the echo strength based on what size is the room in which the player is in.

Below you can find before and after results.


Three sounds that I used in my project for testing:

Three sounds that are affected by my echo plug-in: