Wednesday, August 29, 2007

AA2 - Week 6 - FMOD

"Jet" Engine

Utilising the RPM tool in FMOD I have created a jet engine simulation. I used sound files from findsounds.com (not recommended for quality). Chopping up the wave files into loopable segments was easy compared to using my FMOD session on any computer other than the one I created it on. Even if I set the audio source directory to the correct place, save off and reload the session it cannot find them. To run the session again I had to load it on computer 8 in the Audio Lab, with the folders in their exact position from when the session was created. Maybe I'm missing something? In any case, I split up the sound of a jet into several areas:

1. Starter click
2. Turbine 1
3. Turbine 2
4. Jet engine warm up
5. Jet engine throttle
6. Jet engine full throttle
7. Jet engine top speed
8. Jet engine off throttle
9. Wind resistance

Event Editor window.

I would have liked to have done a 'sonic boom' sound for just before the top speed sound, however I could not easily find a suitable sound. The tutorial was helpful in some ways, but infuriating in others, such as: "37. Add a 'Volume' effect to each layer." - without stating that this should be done after clicking on the 'load' parameter. For this reason I did not realise that the volume change effects needed to be placed on the 'load' parameters, or even that there was a difference between selecting the rpm or load parameters. I did figure it out, but only after looking at the "example.fdp" and clicking around the "car" event editor window randomly.

Sound Definitions tree.

The stereo sound I added after the fact in Audacity, just to show off my mad skillz in stereoising a mono sound.

~MP3 1.02MB~

__________________________________________________

You've got to be kidding...

Monday, August 27, 2007

AA2 - Week 5 - FMOD

Aside from the (spectacular) car example, I'm having trouble seeing the use of looping the events and fading them together etc. Is there some other use for this function? I mixed together some vocal samples, which worked okay, but the only use I could see for it in a game is maybe for a dream sequence or something, where multiple layers of voice would be quite freaky. The pitch randomisation on the vocals reminds me of a Slipknot track. Those were the days.

~FMOD.MP3 400KB~

~FMOD FILE~ (Goodluck playing anything without soundfiles)


My hierarchy, or lack thereof.


Crossfade mania


The reverb I set up

Wednesday, August 22, 2007

Forum - Week 4 - Circuit Bending: Toys

I have always wanted to mess around with toy circuitry, so this week's forum was great fun. The first toy was a Light Saber, which made sword sounds when a button was pressed. Initially Jake and I hooked up a potentiometer that run through the touchpad and resistor, which allowed us to play back the sound extremely slowly.


Then we convoluted the signal with the LED, giving it a nice bleeping effect.


Finally, we gave it a soul and set it free.



The weekly assignment was to bend some circuitry on a toy of our own.

The Rap Car


Jake and I pulled apart a little rapping car, which proudly shouts the words "Uhh, You're a Dead Man!". Unfortunately the resistors on the circuit were so small we couldn't get anything to permanently attach to it, which severely limited our outcomes.

Circuit diagram


Nonetheless, we still conjured some weird and wonderful sounds. This was the first time we tried circuit bending - by which I mean we actually bent the circuit, which can be seen in the 'gradual sound speed up' video below.

Toy car before & gradual sound speed up


Jake and I were unsure of how we were actually creating the sounds in the following clips, as we did not have anything connected that we hadn't already tried before.

Tone created with circuit & strange 'boing' sound


Our hatred of the limitations of the circuit and of lo-fi toys in general meant we had no qualms in smashing the toy to bits afterwards.

Jake's distaste for toys & my distaste for toys

Tuesday, August 21, 2007

CC2 - Week 4 - Synthesis (1) - Additive, Tremolo, RM

This was definately the most fun I've had with Max this semester- the elusive 'church organ' sound took up much of my time (to no avail). I made an additive synthesis patch, which of course uses the 'function' object as an envelope controller. The most difficult part was trying to figure out a way to make a primarily visual-based patch (re: the function object) into a poly~ object. After much deliberation (and subsequent complication) I managed to make a 16-or-so input poly-capable version, which is as much fun to use as it was to create (so, not much). Nonetheless, the gui version seems to work quite wonderfully, and can be seen in action in the .help file.


Additive synth unlocked

Additive synth poly~ edition.

Additive synth help.


Here are some samples of the sonic results.
~MP3 104KB~

And here are the patch files.
~PAT 6KB~

Monday, August 20, 2007

AA2 - Week 4 - Game Engine

Burnout Revenge uses the elusive Renderware engine. After watching Dave struggle to find anything (his game also used Renderware) and an hour or so of my own searching (you would think www.renderware.com would be a goldmine) I emailed the company only to receive no reply. Thus, the following analysis is purely my own stipulation combined with the associated Wikipedia article (which in itself is bereft of content).



Renderware has been used for numerous games, seemingly due to its ease of implementation and consistently successful outcomes. The Grand Theft Auto series are the most popular games to use the software, however this has come under criticism for a relatively unsuccessful implementation. The Burnout series uses the game engine to spectacular effect, particularly with Burnout Revenge on the Playstation 2, which has some of the best graphics ever seen on the (dated) console.



Most Renderware games that I have played (barring GTA) have had a certain Renderware 'sheen', where a crisp resolution combined with minimal anti-aliasing and a smooth framerate being indicative of its use. With the advent of in-game surround sound on the XBOX console, the Renderware engine seems to be able to cater for a range of audio technologies.




Renderware has now fallen out of use, with the last few games using the engine suffering from the engine's limitations on the next generation consoles.

Wednesday, August 15, 2007

CC2 - Week 3 - Polyphony and Instancing

This week's exploration of instancing seems to be a very important topic when it comes to audio rate data; the relief that the poly~ object would allow the CPU would be very beneficial to the smooth use of the program. A bit of a brain teaser this week was ensuring that the output from the poly object did not 'red-line'. Clip on output, in other words. This was solved by dividing the number of instances by 1, then multiplying the output by that number, eg. 8 instances= amplitude is decreased by 0.125. This ensured the optimal volume for any number of voices. I won't beat you over the head with pictures, as most of the patches look almost identical to these.

Inside bkp.cycle.poly.pat

Inside bkp.phasor.poly.pat

Phasor.poly help file.


Here are the patches.
~PAT 8KB~

This sound file is pretty plain, but you get the idea.
~MP3 82KB~

Tuesday, August 14, 2007

Forum - Week 3 - Breadboarding...

...only with a considerable lack of bread.

For something a little different, Jake and I ran my MP3 player through the ring modulator circuit. The result was quite good, however the video and sound was just typical mobile phone quality. If only we had some water and a waterproof piezo, we could have had the whole shebang. During forum, Jake and I used the waterproof piezo as a speaker inside a plastic cup of water, and picked up the (Nine Inch Nails) vibrations with another piezo jammed underneath the cup. We then swapped piezo roles- the waterproof piezo was the microphone and the piezo underneath was the speaker. The latter worked better, as moving the underwater microphone around in the glass created a variety of timbrel effects on the music (particularly when blowing bubbles through a straw). It was only fair that Reznor got a rest and Tool got a try, so this time we played 'Jimmy' through a ring modulator.


Dual potentiometers



Light sensitive potentiometer



Ring Modulated Tool

Monday, August 13, 2007

AA2 - Week 3 - Process and Planning


I have analysed a section from the XBOX game Burnout Revenge by Criterion. The Burnout series is known for its extreme realisation of speed and spectacular crashes, and Burnout Revenge is one of the fastest and most explosive incarnations. The music is inconsequential to the game, as it is simply a culmination of unheard-of pop-rock bands ("EA TRAX"), and as such I will leave it out. The beginning of the recording is main menu orientation sounds, including up/down selection, choosing selection, changing car colour etc. The race itself begins with a running start, so actual player interaction is not occurring until a noticeable change in the severity of acceleration is heard (about 4 seconds in). The ensuing sound consists primarily of engine/boost noises (player, opponents and traffic), car damage/crashes (same again) and extraneous sound (environment whooshing past, slow-motion SFX, timer or score 'dings').



Special mention must be made regarding the sound when using the slow motion feature, which is used after crashing to steer your wreckage into opponent cars. The on-screen sound has a filter placed over it which makes it sound like it has been covered with a blanket, while an avant-guard style screeching metal sound effect is placed over the top. The sound is reminiscent of sharpening a kitchen knife, or perhaps a church bell tolling in reverse. This can be heard after the boost-then-crash that occurs at 1'30". I wish I could have recorded it in stereo, however I do not want to lug my XBOX all the way into uni on a bus for an assignment that isn't actually an assignment. I had to stop writing each different crash sound heard, as there is a ridiculously large variety. I recall that for Burnout 3: Takedown onwards (Revenge is #4) the developers had the backing of Electronic Arts as their publisher, so the in game sound effects are mostly real recordings. They used real cars and smashed them up with bricks and axes and (of course) other cars, building up a library of sounds that could be layered up at convenient points in the game. As most of us know, the perfect sound effect for an object does not necessarily require that object to make the sound (eg. coconuts for horse hoofs), however the use of real cars for the sounds of twisting metal and smashed windscreens etc. is very believable in Burnout Revenge.



The realisation of speed is helped by the 'whoosh'-ing that occurs fairly frequently during gameplay, triggered by passing traffic, opponents or significant landmarks such as bridges, trees or even road signs. In surround sound (or even stereo) the speed at which the whoosh moves past is analogous to the speed the player is moving past the object, which makes the extreme speed seem all the more treacherous.





~MP3 1.77MB~

~XLS 35KB~

I only did a couple file names, as you get the idea pretty quick. Of course if this was real it would have all of the file names.

Wednesday, August 08, 2007

Forum - Week 2 - Piezo Party

I have kowtowed to popular culture- here is my youtube videos. Ugh. I am having most fun with the soldering iron- I fixed a bass guitar and created a lead for it. Huzzah, I hear you say, well my reply to that is I don't appreciate sarcasm. Oh, you meant it? Well aren't you just the model citizen, you've got my vote in the next council election.

Tuesday, August 07, 2007

CC2 - Week 2 - Signal Switching and Routing

..........................*sigh*.

After 6 hours I decided to stop, as I was approaching the point of extreme frustration. To 'add mute functionality' to the patches, the mute~ object needs to be sent into the patch from outside. This would technically not be adding mute~ functionality to the patch, as the mute~ object would need to be placed outside of the patch itself. I ended up just encapsulating the interior of the patch into an embedded patcher object, and running the mute~ into that so all that was required from outside of the patch would be a toggle. I don't believe this was a very economical way of muting a patch, but it seems to be the only way to include mute functionality.

My other time consuming (and as yet unresolved) problem was the use of arguments to a Bpatcher. I am aware that you place #1 etc. on an object within the patch and that gets replaced with the corresponding argument. I just wanted to send a hslider an argument, so I connected a message box to it with #1 written in it. Upon testing, the argument replaced the #1, however the number was not sent to the hslider. I queried Dave on this, and when showing me his patch he had the same problem- the argument not being sent from a message box. I moved on to creating the gui, of which I spent (and will subsequently spend) minimal time on considering the detrimental waste of time it was last semester.

I know we did not have to read the tutorials this week, however I ended up having to read them anyway to even remotely complete the task. I did not complete the two new objects, although the phasor~ etc. tutorials seemed to make sense. Actual implementation of the information into two new objects would add another 2 hours, so yeah. No.

~MSP Files .ZIP 5KB~


Monday, August 06, 2007

AA2 - Week 2 - Game Audio Analysis

Surprise, surprise.

The game I will be aurally exploring is Halo: Combat Evolved (2001), developed by Bungie Studios. Halo was a release title on the original XBOX, and was also one of the first console games to use digital 5.1 surround sound in-game. The level I concentrated on was beginning of level 4, "The Silent Cartographer", as the first 3 minutes of this level has quite intense layering of music and SFX, especially when heard in full 5.1. ~This audio recording (3.1MB)~ is of me playing the PC counterpart, with the sound quality set to maximum so it almost sounds like surround sound (when through headphones). ~This youtube link~ is a very amateur run through the start of the level, probably on the PC version (note the lack of water VFX, and player invulnerability. n00bs). A free PC Demo of the level can be downloaded from Bill himself.

Aerial shot of the start point.


The level starts with a cut scene of dropships flying over an ocean, approaching an island. The music is a full orchestral score, with a female voice over, radio chatter and the sound of the dropship engines also heard. The camera changes to first person, revealing that you are on one of the dropships. As the dropships 'drop' you off on the beach, your allies open fire on the (alien) enemies, often shouting cheers of enthusiasm or shouts of panic and sometimes asking for assistance, depending on the ferocity of the enemy. The enemies are equally chatty, shouting alien obscenities ("Wort! Wort! Wort!") or screaming in fear as they see their squad depleted around them; Halo is noted for having 'over 3,000 unique vocal excerpts' (1).

First person view from the dropship


In this first section of the level there are 7 different weapons being used, all of which have distinctive sounds, such as the predictable combustion sound of the human pistol and assault rifle, or the electronic 'fizz' sound of the alien plasma weapons. The guns have mechanical and muzzle sound, and the bullets themselves also have airborne sounds and impact sounds which change depending on the type of bullet and what the bullet is hitting. Explosions are frequent, with human and alien grenades being used by each side respectively. At the end of this initial fight, the music track finishes conveniently close to when the last enemy is killed, normally with an actual musical 'outro' rather than a simple fade-out. This occurs numerous times throughout the game, where a soundtrack for a particular action sequence will play until the objective is completed, at which point the music moves into the outro of the piece. Composer Marty O’Donnell has said that the score “could be dissembled and remixed in such a way that would give [it] multiple, interchangeable loops that could be randomly recombined in order to keep the piece interesting as well as a variable length.” He also made “alternative middle sections that could be transitioned to if the game called for such a change (i.e. less or more intense)” (2).

In 5.1 all sound effects occur in real-time surround, so plasma bullets can be heard whizzing past, or team-mates shout from behind you and fire off rounds past your head. The use of 5.1 becomes a gameplay mechanism, as identifying enemy positions is much faster when you know not only that they are behind you, but their general direction in a 360ยบ space.

A ground-breaking (at the time) aspect of the sound in Halo is the 'SFX context mapping' (for the lack of the real name), where a sound occurring in one environment will sound different to the same sound occurring in a different environment. The reverberation time and timbrel quality of the reverb changes depending on the size of the space, with small rooms having a very closed-in sound and gigantic rooms having huge reverb and echo qualities. The size and timbre of the reverb is processed in real-time, with actual room dimensions used in the calculations (1). In addition to this, the speed of sound is also coded, such that the further away a sound occurs the longer it takes to reach your ears. Such effects help to increase the spatial realism of the game's environments.

NERD.

1. Ben Probert's memory of Australian XBOX Magazine.
2. Aaron Marks and Martin O'Donnell "The Use and Effectiveness of Audio in Halo: Game Music Evolved" http://www.music4games.net
3. Christian Haines. "Audio Arts: Semester 2, Week 2. Game Audio Analysis." Lecture presented at the Electronic Music Unit, University of Adelaide, South Australia, 31st July, 2007.

Wednesday, August 01, 2007

Forum - Week 1 - Victorian Synth

This is late as I had trouble uploading the video.

This week's forum was quite stimulating to me, and not just the battery-licking incidences. I had never thought of such a thing as the Victorian Synth (if can even be denoted a synthesiser) so it was great fun experimenting with analogue sound creation. In fact, I wonder if it technically "digital" sound, as it is produced using on and off cycles. Semantics aside, I built an automated tapping machine (= FUN!), where the + of a battery is connected to the + of a speaker, and the - of the speaker is connected to a piece of aluminium covering the front of the speaker. When the - of the battery comes in contact with the aluminium (still with me?) the speaker pushes out, moving the aluminium. I set this up so when the speaker pushes the aluminium, the - of the battery is disconnected from the circuit, and thus the speaker and aluminium move back, allowing the - of the battery to reconnect. This creates a loop, the speed of which depends on the amount of pressure applied on the aluminium from the object carrying the - battery charge. While I was doing this, Will created 'Electric Popcorn' with a similar premise to mine, however the completion of the loop depended on the popcorn (little balls of aluminium) allowing a constant flow to the outer aluminium 'bowl'. On Wednesday Will and I got back together to create a symbiotic amalgamation of our ideas, and included a third which was a speaker on its side that would push pieces of 'popcorn' up a slope, which would then slide back down to be pushed back up again. Raucous fun! Dave was enthralled. Will's synth ran off of its own battery, however we set his up so the continued popping of his popcorn would rely on my tap-tap-tapping. I never thought I'd have to say a sentence like that. Experience. The difference.

Here's the amalgamation.
~VSynth.MP4 930KB~

Here's Will's popcorn in the dark, so you can see the sparks.
~ElecPop.MP4 123KB~