Sound Effect Features and Changes

Feedback on past, current, and future development.
Post Reply
Wolvman
Posts: 21
Joined: 30 Apr 2012, 15:57

Sound Effect Features and Changes

Post by Wolvman » 05 Dec 2015, 05:24

Hi everyone,

I wasn't sure whether to put this under the OpenMW-CS section or here so hopefully it's in the right place :) . Anyways I'm currently in the middle of working on an OpenMW exclusive mod (.omwaddon file) that replaces all of the original sounds of Morrowind with the higher quality equivalents from Skyrim and Oblivion. Don't worry, no sound files are being uploaded anywhere. The user has to extract the sound files themselves from the respective game's BSA archives but my mod takes care of implementing everything in-game once that is done. So with that said I have a few suggestions I'd like to throw out there that could really help me and others that are wanting to improve the sound quality for OpenMW.

1. As far as I can tell OpenMW is using "Body Fall Medium" as the default landing sound for the player and NPCs. It would be much more beneficial for modders if the default landing sound used in OpenMW was switched to the "DefaultLand" sound. I believe Bethesda intended this anyways but never got around to putting it in for whatever reason. It might even be that way in the original game. I'm not sure. Both of the sounds in the CS play the "bodyfallMED" file when used so it would make no difference to a player that wasn't using mods but for us modders it would allow us to replace the landing sound without messing up the sounds that creatures make when they fall over upon death.

2. Would there be any chance of a sound randomizing feature being implemented into the OpenMW-CS so that modders didn't have to use the extremely limited scripting method to do it? This could be accomplished by using a simple check box near each sound ID name in the OpenCS that when ticked displays a modifiable list underneath the information that is already present for the sound. The modder could then just add whatever sound files they wish to have a chance of playing when the sound is called for in-game. So for example if "ThunderClap" is called for during a storm and it has been designated in the OpenCS as a randomized container of sounds it would pick "Thunder0.wav", "Thunder1.wav", or "Thunder2.wav" from the list of sound files to be played at random. It would also be very useful to have a way of controlling the chance that a particular item on the list is chosen so that "Thunder0.wav" might be called for 80% of the time while "Thunder1.wav" is at 15% and "Thunder2.wav" is at 5%.

This would allow me to add a much wider range of variety to the current sounds that aren't possible with scripting. The sounds for thunder are just one example that cannot be modified with scripts at all as there is no way of detecting when it happens. This would also allow me to add a variety of footsteps or "Armor Hit" sounds as opposed to the single sound the game currently gives players. Right now there is no reliable way to add a variety of randomized sounds to armor strikes that would work for both the PC and NPCs without adding a script to each one individually. That is a very time-consuming, inefficient system. With the new system in place I could simply designate the "Armor Hit" sounds as a container of random sound files and have every actor in the game using them without scripts involved.

3. Texture based footstep and landing sound effects ( For snow, dirt, sand, ect. ). I know this one has probably been requested already but just to be safe here it is again in the case that someone is willing and able to code it into the CS at some point.

4. Allow setting the volume of sounds past 255. It doesn't have to be crazy high, but it would be nice to be able to increase the volume a bit more for certain sounds without having to open them up in an external program and increasing it there.

5. Allow a way to play the sound files directly from the OpenCS. This would be so very helpful.

6. The footstep sounds are extremely muffled in the current build unless you are looking directly at them. I notice this quite a bit for many directional sounds in-game as well. Perhaps broadening or loosening up the direction of the sounds in general could help with this. As it is now, some of the sounds are more like lasers that pierce into only one ear at a time as opposed to gently rolling off of one ear and lightly touching the one furthest away. This might just be me or my specific rig but I thought I'd mention it.

That's all I got for now. Thank you for taking the time to read this and sorry about the wall of text. If anything comes of it at all I'd be more than grateful. Let me know what you guys think.

Chris
Posts: 1559
Joined: 04 Sep 2011, 08:33

Re: Sound Effect Features and Changes

Post by Chris » 05 Dec 2015, 10:14

Wolvman wrote:1. As far as I can tell OpenMW is using "Body Fall Medium" as the default landing sound for the player and NPCs. It would be much more beneficial for modders if the default landing sound used in OpenMW was switched to the "DefaultLand" sound. I believe Bethesda intended this anyways but never got around to putting it in for whatever reason. It might even be that way in the original game. I'm not sure. Both of the sounds in the CS play the "bodyfallMED" file when used so it would make no difference to a player that wasn't using mods but for us modders it would allow us to replace the landing sound without messing up the sounds that creatures make when they fall over upon death.
If the vanilla game uses DefaultLand, OpenMW should as well. You can check by making a simple mod that changes the sound file DefaultLand uses, and see if it changes in vanilla. Looking at our code, it would make sense to use DefaultLand for NPCs (we already use DefaultLandWater when landing in water), but it's best to be sure.
2. Would there be any chance of a sound randomizing feature being implemented into the OpenMW-CS so that modders didn't have to use the extremely limited scripting method to do it? This could be accomplished by using a simple check box near each sound ID name in the OpenCS that when ticked displays a modifiable list underneath the information that is already present for the sound. The modder could then just add whatever sound files they wish to have a chance of playing when the sound is called for in-game. So for example if "ThunderClap" is called for during a storm and it has been designated in the OpenCS as a randomized container of sounds it would pick "Thunder0.wav", "Thunder1.wav", or "Thunder2.wav" from the list of sound files to be played at random.
This would be nice. But I think a better design would be to randomize between sound records, rather than a sound record randomizing between sound files (different files may want different volume and/or range values, for instance).
3. Texture based footstep and landing sound effects ( For snow, dirt, sand, ect. ). I know this one has probably been requested already but just to be safe here it is again in the case that someone is willing and able to code it into the CS at some point.
Material-based sounds, yes. I have to wonder how that would work though, since that would be quite an array of sounds to define (between the foot- or creature- (or weapon-)type, and the material being impacted, that would be a lot of combinations).
4. Allow setting the volume of sounds past 255. It doesn't have to be crazy high, but it would be nice to be able to increase the volume a bit more for certain sounds without having to open them up in an external program and increasing it there.
Volume 255 represents the full unattenuated sound. Increasing it higher than that risks clipping and increases quantization noise. For its part, OpenAL doesn't like increasing a sound's volume for reasons like that, although it will keep it at full volume longer as it goes into the distance so you can still hear it from farther away.
6. The footstep sounds are extremely muffled in the current build unless you are looking directly at them. I notice this quite a bit for many directional sounds in-game as well. Perhaps broadening or loosening up the direction of the sounds in general could help with this. As it is now, some of the sounds are more like lasers that pierce into only one ear at a time as opposed to gently rolling off of one ear and lightly touching the one furthest away. This might just be me or my specific rig but I thought I'd mention it.
There is still room for improvement here. Footsteps are played from the base of the actor, while the listening point is the player character's head, so with surround sound, the sound of your footsteps is positioned underneath and spreads all around you unless you look toward or away from your feet. It seemed kind of odd to me for the footstep sounds to also be localized to the listener, since it's supposed to be from the ground.

As for sounds "piercing" into one ear like a laser, are you using headphones? HRTF or crossfeed filters may help with that.

Wolvman
Posts: 21
Joined: 30 Apr 2012, 15:57

Re: Sound Effect Features and Changes

Post by Wolvman » 05 Dec 2015, 17:58

Chris wrote:If the vanilla game uses DefaultLand, OpenMW should as well. You can check by making a simple mod that changes the sound file DefaultLand uses, and see if it changes in vanilla. Looking at our code, it would make sense to use DefaultLand for NPCs (we already use DefaultLandWater when landing in water), but it's best to be sure.
So I just took a little stroll in the original game and it does in fact use DefaultLand for the impact sound after jumping/falling unlike OpenMW which is using Body Fall Medium instead.
This would be nice. But I think a better design would be to randomize between sound records, rather than a sound record randomizing between sound files (different files may want different volume and/or range values, for instance).
I like that idea even better now that you mention it. It would be an incredible game changer for audio overhaul mods.
Material-based sounds, yes. I have to wonder how that would work though, since that would be quite an array of sounds to define (between the foot- or creature- (or weapon-)type, and the material being impacted, that would be a lot of combinations).
In my head one method could be used in a similar manner as what I suggested for the randomized sound records. Simply have a small, out-of-the-way check box that could be ticked next to each ground material listed that would pop open a list that could be visibly divided into sections such as footsteps, landings, and weapon impacts. If nothing is designated then you would simply hear the default generic sound effects that openMW already has in-use. Otherwise it could randomly pick from whatever sounds you throw into the lists instead. Just my two cents on the matter.
Volume 255 represents the full unattenuated sound. Increasing it higher than that risks clipping and increases quantization noise. For its part, OpenAL doesn't like increasing a sound's volume for reasons like that, although it will keep it at full volume longer as it goes into the distance so you can still hear it from farther away.
I did not know that. Thank you for the explanation. I was just hoping for a more simple way of raising the volume on a single file. Having to crack open Audacity/Audition for each one can sometimes be a pain and doesn't allow me to change anything that I cannot upload myself. With this mod using sounds that the user has to extract themselves I cannot increase the volume of the sounds in that way. Still, I'll make do as usual :) .
There is still room for improvement here. Footsteps are played from the base of the actor, while the listening point is the player character's head, so with surround sound, the sound of your footsteps is positioned underneath and spreads all around you unless you look toward or away from your feet. It seemed kind of odd to me for the footstep sounds to also be localized to the listener, since it's supposed to be from the ground.

As for sounds "piercing" into one ear like a laser, are you using headphones? HRTF or crossfeed filters may help with that.
I do usually play with headphones on but going back through and listening with my stereo speakers it seems like the greatest offenders are indeed the footsteps and landing sounds. I usually have virtual audio turned on for my headphones when in games so that may be the culprit. Although I've noticed that in the original game when using the exact same setup things don't sound as harshly pinpointed in my ears. I had never heard of crossfeed filters before but that sounds like something that I could find useful in this case. I generally prefer sound in a game to be louder in one ear when I am looking to the left or right of it but still have a bit of sound pass to the far ear as well. As it stands, OpenMW for me seems to only play sound on the ear closest to the noise while leaving the other ear out completely. This is whether I turn on the virtual surround sound or not. However I have noticed that with the surround sound option on it does seem to help spread the sounds across both ears a very very slight amount. I'm not sure, maybe it is just me being overly sensitive. Either way it's not a game breaker of course. Just an observation.

Chris
Posts: 1559
Joined: 04 Sep 2011, 08:33

Re: Sound Effect Features and Changes

Post by Chris » 06 Dec 2015, 00:00

Wolvman wrote:So I just took a little stroll in the original game and it does in fact use DefaultLand for the impact sound after jumping/falling unlike OpenMW which is using Body Fall Medium instead.
https://bugs.openmw.org/issues/3060
I do usually play with headphones on but going back through and listening with my stereo speakers it seems like the greatest offenders are indeed the footsteps and landing sounds. I usually have virtual audio turned on for my headphones when in games so that may be the culprit. Although I've noticed that in the original game when using the exact same setup things don't sound as harshly pinpointed in my ears.
It's difficult to know what the original game is doing, whether it's using stereo output or if Windows emulates DSound3D well enough for the game to use surround sound. With virtual audio on with your headphones (which I presume is some kind of 7.1 speaker emulation), stereo output would cause less distinct sound positioning and have more blending between the left and right ears... but if it's using surround sound output, it may just be a difference in panning algorithms with OpenAL having more pin-pointed positioning, or perhaps your headphoens not emulating 7.1 quite that well (some headphones are better than others with that).

With headphones you'd ideally use HRTF mixing, which more accurately models the way sound passes around your head from various directions (including above and below) to create realistically positioned sounds. Certain versions of OpenAL have an option to do that, though I'm not totally sure which one the Windows build has (I presume you're using Windows). Hopefully with the next release, options for this will be more apparent.

Wolvman
Posts: 21
Joined: 30 Apr 2012, 15:57

Re: Sound Effect Features and Changes

Post by Wolvman » 06 Dec 2015, 04:34

Excellent! Thank you for the quick fix. I'll put it to good use as soon as it is available.
With headphones you'd ideally use HRTF mixing, which more accurately models the way sound passes around your head from various directions (including above and below) to create realistically positioned sounds. Certain versions of OpenAL have an option to do that, though I'm not totally sure which one the Windows build has (I presume you're using Windows). Hopefully with the next release, options for this will be more apparent.
That sounds very useful. I'd love to play around with such a feature and I am using the Windows build.

Now with that aside, I've run across another peculiar difference from the original game that OpenMW has. The firstperson footstep frequency while sneaking is not the same in OpenMW as that of the original. In the original the footsteps are much more frequently played and sort of happen in quick pairs with a longer pause afterwards. In OpenMW the footstep sounds while sneaking are played with MUCH longer pauses in-between each and don't seem to happen in pairs. Not sure why this is but I thought I'd put it out there for someone to look into eventually.

Lastly I've noticed that the timing on the landing sound effect is slightly delayed compared to the original game. It seems to play just a little after the player's feet have come into contact with the ground rather than at the exact moment. It becomes more apparent in first person view but I just got done comparing it to the original game to make sure. Might be worth a look at some point as well.

mychaelo
Posts: 10
Joined: 08 Aug 2014, 10:55

Re: Sound Effect Features and Changes

Post by mychaelo » 06 Dec 2015, 18:46

Chris wrote:With headphones you'd ideally use HRTF mixing, which more accurately models the way sound passes around your head from various directions (including above and below) to create realistically positioned sounds. Certain versions of OpenAL have an option to do that, though I'm not totally sure which one the Windows build has (I presume you're using Windows). Hopefully with the next release, options for this will be more apparent.
I'm using OpenAL-soft build for Windows, though I had to run the setup program to activate HRTF and point it to HRTF tables location manually. I think it works globally for all OpenAL-enabled games (if you remove the bundled openAL dll from their dirs).

Post Reply