Jump to content
The Dark Mod Forums

Hiradur

Member
  • Posts

    68
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Hiradur

  1. Got this working with TDM, left to right sounds great, but I still have a hard time telling up from down.

     

    In this case the default HRTF dataset is probably not matching your head shape well. With luck you will find one which suits your head shape better if you follow this guide: https://www.reddit.com/r/oculus/comments/1fzonq/psa_for_games_using_openal_including_minecraft/cagd3lb

     

    How does the KHz setting affect the success of this system? I've read that I should set it manually in the config file to 44.1 at least for Thief 2. Normally my sound card is set to 96.000 btw. So do I need to change both the config file and the sound card settings to 44.1000 to make it work properly?

     

    It comes down to for which sample rate you have HRTF datasets available. The problem with the Thief games is that they run at 22,050 Hz and the smallest sample rate you can generate HRTF datasets for is 32,000 Hz with makehrtf.exe. So you have to enforce a higher frequency in the OpenAL Soft config. The sample rate set in Windows doesn't have an effect because the chain goes like this: game sample rate -> OpenAL Soft sample rate (resample if necessary) -> Windows sample rate (resample if necessary).

    The default HRTF datasets coming with OpenAL Soft are for 44,100Hz and 48,000Hz but you could generate some for 96,000Hz with makehrtf.exe if you desire.

     

    For Thief games I recommend to enforce a multiple of 22,050Hz (44.1kHz, 88.2kHz etc.) to reduce resampling artifacts. For modern games I suggest to enforce nothing or enforce a multiple of 48kHz because that's what most modern games run at.

  2. I took a quick look at the long loading times in TDM with Valgrind and it looks like the inflate_fast function (for unzipping) takes up a large portion of the loading time according to Valgrind:

     

    snapshot1tiubm.png

     

    I had a quick glimpse at the function here: https://github.com/revelator/The-Darkmod-Experimental/blob/7d86b82fce9eb587952c4963b928fd7974ecfa78/src/framework/Unzip.cpp#L3475

    and it looks like it's very old and optimized for old hardware. I've never looked at the deflate/inflate algorithm before but maybe there are faster ways to do this on modern hardware.

    • Like 1
  3. Hm... So I followed the tutorial, placed the files, changed the line in the config file and made the test ingame for Thief 2. When I play on software sound it seems just like stereo and when I play on hardware sound it is all mono. Also when I'm trying to do the batch file test, it will start the game but it won't create a log file in the same folder. Does this only work for Thief 2 with New Dark? Because I wanted to play Thief 2 Multiplayer which doesn't work on New Dark. So should I just use OpenAL instead?

     

    If no openallog.txt is created then OpenAL Soft isn't being used.

    You need New Dark for OpenAL Soft because the original Thief engine doesn't use OpenAL at all. With OpenAL Soft EAX should be available on all sound cards for the Thief games.

  4. I listened to the sound samples for the advanced method and was surprised by the large difference between them. It seems the default is IRC_1005 and it is not nearly the best match for me (thought it already works quite well).

     

    The instructions only mention 44100 tables in the advanced method, does that mean it won't work with 48k?

     

    Don't be misguided: The default HRTF set is the MIT KEMAR set (as stated here: https://github.com/kcat/openal-soft/blob/master/hrtf.txt#L15).The MIT KEMAR set is not in the IRCAM offering at all. Only the config file for the processing of IRCAM datasets defaults to IRC_1005.

     

    About frequency: The IRCAM HRTF datasets were recorded at 44.1kHz but they can be resampled to any other frequency for processing if you desire. makehrtf offers an option for that, I believe it's makehrtf.exe -r=48000 for 48kHz. You should see all options when running makehrtf.exe -h.

  5. I'm happy you guys enjoy playing with HRTF.

    I'd love to get my hands on a VR device but so far I couldn't decide which one I should take and if it's not a bit too early to jump on the train, in particular since I'm more of a Linux guy.

    I made some experiments with Trinus Gyre (now called Trinus VR) and Google Cardboard a year ago but it was a hassle to setup, and the quality of Google Cardboard is too low to give any kind of enjoyable experience.

  6. Hi, thanks for the detailed instructions.

    just one snag I hit, for this instruction:

    change "#hrtf = false" to "hrtf=true" (remove "#"!)

    There is no line "#hrtf = false" in the ini file, but there is "#hrtf = auto". I assume that is what I change instead, or should I add a new line?

    [EDIT] I changed auto to true and that did the trick.

     

    This works very well! :D

     

    Thanks for noting, I corrected it in the first post.

    Your change is indeed correct.

  7. Testing OpenAL Soft + HRTF in UT2004 and UT2004 64 bit.

     

    It seems working with 5.1 setup too, but I left only the R and L speakers in the 5.1 speakers Windows config tool.

    It is important to use such setup in so many games, it's counterintuitive - 5.1 with R&L only is NOT equivalent to stereo - but necessary (try Skyrim and let the awe conquer you :D ).

     

    image.jpg

     

    I don't really understand what you are saying but I got no 5.1 system so I'm probably lacking the background here.

    Please note that HRTF over speakers will not sound right because HRTF datasets have to be individually recorded for a specific setup. This is why there are many datasets for headphones. With headphones the setup is basically the same for everyone: Speakers aim at the listener from -90° and +90° relative to front and are very close to your ears.

    For speaker setups however neither the distance nor the angles at which they aim at the listener are standardized which is probably why nobody bothered to record HRTF for speakers (with the exception of Aureal, I got a HRTF over speakers demo here: https://www.youtube.com/watch?v=cevtidU3Ko4 )

     

    Off topic: Skyrim doesn't support OpenAL Soft. However, there exists a hook which brings HRTF to some games using x3daudio such as Skyrim. It's called X3dAudio-HRTF.

    • Like 1
  8. Only one note :D

     

    If I use the config tool included in the package it creates the alsoft.ini in appdata\roaming folder.

     

    So I assume that is the correct dir, not appdata root.

     

     

    Interesting, but %appdata%\alsoft.ini definitely works (I can tell from the log file).

    alsoftrc.sample also says to put it there:

    https://github.com/kcat/openal-soft/blob/455d5f48c0e99f6e3d7c237ee5f1570c37ec49be/alsoftrc.sample#L19

    • Like 1
  9. My problem at this point is:

     

    Final steps for both Windows versions:

    - move standard HRTF datasets (default*.mhr) from hrtf to %appdata%\openal\hrtf

    - remove OpenAL32.dll/wrap_oal.dll from the game folder if existing

    - Download alsoftrc.sample, save as alsoft.ini to %appdata% and change "#hrtf = false" to "hrtf=true" (remove "#"!)

    - make sure your audio sample rate is 44,1kHz or 48kHz

    - turn on OpenAL in Darkmod.cfg (seta s_useOpenAL "1")

    - set TDM to stereo sound

    ---------------------------------------------------

    I got that far, but can't seem to locate or know what to do. The download mentioned is just a text of code. I don't get it. I'm sorry for not being as up to par. Just trying to really enjoy TDM with some positional audio.

    Thank you.

     

    Now I'm not sure which step exactly you are lost on but the HRTF datasets are in the hrtf directory in openal-soft-1.17.1-bin.zip

     

    For alsoftrc.sample you have to create an alsoft.ini file in %appdata% and then copy the text from https://raw.githubusercontent.com/kcat/openal-soft/master/alsoftrc.sample to this ini file. Inside the ini file you change "#hrtf = false" to "hrtf=true" (remove "#"!).

     

     

    Hmm I guess someone should open a feature request for a portable implementation. Having to leave the config files in appdata

    seems a bit messy. It would be ideal if you could just plop the dll and config files next to your app (and for TDM set the OpenAL driver

    console commands).

     

     

    I guess the easiest way to achieve that would be to bundle soft_oal.dll with TDM and add an option to the settings menu for HRTF.

    I'm taking this opportunity to propose to make OpenAL Soft the default for audio because there is really no reason not to. DirectSound3D, which is used by TDM by default, only offers good positional audio on Windows XP and older as I said above. Nobody should be using these old Windows versions anymore and even if they do they can just disable OpenAL (OAL Soft ist better than DS3D in every aspect though).

    I want to make clear that OpenAL Soft offers great positional audio not only for headphone users but also for speakers, including surround sound systems. I'm one of the Rigs of Rods developers and we've been using OpenAL Soft for years and the audio experience is just great.

     

     

    btw: The alsoft.ini file offers some more options other than HRTF. You can set the angles in which speakers point to you for better positioning and you can enforce using a 5.1 setup for example which I would do if you are using one because with Windows you can never be totally sure if it's detecting it correctly. You can also set a resampling algorithm. Sinc4/8 e.g. works wonders for old games using 22,050 sample rate for sounds, such as Thief 1&2 and is basically essential for Quake 2 so that the earthquake sound doesn't get distorted.

    The .ini file is well documented and it's worth to look at IMO.

    • Like 1
  10. I run 5.1 and have in the past played about with eax when tdm still required doom3.

     

    So will give this a run through on the headphones and 5.1, with before and after vids.

     

    Please note that EAX and 5.1 surround sound (positional audio in general) are two different things as I mentioned in a post above.

     

    I think this video demonstrates what EAX and its successor EFX do quite well:

     

    It's adding reverb to his voice depending on the environment he is in. You can clearly tell it has nothing to do with surround sound.

    • Like 1
  11.  

    I believe we can move the runtime/dlls to TDM folder too, without any name change (and so keeping ALL the OpenAL implementations, SoftOpenAL one and Creative one)

     

    seta s_useOpenAL "1"
    -> seta s_libOpenAL "soft_oal.dll"

     

     

    Yes, this should work. Unless you are using a Creative card though OpenAL Soft may be superior to Creative's OpenAL implementation.

    • Like 1
  12.  

    Not as useful if it only works on headphones though.

    Well, OpenAL Soft has great positional audio even without HRTF on speakers (definitely better than TDM's default). There is also another way to improve positional audio for speakers. Doom 3/TDM uses DirectSound3D by default which was replaced by very poor software audio in Windows Vista. Creative wrote the Alchemy wrapper to bring DirectSound 3D back. It only works with Creative sound cards though. It improves positional audio for older games by a large margin for any Windows newer than XP. However, OpenAL Soft is better than DS3D in every way and should be preferred since it's natively supported by TDM.

     

    @New Horizon: I recorded a video. Uploading now. Should take an hour though. Will be here:

    https://youtu.be/MVqFbu4gsqs

    • Like 2
  13. Any videos of this working in TDM by any chance? I'm at work and am unable to test this until late this evening.

     

    Not yet, I'll see if I can make one but I can't promise it will make it in time.

     

    This is an interesting wrinkle.

     

    We have an internal EFX branch but it doesn't do full HRTF as I recall. It would be a shame to throw away all that work but (OTOH) if this can just be bundled without

    having to dig into the innards of EAX code then it would be a nice stop gap until the 64-bit branch arrives.

     

    EFX and HRTF are two different things though. EFX (or its predecessor EAX) processes sounds with reverb presets to make them reflect the environment they are in (e.g. sounds in a huge hall have long echo). This doesn't improve positional audio (probably makes it worse due to the reverb but that's realistic at least). HRTF only improves positional audio. Both in combination make for a very realistic experience.

    • Like 2
  14. Extracting the .zip was fine for me but I think it would be best if TDM was installable from the official software repositories of major distributions. Linux newbies (should) know how to handle these and would not have the psychological hurdle to run an external installer which may not work well or require extra effort from their side.

  15. The issue is channels 1,6,11 are being swamped by several neighbours, and ironically when the router is set to auto it chooses 5+9 or 11+15 and when I choose channel 11 it still uses 11+7

    I live in a crowded area as well, my fritzbox shows at least 10 wifi networks per channel for channels 1,6 and 11. I measured my throughput a few years ago and using one of the overlapping channels heavily decreased it. I've since switched to a non-overlapping channel and never had a reason to complain.

  16. [...] despite changing to an unused channel(from 3 to 9 and getting a boost in signal from -60db to -50db) and tweaking encryption settings (from AES+TKIP mixed to AES only) [...]

     

    Rule #1 of 2.4Ghz Wifi: Never choose a channel other than 1, 6 or 11 since these are the only non-overlapping channels. If you choose channel 3 for example you will share channels 1,2,3,4,5 and 6 with other Wifi users. If you choose channel 1 you will only share 1, 2 and 3 with other users.

     

    http://superuser.com/questions/443178/is-it-better-to-use-a-crowded-2-4ghz-wi-fi-channel-1-6-11-or-unused-3-4-8

     

    I recommend to use channel 1 or 6 since microwaves operate between channels 9 and 10 which are also used by channel 11.

     

    I'd check the stability of your Wifi with a non-overlapping channel first before buying a new router.

  17. I usually search for reviews of my monitor which show the OSD settings after the calibration with a professional device (example: http://www.tftcentral.co.uk/reviews/dell_u2415.htm section 'Calibration') and download the provided ICC profile to tune the graphics card as well. It may not be perfect due to spread for standard factory models but it's been good enough for me.

    • Like 1
×
×
  • Create New...