As earlier research stated that with each doubling of distance from the audio source, the volume should attenuate by approximately 6 dB. I decided to compare the result to a very cool plugin called Proximity by Tokyo Dawn Labs and Vladg Sound.
The result is…. It works. Very well in fact. They are similar which means that Tokyo Dawn’s Proximity must use the same algorithm as the general free field conditions. Now to make it work with Unity 3D.
Unity 5 has been announced (for perspective the latest one is 4.3.4 and I’m running 4.1.5 for this study).
Some of the main features include a mixing of audio, like properly, and the ability to snapshot and fade between mixes.
It also includes level meters. Something so small but has never been implemented as stock until 5.
Check out the other features of Unity 5 at http://unity3d.com/5
This isn’t related to the project per say, but its been announced that FMOD is free for indies under 100k.
That means that small developers now can have to power of FMOD for free… Which basically means guys like me can use FMOD to do more cool things with the audio, with ease*.
*Shameless Self Promoting Plug: So if you want to let me play about with audio on your project, hit me up.
WWise is also now free for any project that uses under 200 sound assets.
A real world test was completed to demonstrate how audio level over distance typically works within an indoor space. In theory the results should not match with the calculator built-in Max/MSP as they are for free field conditions and other audio properties such as reverberation and standing waves will affect the outcome of the level.
The experiment used 80 dB of white noise (1 metre) as its reference point. The dB SPL of the audio source was measured at each distance increase of a metre. A total of 5 metres was used for this experiment.
As expected, the audio level did not decrease 6 dB every meter. When building the Max/MSP patch, the audio level over distance model will be placed first so that other potential audio level effects (such as reverb) will be added to the signal in a more realistic way.
Although I knew the outcome of the experiment before doing it, I had no proof of the theory not matching with the real world scenario… Now I do.
Below are some images took as part of the experiment.
So I’ve found out that the decibel ratio calculation can be applied using the following calculation sourced from Angus and Howard (2006, pp.17)
Difference in dB = 20*log(Original reference distance/Distance from sound source)
It’s took a longer time than anticipated to form this calculation into a Max/MSP patch, mostly down to user error. Max/MSP is very particular of how things are spelt and expressed.
I also found an easier way to do the calculation along the way. Version 2 will be the version of the “real world” part used for the rest of the project.
Angus, J. and Howard, D. (2006) Acoustics and Psychoacoustics. Great Britain: Focal Press
I’ve noticed that Max has an update that I’m not currently running.
For stability sake though I’m going to keep on Max 6.1.2… Like I done with Unity 3D. I know there “won’t” be any issues, but if something does go kapoop my project is over there and then.
I need to remind myself to upgrade and switch back to 64-bit mode once this project is complete though. What better place than here? consider yourself reminded, me.
I was going to upgrade to the latest version of Unity 3D but on further reflection maybe its best not to. The newest version works fine and plays nice, that’s not an issue. I just figured I shouldn’t really be switching versions mid-way through a project, it doesn’t seem… safe.
I may return to the newest version later in the project (there may be a few desirable changes such as realtime shadows that tempt me). As for now though I will be sticking with Unity 4.1.5.
On a similar note, I did upgrade Sketchup during this project. But that is because it is not an integral part of this project. It will not interfere with the study if Sketchup breaks, as there is the backup of either using an older version or to use Unity 3D itself to create the demo scene maps.
There’s an even newer version of Unity 3D now (4.3.3)… I must have been / am way behind.