Smirftsch wrote on Nov 9
th, 2017 at 3:32pm:
Masterkent wrote on Nov 9
th, 2017 at 11:37am:
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.
Quote: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...
Quote: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:
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:
//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);
}
Quote: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.