Trash Can Loops - Part 3 | Production and FMOD
Welcome to part 3 of my project diary for Trash Can Loops. Since the last post, i've gone on to produce 36 loops that are now 4 bars instead of 8 and have completed work on my first FMOD session. As I go through this blog, i'm going to detail some of my production techniques used in Ableton Live 10 and throw some light on where i'm at with FMOD, Unity and Source Tree.
The last 2 weeks have been eye popping. My brain has never worked this hard in it's entire life span, and for someone that stresses as much as me, that is saying a lot. Some moments that stand out were getting to know the repository Source Tree, Accidentally learning about FFT in FMOD and integrating my audio into Unity.
Let's start with the rough end of the stick, Unity!!.
I've been attending the Game Audio Club on Wednesday morning for all but 1 week, however, my knowledge of Unity was basic before starting this project. I'm not going to say i'm in the intermediate level as yet, but I at least know my way around the engine now. This week i've been using the FMOD session i've created to implement some adaptive audio into my Unity test scene.
As seen above, i've spent this week getting my music playing with box colliders. In the game, the player collects garbage through 3 different scenes. This meant I could create 1 box collider and duplicate it, then I would give the new collider the parameter of the new ambience. When the player walks into the new box collider, it triggers. This took a while to get right, because I needed to figure out how I could make the tracks fade in and out without it happening abruptly each time the loops plays. This is where I found adaptive audio fades in FMOD, and this video explained it perfectly.
Adaptive Audio Fades
When I find videos like this, I just think wow! where have you been all my life AHDSR Modulation? Answer - Waiting for you to learn me.
This is a technique that I ended up using on my master bus, and because it worked so well, some foley sounds as well to simulate distance.
When working with loops, you want them to start, play, finish then start again, without any big fades ruining the transients. This is where I found AHDSR Modulation to be so great.
To get the best sounding fade in and fade out, I decided to give the envelope a short attack at 2.21 sec and a slower release at around 6 seconds. This meant, the first ambience had time to die down as the second one was introduced, rather than them popping over each other, it was a smooth transition. The next step was to just press F7 (Build), then set the sound to my box collider.
Since I had some time up my sleeve this week, I decided to test out some creative automation on a drain pipe within my city scape. I set-up my regular AHDSR modulation, then added some panning automation to the drain water foley. As the player walks past the drain pipe, the sound of water travels from left to right and fades out gently as you walk away from it. The effect doesn't mimic what would really happen, if you saw a person walking past a drain pipe, but as an effect I found it added to the soundscape.
Using Source Tree
I would be lying if I said that using the repo for the first time was easy. It has been the biggest set back of our project so far. Not knowing how to use it, has cost us a week of productivity and player development, but I can see the uses. It makes sharing work very easy, when everyone knows how to use it.
Things that break the repo
Working in someone elses test scene
Committing when Unity is open
Creating alternative branches
Not committing often and fetching first
Although I'm still not 100% on the repo, I've got a system that has been working for the last few days. Commit often, fetch from the remote, pull then push. Since doing that I've had no problem and none of the work has been removed from the scenes. It makes a tiny amount of sense when I say it like that in my head, so I will just keep going with that, and with all luck the repo won't break again.
Accidentally learning About FFT
My team and I were having a meeting about how we are going to get ready for Monday's play test, when a trimester 6 class walked in and began a lecture about FFT or Fast Fourier Transform. We decided to stick around and they were happy to have us sit in. The basic example of FFT I can give, is a spectrum frequency analyser animation on a plugin like Blue Cat FreqAnalyst Pro or the 3D view for the main occilator in Serum. The lecturer was demonstrating this effect with FMOD and Unity by using music to animate a 3D object. In this case it was a tree. This topic is going to need it's own blog, but I'm introducing it here, because I can see the applications of something like this in the game development, and it's something I may be able to implement without any design skills.
Next week we have our first play test and feedback session, and i'm looking forward to seeing how far the designers have got over the weekend. Troy has been working on the inventory, for when the character picks up the trash. Kell is onto the character development and scene design and I will be implementing the audio onto the latest build. Hopefully we all come together on Monday for a successful play test.
(2018). Retrieved from https://www.fmod.com/
Blue Cat's FreqAnalyst Pro - Real Time Spectrum Analyzer and Audio to MIDI AU, RTAS, DX and VST Plug-in. (2018). Retrieved from https://www.bluecataudio.com/Products/Product_FreqAnalystPro/
FFT (Fast Fourier Transform) Waveform Analysis. (2018). Retrieved from https://www.dataq.com/data-acquisition/general-education-tutorials/fft-fast-fourier-transform-waveform-analysis.html
Sourcetree | Free Git GUI for Mac and Windows. (2018). Retrieved from https://www.sourcetreeapp.com/
Unity. (2018). Retrieved from https://unity3d.com/
Unity & FMOD | Adaptive Volume Fades (AHDSR Modulation). (2018). Retrieved from https://www.youtube.com/watch?v=fph8B0CSbNQ&t=1s
XferRecords.com | Home of the Xfer Records VST Suite. (2018). Retrieved from https://xferrecords.com/products/serum/