LiveReverb - dynamic reverb for all Doom maps!

Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
Skrell
Posts: 353
Joined: Mon Mar 25, 2013 11:47 am

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Skrell »

Sunbeam wrote:I'm happy that you enjoy the mod so much! Thanks for your kind words. :)
2 small things that I think can bring this mod to perfection:
1. Is there a better way to transition sounds from a large room to an outdoor area? The sounds just sharply stop with no warning.
2. Is there a way to dampen the sounds sooner? Some of the reverbs get crazy loud and it starts to get "unrealistic" bc I guess in real life some of the echoes would get absorbed in the materials so it might dampen the echos faster?

Thoughts?
User avatar
Caligari87
Admin
Posts: 6189
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Caligari87 »

Neither of those is really possible. Sound environments are distinct presets of values. There's no way to smoothly transition between them, you just pick a new preset based on some criteria (in this case, the room size). A different preset could be substituted if you dislike how a current one sounds.

The only way to do this more smoothly would be if ZScript got direct control over reverb environment parameters instead of just presets, but that's been requested many times and hasn't happened yet for various reasons.

8-)
Skrell
Posts: 353
Joined: Mon Mar 25, 2013 11:47 am

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Skrell »

Caligari87 wrote:Neither of those is really possible. Sound environments are distinct presets of values. There's no way to smoothly transition between them, you just pick a new preset based on some criteria (in this case, the room size). A different preset could be substituted if you dislike how a current one sounds.

The only way to do this more smoothly would be if ZScript got direct control over reverb environment parameters instead of just presets, but that's been requested many times and hasn't happened yet for various reasons.

8-)
I thought you had implied elsewhere in this thread that you calculate the amount of reverb dynamically based on the dimensions of the room? If so, then what is "preset"?
User avatar
Caligari87
Admin
Posts: 6189
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Caligari87 »

The preset is what's used to apply the reverb. This mod just picks different [wiki]REVERBS[/wiki] presets based on the calculated room size.

example:

Code: Select all

if (calculated_roomsize < 2000 { reverb_preset = "Factory Alcove" }
If (calculated_roomsize > 2000) { reverb_preset = "Factory Small Room"; }
if (calculated_roomsize > 10000) { reverb_preset = "Factory Large Room" }
This is the best we can do until (if ever) direct control of the reverb parameters is exposed to scripting.

8-)
Skrell
Posts: 353
Joined: Mon Mar 25, 2013 11:47 am

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Skrell »

Ohhhhh NOW I get it! VERY interesting look "under the hood" !
Skrell
Posts: 353
Joined: Mon Mar 25, 2013 11:47 am

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Skrell »

Caligari87 wrote:The preset is what's used to apply the reverb. This mod just picks different [wiki]REVERBS[/wiki] presets based on the calculated room size.

example:

Code: Select all

if (calculated_roomsize < 2000 { reverb_preset = "Factory Alcove" }
If (calculated_roomsize > 2000) { reverb_preset = "Factory Small Room"; }
if (calculated_roomsize > 10000) { reverb_preset = "Factory Large Room" }
This is the best we can do until (if ever) direct control of the reverb parameters is exposed to scripting.

8-)
How are the presets generated?
User avatar
Caligari87
Admin
Posts: 6189
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Caligari87 »

So far as I can tell the existing presets were probably made years ago by Creative Labs for their SoundBlaster EAX technology, which became OpenAL EFX under the GPL, the sound engine GZDoom currently uses.

You can see the presets listed in gzdoom.pk3 in the reverbs.txt lump. They seem likely to have originated from this file on OpenAL or a similar one.

It's possible these were made by sampling real-life environments to get things like impulse decay, frequency absorbtion, etc. It's also possible they were made by hand. Or some combination of the two. I really don't know.

It's possible to define your own presets with the [wiki]REVERBS[/wiki] lump if you desire. The Dark Mod Wiki (an idtech4 / Doom 3 standalone game) has a detailed page on what each of the parameters does.

For this mod, LiveReverb, I believe Sunbeam just set some arbitrary thresholds for room size and experimented until they found a preset that sounded good for each size.

This is the extent of my knowledge and speculation on the subject.

8-)
User avatar
Sunbeam
Posts: 104
Joined: Tue Apr 09, 2013 4:38 am

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Sunbeam »

Caligari87 wrote:There's no way to smoothly transition between them, you just pick a new preset based on some criteria (in this case, the room size).
If I remember right something like this was possible with "real" EAX back in the day. Later versions like version 4 or 5 (don't remember) had something to interpolate between presets when changing zones in game levels, for example (for games in general, not Doom).
Caligari87 wrote:For this mod, LiveReverb, I believe Sunbeam just set some arbitrary thresholds for room size and experimented until they found a preset that sounded good for each size.
And that is exactly what happened. 😁
Thanks for your explanation. 🙂
User avatar
Enjay
 
 
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Enjay »

Sunbeam wrote:If I remember right something like this was possible with "real" EAX back in the day. Later versions like version 4 or 5 (don't remember) had something to interpolate between presets when changing zones in game levels, for example (for games in general, not Doom).
That's interesting.

I can't speak for the historical situation (I did have an EAX Creative card, but simply have no recollection of the transitions you mentioned - possibly precisely because they were working well and therefore not noticeable). However, even on modern AAA games, I have certainly noticed abrupt environment changes when entering/leaving buildings etc. So, yeah, definitely not just Doom.
User avatar
Caligari87
Admin
Posts: 6189
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Caligari87 »

I know that there is a transition period for reverb environments. It's just extremely short (<100ms I believe) and is mostly there to avoid harsh clipping sounds.

From what I understand changing this transition period, and/or other things to make reverb environments more useful, is certainly within the realm of possibility for GZDoom. However it seems very low priority for the devs. There's discussion, it's just mostly hypothetical right now.

8-)
User avatar
Chris
Posts: 2945
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Chris »

Sunbeam wrote:If I remember right something like this was possible with "real" EAX back in the day. Later versions like version 4 or 5 (don't remember) had something to interpolate between presets when changing zones in game levels, for example (for games in general, not Doom).
Yes, it's possible on a technical level, but GZDoom doesn't expose any controls to do it. It currently only allows setting a predefined environment through a reverb object placed in the map. At some point, it's expected that there will be a way for scripts to modify the individual reverb properties, rather than selecting from predefined environments, which will allow scripts to do whatever environment blending they want.
User avatar
Sunbeam
Posts: 104
Joined: Tue Apr 09, 2013 4:38 am

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Sunbeam »

You can see here (https://en.wikipedia.org/wiki/Environme ... ns#EAX_3.0) that Creative added something to interpolate between sound environments. I'm not sure that's the same thing. However I remember seeing Youtube videos where some kind of interpolation was shown.

Let's see what the GZDoom devs come up with in the future. :)
User avatar
Dan_The_Noob
Posts: 874
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Dan_The_Noob »

I just gave this a try but it went from slightly noticeable to suddenly the whole map sounded like an underwater effect from duke nukem
User avatar
Sunbeam
Posts: 104
Joined: Tue Apr 09, 2013 4:38 am

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Sunbeam »

That happens when you're low on health. It's an optional effect that can be disabled from the game's menu.
User avatar
Dan_The_Noob
Posts: 874
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: LiveReverb - dynamic reverb for all Doom maps!

Post by Dan_The_Noob »

Sunbeam wrote:That happens when you're low on health. It's an optional effect that can be disabled from the game's menu.
OHHH

Return to “Gameplay Mods”