PDA

View Full Version : Request for Audio Tutorials



Tom@engineaudio
11-20-2009, 04:05 PM
There are some cool new features in the UDK when it comes to audio. Ambient Zones and Ambientsound-Movable to name a couple. Could someone create some basic tutorials on how to use and implement the new features?

I know that audio is almost always the last to get noticed with tutorials and documentation, so I will be an advocate for some.

Here are some great links to some UT3 based audio tutorials, and they are great. I hope some are made soon for the new features.

Hourences is a great resource
http://book.hourences.com/tutorialsue3sound.htm

http://www.howcast.com/videos/89546-UT3-Ambient-Sound

Great Music tutorial from Zynthetic
http://zynthetic.ambientcollapse.com/index.php?option=com_content&task=view&id=34&Itemid=26

introvert
11-20-2009, 04:31 PM
I'm planning to assemble something for this. Still undecided on whether to do videos or just text w/ screenshots. I've been swamped at work, which has prohibited me from doing this.

Tom's right, this is desperately needed. The official documentation is weak. I just picked up the "Advanced" Mastering Unreal book and was appalled at the information in the audio chapter. It was bare bones, and some of it was either inaccurate or promoted bad implementation practices.

I'll see what I can do to dig out from the pile of work and get something done here.

Mark Kilborn
Sound Designer
www.markkilborn.com

lubitel
11-20-2009, 04:46 PM
Great find the zYnthetic site.


We l keep an eye and an ear open for more coming from you guys:)

Tom@engineaudio
11-20-2009, 05:46 PM
Just how many places do you intend to be awesome from Mark? lol

I am going to work on some basic video tutorials for the actor classes and intro topics, but some more advanced skill based tutorials for people already comfortable with the audio side of Unreal would kick butt.

The Tutorial UT3 map that the IASIG guys put together is awesome, if you haven't checked it out yet.

Lunazure
11-20-2009, 07:33 PM
I'm in the same boat as Mark. I've been really eager to get some serious audio tutorials on here, but I've been completely swamped throughout the past week. I'm hoping I'll have time this weekend to put something together.

Chris@EngineAudio
11-20-2009, 08:43 PM
The IASIG interactive audio demo that Tom mentioned is very informative for anyone who needs good examples of how to do audio properly in the engine. I learned a lot from just running around and listening to all of the examples, especially how to make audio react as I needed using Kismet.

Watch the video - http://www.youtube.com/watch?v=tmVpEZp0YA0

Download the map - http://www.iasig.org/wg/eduwg/edu_tutorial.shtml


Yesterday Epic opened the Distance Model Attenuation (http://udn.epicgames.com/Three/DistanceModelAttenution.html) page (thanks Steve!) which has some great information about how Min/Max Radius effects how you hear your sounds. The new UDK has greatly improved the quality of distance models and rolloff filters. They work!

Hmmm....I once remember Mark mentioning somewhere that there may be an "Unreal Audio Tricks For Fun And Profit!" document that might be out there. Could that be true? :eek: :cool: That's what I get for doing extensive google searches for any information on the unreal audio system. We can help if you would like.

introvert
11-21-2009, 04:16 AM
Unreal Audio Tricks for Fun and Profit was a series of articles I intended to write for my web site. I'm shocked you found that via google. Again, work got in the way. I've been absolutely swamped for the last several years between day job work at a game studio and contract work at night, so it's never happened.

I was also a bit discouraged when I started looking at a UT3 build to see what I could do a tutorial about. So many of the cool things I do day to day are dependent upon source-level modifications that simply aren't possible with UT3/UDK. That said, UDK is running on a much more recent build than UT3, so that's encouraging. They've even got the new occlusion stuff in there.

I'll put something together. I'll work up a list of advanced-level topics tomorrow over lunch and try to put something together by Christmas. I imagine the first one will be the hardest to do. Are there any specific subjects people would like me to talk about, either in tutorial form or just in a post here?

introvert
11-21-2009, 04:31 AM
Here, just wrote this up. Some of this may exist in UDN, some may not. I don't know. All of these appear to work in UDK. I don't know if they work in UT3. I don't use these builds often, but I will test things in UDK quickly before I post about them.

USEFUL CONSOLE COMMANDS

stat audio - shows you various stats about what the audio engine is up to

Audio Components/Sources is relevant, it will show you how many active audio components you have active. If you're blowing past your limit, you will start to hear voices drop. UDK lacks virtualization/priority afaik, so voices will drop randomly and looping sounds likely won't return. You really need to watch this closely and keep your ears open as your maps approach a finished state.

Wave Instances doesn't seem to be working. Odd.

Memory isn't really relevant on most PCs, but on consoles you have to watch this like a hawk

stat soundwaves - shows you all of the sound waves currently being played by audio components in the world
Useful for troubleshooting issues with stacking sounds.

setsoundmode <ModeName> - Forces a sound mode to be active. All SoundModes should be stored in SoundClassesAndModes.upk. Do not save them elsewhere. As long as you've saved your soundmodes to that package, all you have to do is type the name of the Mode asset you've created when using this command
When I'm mixing (usually around beta) I generate a handful of sound modes that let me solo certain groups of sounds via soundclasses. Weapons, Ambience, Player sounds, Enemy sounds, non-spatialized sounds are all good candidates. You need to build a sane soundclass structure at the start of your project and maintain it throughout. That would probably be a good article by itself.

setAudioGroupVolume <GroupName> <Volume> - Forces a multiplier on a soundclass in the same way a soundmode does.

ex. setAudioGroupVolume Weapons 0.5

Good for quickly turning things up and down for testing purposes. I find myself using this to axe music a lot when I need to listen carefully to what's going on in the map.

stat levels - Not really audio-focused, but shows what levels are loaded, which are hidden, which are unloaded (but still associated with the persistent). I generally have sounds in their own map, sometimes several maps (one for each zone of a larger persistent level), and then music in its own map as well, so this is good for troubleshooting. Sometimes people forget to stream maps in and say "Hey audio guy, why is the map silent?" This helps me point the finger at them and say "Hey, you said you'd handle the streaming and you forgot the audio map. Fix it kismet monkey!"

Music especially is worthy of placing in its own map. I like to have a map per piece of music, and a music "master" map that loads the individual music maps in and out of memory as necessary when the player moves through the map. This technique is more useful in a single-player context, not for multiplayer, but it's very helpful in keeping footprint down on consoles. This is how you avoid situations where you've got 10 music pieces loaded, and someone starts screaming at you about the 12MB of music you've got loaded throughout the ENTIRE level. Could be another tutorial as well.

I'll think of more stuff to write.

fredrarrojar
11-21-2009, 12:15 PM
Hi Tom.
Myself Roger from United States, Just read your post regarding tutorial on game design.
I am a C programmer, I had made lots of small games using C programming, this language
contains lots of inbuilt library function which can be implemented as per the user's need.
Thanks for your post and stay in touch.

Chris@EngineAudio
11-24-2009, 12:02 AM
That is some great info about how to use the audio stat commands. I have read this UDN article about audio stats before, but your post gives insight on how better to use them:
http://udn.epicgames.com/Three/StatsDescriptions.html#STAT%20AUDIO

I am interested on learning more about troubleshooting audio as the game runs. I have used the remote control to view some real time stats but haven't had much success with it for audio purposes. Is there a good way to see the placement of sounds in the level while playing the game?

Can we see min/max radius in game? I have turned on bounds but haven't been able to pinpoint the sounds.

Is there a way to show/hide sound actors? Showflags haven't worked as I expected.

Is there a way to solo/mute single sounds as the game runs? Or is this best done with groups and soundmodes?

Any kismet audio tricks?

Andrewbean90
11-24-2009, 10:07 PM
with audio add sounds or music to background like looping a sound of thunder

ShawnEatsWorld
11-25-2009, 02:03 PM
Unreal Audio Tricks for Fun and Profit was a series of articles I intended to write for my web site. I'm shocked you found that via google. Again, work got in the way. I've been absolutely swamped for the last several years between day job work at a game studio and contract work at night, so it's never happened.

I was also a bit discouraged when I started looking at a UT3 build to see what I could do a tutorial about. So many of the cool things I do day to day are dependent upon source-level modifications that simply aren't possible with UT3/UDK. That said, UDK is running on a much more recent build than UT3, so that's encouraging. They've even got the new occlusion stuff in there.

I'll put something together. I'll work up a list of advanced-level topics tomorrow over lunch and try to put something together by Christmas. I imagine the first one will be the hardest to do. Are there any specific subjects people would like me to talk about, either in tutorial form or just in a post here?


Hey Mark. While there are some great tutorials on ambient related sound, it would be great to learn more about implementing footstep sounds and weapon sounds.

Is there any information out there related to these topics?

introvert
12-02-2009, 12:06 AM
Chris:

There's no way to see this visualization afaik. I have tools like that in the build I use at work, but we've had to build them ourselves. I don't believe this is something that can be accomplished in script, but I'm not an expert on the code side. One of the UnrealScript maestros around here could probably answer that question.

For muting/soloing single sounds, there's no easy way around it. I keep a set of "solo" SoundModes in the SoundClassesAndModes package that I use for soloing. One for each soundclass I've got in the game. I also tend to create a handful of soundclasses called Exception01-04 that can be used for soloing single sounds, but you have to set the sound to that class before running the game. Kind of a pita. Those Exception classes are great for mixing too btw. Sometimes I will fire off soundmodes via kismet to highlight a special event, for example an explosion. I'll assign the explosion sound to one of the Exception soundgroups, then I'll switch the active soundmode to one called highlightException01. That mode will duck the rest of the classes by a certain amount (usu 3-6dB), and apply a bit of high end rolloff to them. It lets the explosion punch through the mix. Once the explosion has fired I'll switch back.

There's no easy way to do this automatically in UDK. This something you'll have to set up in Kismet using the SetActiveSoundMode seqact object (I think that's what it's called). It CAN be set up to trigger from a cue, but I think that's something a code maestro at the office hooked up. Maybe it can be done in UC, I don't know. Again I defer to the code guys on this forum.

Also, I will think of some more kismet audio tricks to post. Things have been a bit busy at work, and with Thanksgiving, so I haven't had a chance to write much. It's in the back of my mind though.

ShawnEatsWorld:

I'll write something up for that if you like. The quick version, for footsteps, is this:

Open the animation package that contains the walk/run anims
Pick the Anim tab at the top left, then pick the walk/run animation you need to add footsteps to
Go to the AnimSequence tab in the editor window at the bottom left
Add a new notify to that animsequence by clicking the green plus sign to the right of Notifies
Change the type to AnimNotify_Footstep using the blue downward arrow to the right of your notify
Make sure the time for that notify matches the time of the footfall in your anim
Set the appropriate number for Foot Down. 0 should be left, 1 should be right

That's it for the animation side. So what happens with footstep notifies is this: when the anim keyframe hits, the engine will draw a trace downward from the foot bone. It will check the first material it hits. So you need to ensure that whatever floor surface your character is running round on has a physical material (in Mark's lazy terminology: physmat) applied. These materials can be found in the PhysicalMaterials.upk package, which should be in the Environments folder in the default UT3 content that ships with UDK.

Do note that the trace is coming from somewhere. It should be the foot, but the way they're doing it is different than how I do it, and looking at their UTPawn.uc is making my head hurt. It LOOKS like they're actually drawing a trace from the center of the actor, which seems weird to me, then playing the sound from the appropriate bone on the character's rig. Maybe a script guy would like to have a look to be absolutely sure. It's in UTPawn.uc, simulated function name GetMaterialBelowFeet(). The playback function is directly above that one.

So here's where it gets weird. You used to be able to assign these soundcues to the physmat by simply opening the properties of the asset from within the PhysicalMaterials package. In UDK, however, it looks like they're making the connection in the UTPawn. No clue why they would do that, seems like it makes it more complicated. Either way, in order to change these properties, you will need to change them in script. Go to the following file:

Development\Src\UTGame\Classes\UTPawnSoundGroup.uc

Toward the bottom of that file you will find a defaultproperties block. In there you can change your default footstep, jump and landing sounds. Be sure you put the correct path to your new cue in there. There's another file, UTPawnSoundGroup_Liandri.uc, that's an extension of the above. I'm not sure what it's being used for.

Not so quick huh?

For weapons, I'll have to get back to you. They're doing this in a VERY different way than I'm used to. It looks like they're hooking them up in UC as well, but I would have to do a little detective work to find out where.

That said, does anyone have a recommendation for an IDE to work with UC? I'm using VS2k8 at work, but I don't have that here. Something cheap/free would be nice.

Tom@engineaudio
12-03-2009, 11:00 AM
I am simply going to follow Mark around in different forums simply saying WOW!

I have to give a big thank you to 3D buzz for making the kind of quality tutorials they always do. As well as Epic for the smart business sense to offer the UDK to the public and the Educational community.

However, people who work with these tools professionally on a regular basis, and stop by to help those of us learning, should have some kind of extra tag given to their avatar or something!

I can only hope that there are actually code and script wizards (like Mark mentioned) willing to do the same, and plug in the holes that he mentioned.

ShawnEatsWorld
12-08-2009, 03:12 PM
Introvert,


Thanks a bunch for typing this up!! I'm going to give this a shot, I'll let you know how it goes.

If you're up for it and have the time, a tutorial would be great as the info on this topic is minimal.

Thanks again,

RJM74
12-09-2009, 12:10 PM
Very informative and useful information, thankyou.

As for an IDE, there is someone on the forum who is working on an IDE for use with Unreal Script at the moment, you can find the link to the thread here. http://forums.epicgames.com/showthread.php?t=710602

ShawnEatsWorld
12-11-2009, 12:44 PM
So I've been working on my sounds for the link gun.. and here's how stuff is hooked up (thx to this forum search and some trial and error).

Navigate to
C:\UDK\UDK-2009-11-2\Development\Src\UTGame\Classes

For the actual firing sound, pickup sound, etc, check out this file..

UTWeap_LinkGun.uc

At the bottom you'll see
WeaponEquipSnd=SoundCue'A_Weapon_Link.Cue.A_Weapon _Link_RaiseCue'
WeaponPutDownSnd=SoundCue'A_Weapon_Link.Cue.A_Weap on_Link_LowerCue'
WeaponFireSnd(0)=SoundCue'A_Weapon_Link.Cue.A_Weap on_Link_FireCue'
WeaponFireSnd(1)=SoundCue'A_Weapon_Link.Cue.A_Weap on_Link_AltFireCue'

Scroll down a little further...

PickupSound=SoundCue'A_Pickups.Weapons.Cue.A_Picku p_Weapons_Link_Cue'

The periods here are referring to the folder hierarchy within the content browser. Plug your own sound in here and walla. Re-launch the UDK and it will rebuild.

The sound for when the gun hits a wall or object is actually found in a different file

If you look in -

UTProj_LinkPlasma.uc You will find...

ExplosionSound=SoundCue'A_Weapon_Link.Cue.A_Weapon _Link_ImpactCue'

The best way to locate where sounds are hooked up is to right click on the UT3 sound cue you're interested in modding, and then click "list references to this sound". UDK will then show you which .uc file the sound is hooked up to!

Have Fun!

Kudos to the original post which led me to learn a lot more about this engine!
http://forums.epicgames.com/showthread.php?t=709068


I should also note that I've been using conTEXT editor with the unreal highlighter for editing code. Check it out http://www.contexteditor.org/

GamerKnight
12-12-2009, 05:58 PM
yep also would like some as well.

Thank for the other links guys. keep up the good work.

BirthNight
01-05-2010, 07:45 PM
WOW - nice work ShawnEatsWorld! I'm learning UDK right now and have had a hard time getting info on this and you just layed it all out there. Thank you so much man, you've really made my job a million times easier :)

polemos
02-09-2010, 09:55 AM
I am having trouble with my maps audio, i was reading these posts and you guys really know your stuff and can maybe help me, here's my Issues;

*I have sounds hooked up to animations - but they don't play when I want because the animation tree does blending so its blending the walk and run animations and playing my run sounds too early, how do you make sure your sounds don't get called when your blending into animations.

*I am now using UDK and UDK does not have sound variables like ut3 in kismet, at least not for me, eg. no music bank variable. why not? and how do you handle music banks now?

*last ? sorry...how do you create a music info object I don't see it anywhere I right clicked in the content browser no luck and in the actor classes info section nothing?

any help will be appreciated Thanks in advance!