Jump to content
The Dark Mod Forums

Search the Community

Showing results for tags 'reverb'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General Discussion
    • News & Announcements
    • The Dark Mod
    • Fan Missions
    • Off-Topic
  • Feedback and Support
    • TDM Tech Support
    • DarkRadiant Feedback and Development
    • I want to Help
  • Editing and Design
    • TDM Editors Guild
    • Art Assets
    • Music & SFX

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







Found 2 results

  1. With TDM 2.06 mappers and players can use OpenAL EFX system, which is basically an open-source software replacement for systems like EAX, which, at the time, was available only for dedicated hardware by Creative. This allows us to set reverb definitions for rooms, and in my opinion, it's a game-changer for TDM FMs. If you ever played old Thief games with EAX-enabled hardware, you know what I mean. Otherwise, try playing Kingsal's Volta and the Stone with EFX On and Off to see the difference. It's a new life for game environments. The EAX reference page in the Wiki can be quite intimidating though, there are many values to tinker with. I have some basic sound recording experience, but I'm not an audio guy. The purpose of this thread is to create clear guidelines for other non-audio guys. If you're an audio guy, these values will be familiar to you, because you can find similar parameters in Reverb plugins, e.g. for Adobe Audition. (Btw. feel free to correct me whenever I'm wrong about something.) First off, your map has to use location system. EFX system needs location names, and it will define reverb per location. It also needs location separators touching visportals to make proper transition between reverb for different locations. Create 'efxs' folder in your project root folder, create a text file map_name.efx, and open it. Now, first thing EFX system needs is a version number, so every .efx file needs start with Version 1 (I don't think any other number works). So, a typical .efx file with room definitions looks like this: Version 1 reverb "location1_name_here" { values here } reverb "location2_name_here" { values here }etc. And that's it. It seems like you don't need to include every parameter you see in the Wiki reference. Some variables don't do much or hardly do anything. Even if you delete something, the system will use the default value. You can have an empty set like above, and you won't break anything. You can also change the order of parameters, e.g. if you have your own workflow. Even then, making efx presets for all your locations manually can be really time-consuming. I bet a lot of mappers will want to make this as fast as possible, so they can move to more important things. That's where default presets come in handy. I prepared a set of general-purpose presets you can use in your locations. I tested them both on headphones and speakers, and they tend to sound quieter on speakers. If you think a preset is too quiet or too loud for your location, just put a "room" parameter in your definition, to change the volume. -1500 is the default value, and the volume range is from -5000 to 0 where 100 equals 1 db. Also, feel free to modify these presets as you wish: // Castle courtyard "environment diffusion" 0.6 "room hf" -1500 "room lf" -2000 "decay time" 2.13 "decay hf ratio" 0.61 "decay lf ratio" 0.23 "reflections" -500 "reflections delay" 0.16 "reverb delay" 0.36 "echo depth" 0.37 // Castle bathroom "environment size" 1.5 "environment diffusion" 0.75 "decay time" 1.8 "decay hf ratio" .5 "decay lf ratio" 2 "room hf" -4000 "reverb" 500 // Sewer pipe "environment diffusion" 0.8 "room hf" -1500 "room lf" 0 "decay time" 2.81 "decay hf ratio" 0.14 "reflections" 0 "reflections delay" 0.014 "reverb" 600 "reverb delay" 0.021 // Cave "environment size" 1.3 "environment diffusion" 0.75 "room hf" -200 "decay time" 3.5 "decay hf ratio" 1.5 "reflections" 400 "reflections delay" 0.015 "reverb" 1000 "reverb delay" 0.022 // Forest "room hf" -2000 "decay hf ratio" 0.54 "reflections" -1500 "reflections delay" 0.162 "reverb" -4300 "reverb delay" 0.088 "echo depth" 1 // Short stone corridor "environment diffusion" 0.6 "room hf" -400 "decay time" 1.2 "decay hf ratio" 0.75 "reflections" 400 "reflections delay" 0.004 "reverb" 1000 "reverb delay" 0.003 "echo time" 0.06 "hf reference" 5168.6 "lf reference" 139.5 // Small stone room "room hf" -400 "decay time" 1.15 "decay hf ratio" 0.75 "reflections" 0 "reflections delay" 0.006 "reverb" 600 "reverb delay" 0.005 "echo time" 0.06 "hf reference" 5168.6 "lf reference" 139.5 // Medium stone room "room hf" -400 "decay time" 1.5 "decay hf ratio" 0.75 "reflections" -1000 "reverb" 800 "echo time" 0.12 "hf reference" 5168.6 "lf reference" 139.5 // Large stone room "room hf" -400 "decay time" 2.2 "decay hf ratio" 0.75 "reflections" -2800 "reverb" 750 "reverb delay" 0.03 "hf reference" 5168.6 "lf reference" 139.5 // Short wood corridor "environment diffusion" 0.6 "room hf" -600 "room lf" -1600 "decay time" 1.75 "decay hf ratio" 0.5 "decay lf ratio" 0.87 "reflections" -650 "reflections delay" 0.012 "reverb" 200 "reverb delay" 0.024 "hf reference" 4705 "lf reference" 99.6 // Small wood room "room hf" -1200 "room lf" -800 "decay time" 0.79 "decay hf ratio" 0.32 "decay lf ratio" 0.87 "reflections" -500 "reflections delay" 0.032 "reverb" 0 "reverb delay" 0.029 "hf reference" 4705 "lf reference" 99.6 // Medium wood room "room hf" -1000 "room lf" -650 "decay time" 1.47 "decay hf ratio" 0.42 "decay lf ratio" 0.82 "reflections" -650 "reflections delay" 0.049 "reverb" 0 "reverb delay" 0.029 "hf reference" 4705 "lf reference" 99.6 // Large wood room "room hf" -600 "room lf" -650 "decay time" 2.65 "decay hf ratio" 0.33 "decay lf ratio" 0.82 "reflections" -650 "reflections delay" 0.066 "reverb" -400 "reverb delay" 0.049 "hf reference" 4705 "lf reference" 99.6 // Cathedral "environment diffusion" 0.87 "room hf" -1800 "room lf" -2400 "decay time" 9.48 "decay hf ratio" 0.19 "decay lf ratio" 0.1 "reflections" -500 "reflections delay" 0.09 "reverb" 0 "reverb delay" 0.042 "echo depth" 0.12 "hf reference" 2854.4 "lf reference" 20 // City streets "environment diffusion" 0.78 "room hf" -600 "room lf" -750 "decay time" 1.79 "decay hf ratio" 1.12 "decay lf ratio" 0.91 "reflections" -750 "reflections delay" 0.046 "reverb" -1000 "reverb delay" 0.028 "echo depth" 0.2 // City - abandoned "environment diffusion" 0.69 "room hf" -200 "room lf" -100 "decay time" 3.28 "decay hf ratio" 1.17 "decay lf ratio" 0.91 "reflections" -1200 "reflections delay" 0.044 "reverb" -1800 "reverb delay" 0.024 "echo depth" 0.2 "air absorption hf" -3.2 // Museum "room hf" -1800 "room lf" -1800 "decay time" 3.28 "decay hf ratio" 1.4 "decay lf ratio" 0.5 "reflections delay" 0.039 "reverb delay" 0.0034 "echo time" 0.13 "echo depth" 0.17 "hf reference" 2854.4 "lf reference" 107.5 (...) Now, if you're more interested in how the system works and how you can adjust values to get what you want, take a look at these values. Main values "room" Value Range: -10000 to 0 (-100 to 0 db) Master volume (gain) for both early reflections and reverb. Default value sits around -1500. Lower values actually decrease natural sound reverb. "reverb" Value Range: -10000 to 2000 (-100 to 20 db) Reverb gain parameter. Default value is 0. Higher values feel like you're in a medium or small room with reflective surfaces. Lower values actually decrease natural reverb of the sounds. "reflections" Value Range: -10000 to 0 (-100 to 0 db) Early reflections gain. The louder and less delayed these are, the more it feels like you're closer to the wall (inside a small empty room). "decay time" Value range: 0.1 to 20 (0.1 to 20 seconds) Time for the reverb to decay. Helps determine the size of a room. Average small rooms will have a reverb decay around 0.35 sec. A cathedral or a cavern will have 4-6 sec. Default value is 1.49. (...) Values for fine-tuning "reverb delay" Value range: 0.0 to 0.1 (0-100 ms) Creates delayed reverb effect. Default value is 0.011. "reflections delay" Value range: 0.0 to 0.3 (0-300 ms) Delays early reflections. Default value is 0.007. (...) Example workflow: 1. Use "reverb" to define how dead or live the room is. Add some delay with "reverb delay" if needed. 2. If the room is large (think cavern, canyon, or cathedral), use "decay time" to define bigger space. 3. Use "room" if you want to make "reverb" or "decay time" sound louder or quieter than the default (-1500). 4. Use "reflections" to tweak early sound reflections. (...) Notes / tips: 1. For volume / db parameters, don't bother with testing very low values. In real life, good self-noise characteristics for microphones and recorders is around -60 db. That means most people won't hear that noise. So, whenever you have ranges from -10000 to 0 or 2000, using values below -6000 probably won't do much. 2. If possible, use closed headphones for testing and tweaking, and then see how it holds up on your PC speakers. (...) As you see, this is work in progress, I will update this post with new information and useful things we come up with.
  2. Wasn't sure the best way to report or fix this is, but as I was recently trying to build TDM from the SVN source to get OpenAL sound output on Linux with reverb (the latest release doesn't seem to have it), and noticed a small issue in the source. In sound/snd_efxfile.cpp, there is this line which converts the "environment size" preset property to density: efxf(AL_EAXREVERB_DENSITY, (size < 2.0f) ? (size - 1.0f) : 1.0f);That's incorrect. The correct way to convert it, based on Creative's own EAX-to-EFX conversion tools and as adopted by the Dhewm3 port, is: float size = src.ParseFloat(); efxf(AL_EAXREVERB_DENSITY, idMath::ClampFloat( AL_EAXREVERB_MIN_DENSITY, AL_EAXREVERB_MAX_DENSITY, idMath::Pow(size, 3.0f) * 0.0625f ));This will help improve the quality of the reverb, making the presets sound closer to the intended response. Hope that's helpful.
  • Create New...