For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

ALAudio for Unreal 227i - development and links

This forum is for the new audio renderer for UEngine 1 based games, like Unreal, UnrealTournament, DeusEx and Rune. Missing a Game? Want to develop yourself? Let us know!
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

uploaded version 2.2 with HRTF support and new OpenALSoft 1.17.0
Check the first post for details and download link.
Sometimes you have to lose a fight to win the war.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

OpenAL_v2.4.7_227i.7z added. As usual, details on first page.
Sometimes you have to lose a fight to win the war.
User avatar
r2rX
OldUnreal Member
Posts: 9
Joined: Fri Jun 10, 2016 9:10 am

Re: ALAudio for Unreal 227i - development and links

Post by r2rX »

Hey there,

Out of curiosity, is there any plan to bring the plugin over to Linux? :)
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

already included in 227j builds, for UT same story as for XOpenGL.
Sometimes you have to lose a fight to win the war.
User avatar
Nmesa
Posts: 4
Joined: Sat Jul 08, 2017 7:50 am

Re: ALAudio for Unreal 227i - development and links

Post by Nmesa »

After more than a year of suffering from crackling sounds in Unreal 1-engine games, i found your patches and it worked with 50/50 success.

For example, in Rune crackling noise appears when character is under water.
In Unreal Gold before the patch crackling was caused by the soundtrack (i checked it by muting music), but now the problem is in environment sounds (mostly at high-tech ship locations).

Windows XP, 227 patch, lines in .ini from the first post. I tried to change the latency, directsound, audio devices. Disabling sound acceleration helps only with Unreal 2 games (crackling sound in Republic Commando for example). Any advice will be appreciated.
Last edited by Nmesa on Sat Jul 08, 2017 11:05 am, edited 1 time in total.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

can you be a bit more specific about this crackling?
Which version of ALAudio did you try so far?
Sometimes you have to lose a fight to win the war.
User avatar
Nmesa
Posts: 4
Joined: Sat Jul 08, 2017 7:50 am

Re: ALAudio for Unreal 227i - development and links

Post by Nmesa »

can you be a bit more specific about this crackling?
Which version of ALAudio did you try so far?
The latest one - 2.4.7. By crackling i mean the static noises coming from the speakers with 2-6 sec interval.
User avatar
Kain
Posts: 3
Joined: Tue Nov 07, 2017 9:07 pm

Re: ALAudio for Unreal 227i - development and links

Post by Kain »

I used ALAudio that was bundled with 227i unofficial patch and it works fine (some crackling when dive underwater, i don't mind), but then i decided to update driver to the latest version - results were not very pleasant for my ears, volume was all over the place, some weapons sounds too loud, other too quiet, same with other effects (like footsteps, characters voices etc). Is it normal or i did something wrong (i set default settings)?
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

There are some new options you may want to adjust:

ViewportVolumeIntensity
which scales the volume for all sounds relative to the player

and when using UseSpeechVolume
SpeechVolume
which affects the "speech" - or well grunts or whatever most creatures do.

other than that there is
OldReverbIntensity
ReverbIntensity

which are for the reverb (echo) effects, however for standard maps there is usually only OldReverbIntensity in use.

I noticed music always needs a boost to be equal, so you could try
MusicAmplify=2
if that's the case for you too.

A lot of these things depends also on speaker setup (such as stereo or f.e. surround 5.1), so it's a bit hard to find sane default values.
Sometimes you have to lose a fight to win the war.
User avatar
Kain
Posts: 3
Joined: Tue Nov 07, 2017 9:07 pm

Re: ALAudio for Unreal 227i - development and links

Post by Kain »

Thank you for tips! I tried with headphones and 5.1 setup, results was the same. Maybe i will tinker with options later, but for now i just use old driver from 227i patch :)
User avatar
Masterkent
OldUnreal Member
Posts: 1469
Joined: Fri Apr 05, 2013 12:41 pm

Re: ALAudio for Unreal 227i - development and links

Post by Masterkent »

Is it normal or i did something wrong (i set default settings)?
I just checked how ALAudio works in 227j_38 (I don't use ALAudio other than for rare tests), and I could reproduce that issue.

The disbalance between different sounds is caused by changing the volume settings from the default values. When I set sound volume to a low value, PlaySound does not cap high volume values (above 1) by 1 (while normally values above 1 should be capped so), hence some sounds are played at abnormally high volume.

So, in order to bypass the given bug, you can try to set

SoundVolume=192
UseSpeechVolume=False

and adjust the volume by external means (e.g. using the Windows volume control).

Modifying ViewportVolumeIntensity unlikely makes any sense (unless you're going to do some specific sound tests), so better keep it equal to 1.000000 (which is the default).

The so called speech volume control in >99.99% cases affects everything but real speech (someone's claims that death screams, gasp sounds (when a player begins to breathe after drowning being underwater), jump sounds, cow shaking sounds, GasBag's farting, and so on can be considered as "speech" just make me laugh), so, again, unless you're going to do some specific tests, disabling this control is probably your best choice.

Also, in case if you don't like sound attenuation by obstacles (IMO, the way it works is nonsensical), set

bSoundAttenuate=False

I don't know if ALAudio supports mixing left/right sound channels for headphones (enabling UseHRTF makes sound quality too bad, so I don't consider it a viable option); if not, then you have 3 possibilities: mix channels using external means, choose other audio subsystem, or deal with messed up sound positioning (sometimes you'll have an impression that the source of a sound (be it an explosion, wind, waterfall, or something else) is located inside your left or right ear rather than several meters on the left or on the right of you).

Last edited by Masterkent on Thu Nov 09, 2017 12:14 pm, edited 1 time in total.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

The disbalance between different sounds is caused by changing the volume settings from the default values. When I set sound volume to a low value, PlaySound does not cap high volume values (above 1) by 1 (while normally values above 1 should be capped so), hence some sounds are played at abnormally high volume.
So far I couldn't observe such a behavior unfortunately, but I am going to check the caps. I think it should work exactly like the other renderers here, but that's a valuable observation and a good idea to check again.
[edit]
Just added a config bool "DetailStats" which should help getting a better overview what's happening. Enabled, it provides additional information for Vol, Pitch, Radius and Priority.
[/edit]
Modifying ViewportVolumeIntensity unlikely makes any sense (unless you're going to do some specific sound tests), so better keep it equal to 1.000000 (which is the default).
It does make sense if you have a 5.1 setup, since these are often to loud and can cause imbalance with center speaker in my experience. I think it is reasonable to be able to balance it out. If not needed, even better, therefor it is an advanced option only.
The so called speech volume control in >99.99% cases affects everything but real speech (someone's claims that death screams, gasp sounds (when a player begins to breathe after drowning being underwater), jump sounds, cow shaking sounds, GasBag's farting, and so on can be considered as "speech" just make me laugh), so, again, unless you're going to do some specific tests, disabling this control is probably your best choice.
Well, if you take it in a more...common sense as in noises made by creatures... - I didn't make the choice what actually was claimed to be "speech" :D
However, this option is mostly for future use in which a mod can make real use of it as speech, although I can't say that I did have any negative side effects by having it enabled, indeed if it is a bit higher than usual volume it may make it easier to hear creatures around you may would miss otherwise, since some of these noises are really hard to hear.
enabling UseHRTF makes sound quality too bad, so I don't consider it a viable option);
This option is meant for use with headphones and there I have quite a few reports already where people confirm it is working pretty well. I also tested some time with headphones too without having the slightest idea how this could possibly reduce sound quality in any way.
Last edited by Smirftsch on Thu Nov 09, 2017 3:56 pm, edited 1 time in total.
Sometimes you have to lose a fight to win the war.
User avatar
Masterkent
OldUnreal Member
Posts: 1469
Joined: Fri Apr 05, 2013 12:41 pm

Re: ALAudio for Unreal 227i - development and links

Post by Masterkent »

Modifying ViewportVolumeIntensity unlikely makes any sense (unless you're going to do some specific sound tests), so better keep it equal to 1.000000 (which is the default).
It does make sense if you have a 5.1 setup, since these are often to loud and can cause imbalance with center speaker in my experience.
What subset of actors does play sounds as the "viewport", what does make that subset special, and what if some of such "special" actors do not play sounds as the "viewport"? F.e. when you fire 8Ball rockets, the fire sound (which is very loud) is played by the projectile and its volume is not controlled by the given config variable. If loud sounds produced nearby the player constitute a problem on such acoustic systems, I suspect that it could and should be resolved using other approach.
Well, if you take it in a more...common sense as in noises made by creatures...
"Voice Volume" would be much more close to the underlying functionality. This wouldn't change the fact that the set of affected voices is random though...
However, this option is mostly for future use in which a mod can make real use of it as speech
If it was some special API function like PlaySpeechSound for playing real speech and users could expect a reasonable behavior from the corresponding volume control (which would be responsible for speech and _only_ for speech), I could use it in my version of Botpack (for announcer speech, taunts, tutorials) right now. But I do realize that the given volume control does not alter sound playback in a sensible manner, and it probably would be more convenient for users to modify special config variables in the mod than use the global voice volume control which would work well only when playing UT games under 227j client and mess up balance between sounds right after the user decides to play something else on the same client. What's the point to work on changing sound slots to support an inherently broken feature? Similar questions may arise when other mod writers would make their own decisions about this.

FYI, this is how SLOT_Talk is used in Botpack from UT v436:

Code: Select all

Search "SLOT_Talk" (16 hits in 7 files)
  E:\Games\UT\UT_436\Botpack\Classes\Bot.uc (5 hits)
      Line 660:       PlaySound(Deaths[rnd], SLOT_Talk, 16);      
      Line 713:             PlaySound(GaspSound, SLOT_Talk, 2.0);
      Line 715:             PlaySound(BreathAgain, SLOT_Talk, 2.0);
      Line 1915:       PlaySound(JumpSound, SLOT_Talk, 1.0, true, 800, 1.0 );
      Line 6616:             PlaySound(JumpSound, SLOT_Talk, 1.5, true, 1200, 1.0 );
  E:\Games\UT\UT_436\Botpack\Classes\HumanBotPlus.uc (1 hit)
      Line 287:             PlaySound(LandGrunt, SLOT_Talk, FMin(4, 5 * impactVel),false,1600,FRand()*0.4+0.8);
  E:\Games\UT\UT_436\Botpack\Classes\PressureZone.uc (1 hit)
      Line 88:                         P.PlaySound( P.Die, SLOT_Talk );
  E:\Games\UT\UT_436\Botpack\Classes\ShockWave.uc (1 hit)
      Line 120:        PlaySound(Sound'Expl03', SLOT_Talk, 16.0);
  E:\Games\UT\UT_436\Botpack\Classes\SkaarjBot.uc (1 hit)
      Line 245:                         PlaySound(LandGrunt, SLOT_Talk, FMin(5, 5 * impactVel),false,1200,FRand()*0.4+0.8);
  E:\Games\UT\UT_436\Botpack\Classes\TournamentPlayer.uc (6 hits)
      Line 114:                   PlayOwnedSound(JumpSound, SLOT_Talk, 1.5, true, 1200, 1.0 );
      Line 164:       SoundPlayer.PlaySound(ASound, SLOT_Talk, 16.0, bInterrupt);
      Line 554:       PlaySound(Deaths[rnd], SLOT_Talk, 16);
      Line 1008:             PlaySound(GaspSound, SLOT_Talk, 2.0);
      Line 1010:             PlaySound(BreathAgain, SLOT_Talk, 2.0);
      Line 1218:             PlayOwnedSound(LandGrunt, SLOT_Talk, FMin(5, 5 * impactVel),false,1200,FRand()*0.4+0.8);
  E:\Games\UT\UT_436\Botpack\Classes\VacuumZone.uc (1 hit)
      Line 35:                   P.PlaySound( P.Die, SLOT_Talk );
The only use case related to speech is the last line in TournamentPlayer.ClientPlaySound:

Code: Select all

//Play a sound client side (so only client will hear it
simulated function ClientPlaySound(sound ASound, optional bool bInterrupt, optional bool bVolumeControl )
{      
      local actor SoundPlayer;
      local int Volume;

      if ( b3DSound )
      {
            if ( bVolumeControl && (AnnouncerVolume == 0) )
                  Volume = 0;
            else
                  Volume = 1;
      }
      else if ( bVolumeControl )
            Volume = AnnouncerVolume;
      else
            Volume = 4;

      LastPlaySound = Level.TimeSeconds;      // so voice messages won't overlap
      if ( ViewTarget != None )
            SoundPlayer = ViewTarget;
      else
            SoundPlayer = self;

      if ( Volume == 0 )
            return;
      SoundPlayer.PlaySound(ASound, SLOT_None, 16.0, bInterrupt);
      if ( Volume == 1 )
            return;
      SoundPlayer.PlaySound(ASound, SLOT_Interface, 16.0, bInterrupt);
      if ( Volume == 2 )
            return;
      SoundPlayer.PlaySound(ASound, SLOT_Misc, 16.0, bInterrupt);
      if ( Volume == 3 )
            return;
      SoundPlayer.PlaySound(ASound, SLOT_Talk, 16.0, bInterrupt);
}
This option is meant for use with headphones and there I have quite a few reports already where people confirm it is working pretty well. I also tested some time with headphones too without having the slightest idea how this could possibly reduce sound quality in any way.
I'll upload a video later.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

As for viewport volume:
bViewportActor = (Actor == Viewport->Actor || Actor == Viewport->Actor->Weapon);
If it was some special API function like PlaySpeechSound for playing real speech and users could expect a reasonable behavior from the corresponding volume control (which would be responsible for speech and _only_ for speech), I could use it in my version of Botpack (for announcer speech, taunts, tutorials) right now. But I do realize that the given volume control does not alter sound playback in a sensible manner
In a sensible manner? I don't know what this is supposed to mean. It's fully adjustable. What else do you want from it?
I don't see how botpack should be of any relevance here, because if you are reworking it anyway, why don't you plain properly set SLOT_Talk then? Since Botpack pretty much replaces any Unreal Classes it shouldn't be a problem- for the "Tournament" part anyway. If the trouble is the monsters (for coop usage), then there is the question in which way it should be modified.
We've had this discussion already, but I still don't see the problem if speech is in cases of critters just their "voices" as you describe it, since that's simply what they produce- and the meaning is the same as speech for humans as well as the volume of it.
But even if we would split it up and create a thing like "SLOT_VOICE" or whatever and change the current uscript classes accordingly I still wouldn't see a reason to have yet another volume adjustment more for them. So in the end it looks for me just like define it "voice" or "define it "speech"
If its not sufficient for any (to me unknown) other reason yet, I see little reason not to improve it in any way needed.

Last edited by Smirftsch on Fri Nov 10, 2017 10:45 am, edited 1 time in total.
Sometimes you have to lose a fight to win the war.
User avatar
Masterkent
OldUnreal Member
Posts: 1469
Joined: Fri Apr 05, 2013 12:41 pm

Re: ALAudio for Unreal 227i - development and links

Post by Masterkent »

In a sensible manner? I don't know what this is supposed to mean.
The first question any developer should consider when implementing some feature is why that feature is worth implementing in the first place, what purpose it's supposed to serve. It is possible to implement a volume control for a random subset of sounds, but it's hard to explain what constitutes its practical usefulness besides speaking of contrived use cases that might be interesting for 1.5 people.

When it comes to speech, we can reasonably claim that it's a special subset of sounds, because it consists of phonemes which should be clearly distinguishable in order to let people understand the meaning of what is said. This specifics of speech sounds implies the potential usefulness of adjusting its volume to a value that would be sufficient for understanding the speech and not let it sound too loud (according to individual subjective perception) at the same time. However, in general, developers should initially pick an optimal volume of speech so that end users would want to adjust it as rare as possible (if users have to constantly move volume sliders back and forth, it's a sign that there is something wrong with the game).

When I consider myself as an end user, I expect the following functionality from a speech volume control: it should let me more clearly distinguish speech phonemes by increasing the volume or reduce the volume of such phonemes to a desirable level; any other kinds of sounds should not be affected. If I change speech volume and I get non-speech sounds affected as the result, I would consider such effect as unwanted and believe that it's a bug in the game (note that many potential players, who are not devs, would not even know what is SLOT_Talk and who should be blamed for unintuitive behavior of a volume control).
I don't see how botpack should be of any relevance here, because if you are reworking it anyway, why don't you plain properly set SLOT_Talk then?
If I do that, what implications would it have? As long as an end user plays as a TournamentPlayer with similar TournamentPlayers or with Botpack bots, the speech volume control would serve its purpose properly, but switching to something else would with nearly 100% probability break the balance between non-speech sounds, so the player would be forced to change the volume settings back and forth in order to achieve the desirable balance in either situation - this is simply not user-friendly.

Besides, porting Botpack alone is not interesting - this is the first step of making ports of such great campaigns as Operation Na Pali, Seven Bullets, and Project Xenome. Operation Na Pali and Seven Bullets have their own speech sounds, and in this case, a proper support of the speech volume control (following the current approach) would require noticeably more efforts, because I would have to subclass standard pawns in order to make them use "correct" slots. If some player or server admin decides to use additional mods (e.g. mutators that spawn custom pawns) which still "wrongly" use SLOT_Talk, then the balance between non-speech sounds can be broken again. Hence, in spite of the extra efforts (which would not be necessary if speech volume was managed in an appropriate way) I still would not be able to claim "my mod supports speech volume control which you can use without worrying about unwanted side effects on non-speech sounds".
We've had this discussion already, but I still don't see the problem if speech is in cases of critters just their "voices" as you describe it, since that's simply what they produce- and the meaning is the same as speech for humans as well as the volume of it.
Some abstract similarities between speech, sounds produced by creatures, and non-speech sounds produced by players do not explain the practical value of having a special volume control for all such sounds together. Maybe if you try hard, you can find 10 similarities between speech and explosion sounds, but that won't explain the practical need in some imaginary volume control responsible for speech united with explosion sounds either. The consequence of your implementation choice is that those players who might want to adjust speech volume for the reasons explained above without affecting non-speech sounds simply won't find an appropriate volume control for their needs in the regular game menu. I personally find the current feature having a misleading name and practically useless, and since I can provide my own config variables that would affect only speech following the intuitive expectations and practical needs of users as close as possible, at this moment I don't see any non-contrived reasons to take special actions in order to support the broken built-in speech volume control (maybe until some users explicitly ask me to do so).
Last edited by Masterkent on Fri Nov 10, 2017 2:27 pm, edited 1 time in total.
User avatar
Masterkent
OldUnreal Member
Posts: 1469
Joined: Fri Apr 05, 2013 12:41 pm

Re: ALAudio for Unreal 227i - development and links

Post by Masterkent »

Here's the samples with HRTF off and on:
(HRTF is disabled)
(HRTF is enabled)

Config:

Code: Select all

[ALAudio.ALAudioSubsystem]
ALDevice=OpenALSoftonRealtekHighDefinitionAudio
OutputRate=22050Hz
SampleRate=22050Hz
SoundVolume=192
SpeechVolume=192
MusicVolume=0
EffectsChannels=64
AmbientFactor=0.700000
DopplerFactor=0.010000
bSoundAttenuate=False
MusicInterpolation=SPLINE
MusicDsp=DSP_ALL
MusicPanSeparation=50
MusicStereoMix=70
MusicAmplify=2
EmulateOldReverb=True
OldReverbIntensity=1.000000
ViewportVolumeIntensity=1.000000
ReverbIntensity=1.000000
UseAutoSampleRate=True
UseSpeechVolume=True
UseOriginalUnreal=True
UseDigitalMusic=True
UseReverb=True
UseHRTF=Disable/Enable
ProbeDevicesOnly=False
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

In a sensible manner? I don't know what this is supposed to mean.
The first question any developer should consider when implementing some feature is why that feature is worth implementing in the first place, what purpose it's supposed to serve. It is possible to implement a volume control for a random subset of sounds, but it's hard to explain what constitutes its practical usefulness besides speaking of contrived use cases that might be interesting for 1.5 people.

When it comes to speech, we can reasonably claim that it's a special subset of sounds, because it consists of phonemes which should be clearly distinguishable in order to let people understand the meaning of what is said. This specifics of speech sounds implies the potential usefulness of adjusting its volume to a value that would be sufficient for understanding the speech and not let it sound too loud (according to individual subjective perception) at the same time. However, in general, developers should initially pick an optimal volume of speech so that end users would want to adjust it as rare as possible (if users have to constantly move volume sliders back and forth, it's a sign that there is something wrong with the game).

When I consider myself as an end user, I expect the following functionality from a speech volume control: it should let me more clearly distinguish speech phonemes by increasing the volume or reduce the volume of such phonemes to a desirable level; any other kinds of sounds should not be affected. If I change speech volume and I get non-speech sounds affected as the result, I would consider such effect as unwanted and believe that it's a bug in the game (note that many potential players, who are not devs, would not even know what is SLOT_Talk and who should be blamed for unintuitive behavior of a volume control).
I don't see how botpack should be of any relevance here, because if you are reworking it anyway, why don't you plain properly set SLOT_Talk then?
If I do that, what implications would it have? As long as an end user plays as a TournamentPlayer with similar TournamentPlayers or with Botpack bots, the speech volume control would serve its purpose properly, but switching to something else would with nearly 100% probability break the balance between non-speech sounds, so the player would be forced to change the volume settings back and forth in order to achieve the desirable balance in either situation - this is simply not user-friendly.

Besides, porting Botpack alone is not interesting - this is the first step of making ports of such great campaigns as Operation Na Pali, Seven Bullets, and Project Xenome. Operation Na Pali and Seven Bullets have their own speech sounds, and in this case, a proper support of the speech volume control (following the current approach) would require noticeably more efforts, because I would have to subclass standard pawns in order to make them use "correct" slots. If some player or server admin decides to use additional mods (e.g. mutators that spawn custom pawns) which still "wrongly" use SLOT_Talk, then the balance between non-speech sounds can be broken again. Hence, in spite of the extra efforts (which would not be necessary if speech volume was managed in an appropriate way) I still would not be able to claim "my mod supports speech volume control which you can use without worrying about unwanted side effects on non-speech sounds".
We've had this discussion already, but I still don't see the problem if speech is in cases of critters just their "voices" as you describe it, since that's simply what they produce- and the meaning is the same as speech for humans as well as the volume of it.
Some abstract similarities between speech, sounds produced by creatures, and non-speech sounds produced by players do not explain the practical value of having a special volume control for all such sounds together. Maybe if you try hard, you can find 10 similarities between speech and explosion sounds, but that won't explain the practical need in some imaginary volume control responsible for speech united with explosion sounds either. The consequence of your implementation choice is that those players who might want to adjust speech volume for the reasons explained above without affecting non-speech sounds simply won't find an appropriate volume control for their needs in the regular game menu. I personally find the current feature having a misleading name and practically useless, and since I can provide my own config variables that would affect only speech following the intuitive expectations and practical needs of users as close as possible, at this moment I don't see any non-contrived reasons to take special actions in order to support the broken built-in speech volume control (maybe until some users explicitly ask me to do so).
Thank you for this elaboration, I agree with you, this argument is convincing.
So, what way should we go here? I could imagine to add some new parameter such as SLOT_VOICE then and split it off this way by leaving only those things really as speech which are.
However, for voice I am not sure if I want to have a separate volume control for voice then, I tend not to have such a thing.
Sometimes you have to lose a fight to win the war.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

Here's the samples with HRTF off and on:
(HRTF is disabled)
(HRTF is enabled)

Config:

Code: Select all

[ALAudio.ALAudioSubsystem]
ALDevice=OpenALSoftonRealtekHighDefinitionAudio
OutputRate=22050Hz
SampleRate=22050Hz
SoundVolume=192
SpeechVolume=192
MusicVolume=0
EffectsChannels=64
AmbientFactor=0.700000
DopplerFactor=0.010000
bSoundAttenuate=False
MusicInterpolation=SPLINE
MusicDsp=DSP_ALL
MusicPanSeparation=50
MusicStereoMix=70
MusicAmplify=2
EmulateOldReverb=True
OldReverbIntensity=1.000000
ViewportVolumeIntensity=1.000000
ReverbIntensity=1.000000
UseAutoSampleRate=True
UseSpeechVolume=True
UseOriginalUnreal=True
UseDigitalMusic=True
UseReverb=True
UseHRTF=Disable/Enable
ProbeDevicesOnly=False
I am not at home right now, so I can't check this with a headset. Over normal Laptop speakers it makes an odd impression of surround which won't really fit, but that was to be expected under my current conditions.
As a general note I can only say that the HRTF implementation uses the OpenALSoft features, which are in use by quite a few games already and are known to be working. However, I think there have been some changes in recent implementation so new build will have also a new OpenALSoft version.
Can check this in detail in a few days again.
Sometimes you have to lose a fight to win the war.
User avatar
Masterkent
OldUnreal Member
Posts: 1469
Joined: Fri Apr 05, 2013 12:41 pm

Re: ALAudio for Unreal 227i - development and links

Post by Masterkent »

So, what way should we go here? I could imagine to add some new parameter such as SLOT_VOICE then and split it off this way by leaving only those things really as speech which are.
I need some time to think about it. I see difficulties with any approach that comes to mind. In particular, using a single slot may have some negative impact on backward compatibility (if we are ready to consider compatibility concerns valuable in this case). Sometimes it's necessary to get sound louder than we can currently achieve with a single call to PlaySound with the max possible volume. In such a case, we can call PlaySound several times to amplify the sound. Every call should either use a distinct slot or SLOT_None. An attempt to play a sound on the same slot other than SLOT_None of the same actor would result either in overriding the previously played sound or skipped playback (depending on bNoOverride).

We can invent some new means to amplify the sound played by a single call to PlaySound, but it won't work on older clients for obvious reasons.
Last edited by Masterkent on Wed Nov 15, 2017 8:52 pm, edited 1 time in total.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

No need to rush, I've got more than enough things yet to take care about you know :)
We can invent some new means to amplify the sound played by a single call to PlaySound, but it won't work on older clients for obvious reasons.
I don't see a problem here as long it doesn't crash older clients and just doesn't work there, but I'm sure that's implied already from your side.
Sometimes you have to lose a fight to win the war.
User avatar
Kain
Posts: 3
Joined: Tue Nov 07, 2017 9:07 pm

Re: ALAudio for Unreal 227i - development and links

Post by Kain »

Wow, so many answers (too bad that i already beat the Unreal Gold :-/), i hope eventually you will fix all problems and nitpicks in sound driver, great work, guys!
PS - next game that i will try with your great ALAaudio driver is Rune Classic, hope there will be no problems with sfx volume =)
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

Feedback is always welcome :)


As for:
The disbalance between different sounds is caused by changing the volume settings from the default values. When I set sound volume to a low value, PlaySound does not cap high volume values (above 1) by 1 (while normally values above 1 should be capped so), hence some sounds are played at abnormally high volume.
The clamp is and was definitely in place- with AL_MAX_GAIN having set. This should prevent anything higher as 1.0.
Still trying to figure out whats going wrong. I now added a manual clamp before, but I am not satisfied with that. Is there a specific set up in which this behavior is noticed at best? I do not want to rule out yet that it is just me not recognizing this problem just due to being used to it.
Sometimes you have to lose a fight to win the war.
User avatar
Masterkent
OldUnreal Member
Posts: 1469
Joined: Fri Apr 05, 2013 12:41 pm

Re: ALAudio for Unreal 227i - development and links

Post by Masterkent »

We can invent some new means to amplify the sound played by a single call to PlaySound, but it won't work on older clients for obvious reasons.
I don't see a problem here as long it doesn't crash older clients and just doesn't work there
If a modder wants to support older versions or UT, he should use something like the trick with multiple calls to PlaySound. The question is how to make that old trick compatible with the new concept of distinguishing speech and non-speech. See my technical report here:
http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1511646400
User avatar
Masterkent
OldUnreal Member
Posts: 1469
Joined: Fri Apr 05, 2013 12:41 pm

Re: ALAudio for Unreal 227i - development and links

Post by Masterkent »

Is there a specific set up in which this behavior is noticed at best?
Config:

Code: Select all

[ALAudio.ALAudioSubsystem]
ALDevice=OpenALSoftonRealtekHighDefinitionAudio
OutputRate=48000Hz
SampleRate=48000Hz
SoundVolume=32
SpeechVolume=192
MusicVolume=0
EffectsChannels=64
AmbientFactor=0.700000
DopplerFactor=0.010000
bSoundAttenuate=False
MusicInterpolation=SPLINE
MusicDsp=DSP_ALL
MusicPanSeparation=50
MusicStereoMix=70
MusicAmplify=2
EmulateOldReverb=True
OldReverbIntensity=1.000000
ViewportVolumeIntensity=1.000000
ReverbIntensity=1.000000
UseAutoSampleRate=False
UseSpeechVolume=True
UseOriginalUnreal=True
UseDigitalMusic=True
UseReverb=True
UseHRTF=Disable
ProbeDevicesOnly=False
Test Class:

Code: Select all

class SoundVolumeTest expands Actor;

var int n;

event BeginPlay()
{
      ConsoleCommand("set ini:Engine.Engine.AudioDevice SoundVolume 32");
      if (Instigator != none)
            Instigator.ClientMessage("AudioDevice SoundVolume:" @ ConsoleCommand("get ini:Engine.Engine.AudioDevice SoundVolume") @ "/ 255");
      SetTimer(1, true);
}

event Timer()
{
      local float SoundVolume;

      if (Instigator == none)
      {
            return;
            Destroy();
      }

      SoundVolume = CalcSoundVolume(n++);
      Instigator.ClientMessage("PlaySound Volume:" @ SoundVolume);
      Instigator.PlaySound(Sound'UnrealShare.Flak.Explode1', SLOT_None, SoundVolume);
}

function float CalcSoundVolume(int i)
{
      i = i % 14;
      if (i
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: ALAudio for Unreal 227i - development and links

Post by Smirftsch »

Excellent simple way to test it. Brilliant! :)

However, my new clamp as mentioned above does indeed catch it already, but I am still wondering why it is necessary to do this additionally. Thanks for working this out.

As for the speech/talk/voice - I need to read me through all things you've written there yet, answer coming soon.
Sometimes you have to lose a fight to win the war.
Post Reply

Return to “ALAudio (OpenAL), FMOD (FMOD3 and FMOD Ex) or other new audio renderer for UEngine 1 Games”