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 YOUR 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.

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Skrell » Tue Feb 15, 2022 8:47 pm

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?
Skrell
 
Joined: 25 Mar 2013

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Caligari87 » Wed Feb 16, 2022 11:45 am

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-)
User avatar
Caligari87
User Accounts Assistant
 
Joined: 26 Feb 2004
Discord: Caligari87#3089
Github ID: caligari87

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Skrell » Wed Feb 16, 2022 12:31 pm

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"?
Skrell
 
Joined: 25 Mar 2013

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Caligari87 » Wed Feb 16, 2022 12:47 pm

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

example:
Code: Select allExpand view
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-)
User avatar
Caligari87
User Accounts Assistant
 
Joined: 26 Feb 2004
Discord: Caligari87#3089
Github ID: caligari87

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Skrell » Wed Feb 16, 2022 1:13 pm

Ohhhhh NOW I get it! VERY interesting look "under the hood" !
Skrell
 
Joined: 25 Mar 2013

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Skrell » Thu Feb 17, 2022 3:32 pm

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

example:
Code: Select allExpand view
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?
Skrell
 
Joined: 25 Mar 2013

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Caligari87 » Thu Feb 17, 2022 4:42 pm

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 REVERBS 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
Caligari87
User Accounts Assistant
 
Joined: 26 Feb 2004
Discord: Caligari87#3089
Github ID: caligari87

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Sunbeam » Mon Feb 21, 2022 1:56 am

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
Sunbeam
 
Joined: 09 Apr 2013

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Enjay » Mon Feb 21, 2022 7:04 am

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
Enjay
Everyone is a moon, and has a dark side which he never shows to anybody. Twain
 
 
 
Joined: 15 Jul 2003
Location: Scotland

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Caligari87 » Mon Feb 21, 2022 12:16 pm

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
Caligari87
User Accounts Assistant
 
Joined: 26 Feb 2004
Discord: Caligari87#3089
Github ID: caligari87

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Chris » Tue Feb 22, 2022 12:02 am

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
Chris
 
Joined: 17 Jul 2003
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: ATI/AMD with Vulkan Support

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Sunbeam » Tue Feb 22, 2022 11:52 am

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
Sunbeam
 
Joined: 09 Apr 2013

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Dan_The_Noob » Thu May 26, 2022 2:13 am

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
Dan_The_Noob
 
Joined: 07 May 2019
Twitch ID: Dan_The_Noob
Operating System: Windows 10/8.1/8/201x 64-bit
Graphics Processor: nVidia with Vulkan support

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Sunbeam » Thu May 26, 2022 2:06 pm

That happens when you're low on health. It's an optional effect that can be disabled from the game's menu.
User avatar
Sunbeam
 
Joined: 09 Apr 2013

Re: LiveReverb - dynamic reverb for all Doom maps!

Postby Dan_The_Noob » Fri May 27, 2022 1:37 am

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
User avatar
Dan_The_Noob
 
Joined: 07 May 2019
Twitch ID: Dan_The_Noob
Operating System: Windows 10/8.1/8/201x 64-bit
Graphics Processor: nVidia with Vulkan support

Previous

Return to Gameplay Mods

Who is online

Users browsing this forum: No registered users and 12 guests