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
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
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
uploaded version 2.2 with HRTF support and new OpenALSoft 1.17.0
Check the first post for details and download link.
Check the first post for details and download link.
Sometimes you have to lose a fight to win the war.
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
OpenAL_v2.4.7_227i.7z added. As usual, details on first page.
Sometimes you have to lose a fight to win the war.
- r2rX
- OldUnreal Member
- Posts: 9
- Joined: Fri Jun 10, 2016 9:10 am
Re: ALAudio for Unreal 227i - development and links
Hey there,
Out of curiosity, is there any plan to bring the plugin over to Linux?
Out of curiosity, is there any plan to bring the plugin over to Linux?
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
already included in 227j builds, for UT same story as for XOpenGL.
Sometimes you have to lose a fight to win the war.
- Nmesa
- Posts: 4
- Joined: Sat Jul 08, 2017 7:50 am
Re: ALAudio for Unreal 227i - development and links
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.
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.
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
can you be a bit more specific about this crackling?
Which version of ALAudio did you try so far?
Which version of ALAudio did you try so far?
Sometimes you have to lose a fight to win the war.
- Nmesa
- Posts: 4
- Joined: Sat Jul 08, 2017 7:50 am
Re: ALAudio for Unreal 227i - development and links
The latest one - 2.4.7. By crackling i mean the static noises coming from the speakers with 2-6 sec interval.can you be a bit more specific about this crackling?
Which version of ALAudio did you try so far?
- Kain
- Posts: 3
- Joined: Tue Nov 07, 2017 9:07 pm
Re: ALAudio for Unreal 227i - development and links
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)?
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
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.
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.
- Kain
- Posts: 3
- Joined: Tue Nov 07, 2017 9:07 pm
Re: ALAudio for Unreal 227i - development and links
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
- Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: ALAudio for Unreal 227i - development and links
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.Is it normal or i did something wrong (i set default settings)?
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.
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
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.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.
[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]
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.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).
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"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.
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.
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.enabling UseHRTF makes sound quality too bad, so I don't consider it a viable option);
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.
- Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: ALAudio for Unreal 227i - development and links
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.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.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).
"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...Well, if you take it in a more...common sense as in noises made by creatures...
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.However, this option is mostly for future use in which a mod can make real use of it as speech
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 );
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);
}
I'll upload a video later.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.
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
As for viewport volume:
bViewportActor = (Actor == Viewport->Actor || Actor == Viewport->Actor->Weapon);
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.
bViewportActor = (Actor == Viewport->Actor || Actor == Viewport->Actor->Weapon);
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?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
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.
- Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: ALAudio for Unreal 227i - development and links
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.In a sensible manner? I don't know what this is supposed to mean.
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).
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.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?
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".
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).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.
Last edited by Masterkent on Fri Nov 10, 2017 2:27 pm, edited 1 time in total.
- Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: ALAudio for Unreal 227i - development and links
Here's the samples with HRTF off and on:
(HRTF is disabled)
(HRTF is enabled)
Config:
(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
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
Thank you for this elaboration, I agree with you, this argument is convincing.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.In a sensible manner? I don't know what this is supposed to mean.
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).
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.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?
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".
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).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.
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.
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
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.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
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.
- Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: ALAudio for Unreal 227i - development and links
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).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.
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.
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
No need to rush, I've got more than enough things yet to take care about you know
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.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.
Sometimes you have to lose a fight to win the war.
- Kain
- Posts: 3
- Joined: Tue Nov 07, 2017 9:07 pm
Re: ALAudio for Unreal 227i - development and links
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 =)
PS - next game that i will try with your great ALAaudio driver is Rune Classic, hope there will be no problems with sfx volume =)
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
Feedback is always welcome
As for:
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.
As for:
The clamp is and was definitely in place- with AL_MAX_GAIN having set. This should prevent anything higher as 1.0.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.
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.
- Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: ALAudio for Unreal 227i - development and links
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:I don't see a problem here as long it doesn't crash older clients and just doesn't work thereWe 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.
http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1511646400
- Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: ALAudio for Unreal 227i - development and links
Config:Is there a specific set up in which this behavior is noticed at best?
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
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
- Smirftsch
- Administrator
- Posts: 8999
- Joined: Wed Apr 29, 1998 10:00 pm
- Location: NaPali
- Contact:
Re: ALAudio for Unreal 227i - development and links
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.
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.