Jump to content

[WIP][1.10.x] Rocket Sound Enhancement v0.5.3 - Unmuted


Recommended Posts

Posted (edited)
5 hours ago, MainSailor said:

I understand if it's proprietary, but any chance you could share the spreadsheet?

its not proprietary, it just doesn't exist :P 

the best reference I could provide is really just the stock configs. Like I said its a very loose "in head" creative decision. Which sounds makes sense for which Engine.

I will try my best to explain how I made my configs:

None of the decisions are realistic tbh, the only criteria I decided on was: Engine Bell Size, Use-Case (vacuum or atmosphere) and Power.
Engine Bell Size would dictate the "pitch" of the engine. Also a reference for Loudness
Use-case would be used as reference for how "dirty" sounding the engine is: eg: Vacuum: less popping/crackling, more low end rumble, Atmo: a lot of popping and crackling
Thrust Power as a reference for its Relative Loudness with other engines.

The Main References are the Mainsail and the Masterdon for Boost Stage/Atmospheric Use, Poodle and Rhino for Vacuum Use.
The sound file names does not mean the "weight" of the engine. Its means How Dirty the sound is, Heavy means Heavy Popping/Crackling, coincidentally it sounds "massive" too. Light means minimal crackling, higher in pitch but if pitched down can be used for Vacuum Engines if you want to.
eg: FuelType_DirtyAmount_Power.wavLiquid_VeryHeavy_High.wav

its really up to you what you think sounds best for the engine you're applying my sounds on, all you have to take into account is the relative loudness of it compared to the other engines. What I did was I stared at each Engine, Look at its specs (isp, thrust power) and Categorized them under "Weight" and of course Fuel Type. then I applied the sounds then I tweaked them from there.

 

10 hours ago, Astronomer said:

but wish we could change the settings in a text file or an app menu as opposed to the difficulty menu

a dedicated Settings page is really low on the priority list right now because the actual Sound Engine itself is still pretty much a WIP. Besides that I don't have the knowledge yet when it comes to serialization via a Dedicated Settings Window. I could have just done a .cfg file but that will really slow down dev time as I have to reload the game every time I change something in the settings.

 

10 hours ago, linuxgurugamer said:

Anything needed to be changed in the SoundTrack Editor?

No need to change it, I can handle blacklisting on RSE which should make it easier to make other sound related mods compatible with RSE's built in Effects.

Edited by ensou04
Link to post
Share on other sites
10 hours ago, ensou04 said:

its not proprietary, it just doesn't exist :P 

the best reference I could provide is really just the stock configs. Like I said its a very loose "in head" creative decision. Which sounds makes sense for which Engine.

Understood, no worries! I have been tuning my configs and literally playing by ear. I'll use your guidelines as I work on the remaining ones. :cool:

Link to post
Share on other sites
On 12/24/2020 at 9:48 AM, Lijazos said:

Could someone tell me if this is compatible with Waterfall?

I'm using both. I completely uninstalled RealPlume due to performance issues (quad RD-180 boosters Energia style makes my RX590 cry.)

Works very very well.

Link to post
Share on other sites

I maintain the kOS mod.  I recently installed Rocket Sound Enhancement and discovered that it dampens kOS's sounds just like it dampens rocket sounds.  (If you're not familiar, the sounds in question are meant to be UI sounds on a text terminal, like beeps and raspberries.  The "computer" is a PartModule inside a Part on the vessel, and Rocket Sound Enhancements appears to be using that to decide its sounds are a physical sound effect in need of dampening.)

Do you have any suggestions for what I can do to set up the kOS sounds differently so Rocket Sound Enhancement doesn't dampen them?  I have them obey the UI volume slider in settings rather than the vessel sounds slider, but that doesn't seem to be enough.  I think I "moved" the audio sources outside the kOS GameObject  into a "parentless" GameObject (hoping this means they don't look like they're inside a Part) but that doesn't seem to have any effect either.

Link to post
Share on other sites
11 minutes ago, mateusviccari said:

Does this mod work with RO/RP1?

I don't believe it has direct configurations, but any incompatibilities that would have prevented one from making some have been fixed.

 

I'm working on a bit of a universal patch so per-part configurations won't be needed! A little preview:

Spoiler
@PART:HAS[!MODULE[RSE_Coupler],@MODULE[ModuleDecouple]]:AFTER[RocketSoundEnhancement]
{
!sound_decoupler_fire = decouple

	MODULE
	{
		name = RSE_Coupler

		SOUNDLAYER
		{
			name = decouple
			audioClip = RocketSoundEnhancement/Sounds/Decouplers/Decoupler_1
			spread = 0.25

			channel = ShipBoth
			
			volume:NEEDS[!#$/ModuleAblator$] = 1.0
      volume:NEEDS[#$/ModuleAblator$] = 0.5
			pitch:NEEDS[!#$ModuleAblator$] = 1.0
      pitch:NEEDS[#$ModuleAblator$] = 1.5
		}
	}
}

ModuleDecouple is one of the easy ones, most of the others will use MM variables to determine the volume/pitch, and even determine what category an engine falls into. Haven't tested this yet, so I hope the idea is feasible!

 

Link to post
Share on other sites
On 1/22/2021 at 3:34 AM, Dunbaratu said:

Do you have any suggestions for what I can do to set up the kOS sounds differently so Rocket Sound Enhancement doesn't dampen them?  I have them obey the UI volume slider in settings rather than the vessel sounds slider, but that doesn't seem to be enough.  I think I "moved" the audio sources outside the kOS GameObject  into a "parentless" GameObject (hoping this means they don't look like they're inside a Part) but that doesn't seem to have any effect either.

I'm currently working on a blacklist system for sound sources so other people don't have to change their mod but: What you could do is to make sure that your audiosources has "bypassListenerEffects" set to true so that it ignores all the effects from RSE. The blacklist system I'm going to implement pretty much behaves in the same way.

Link to post
Share on other sites
On 1/21/2021 at 10:05 PM, Clamp-o-Tron said:

I don't believe it has direct configurations, but any incompatibilities that would have prevented one from making some have been fixed.

 

I'm working on a bit of a universal patch so per-part configurations won't be needed! A little preview:

[...]

@Clamp-o-Tron

Kerbalism Default config has some patch code for reliability that could have similarities in analyzing the engine type:

Spoiler

From KerbalismConfig/System/Reliability.cfg:

 


@PART[*]:HAS[@MODULE[ModuleEngines*]:HAS[#maxThrust,@atmosphereCurve]]:NEEDS[FeatureReliability]:FOR[KerbalismDefault]
{
    @MODULE[Reliability]:HAS[#type[ModuleEngines*]]
    {
        // Parse and store atmosphere ISP as a temporary value
        __tmp_isp_atm = #$../MODULE[ModuleEngines*]/atmosphereCurve/key,1$
        @__tmp_isp_atm ^= :^[\d\.]* (\d+) *.*$:$1:

        // Parse and store vacuum ISP as a temporary value
        __tmp_isp_vac = #$../MODULE[ModuleEngines*]/atmosphereCurve/key,0$
        @__tmp_isp_vac ^= :^[\d\.]* (\d+) *.*$:$1:

        // Give ignitions based on the ratio between vacum and atmosphere ISP
        // ----
        // Example results for typical stock engines:
        // Spider => 1
        // Ant => 13
        // Twitch => 1
        // Terrier => 13
        // Thud => 1
        // LV-T30 => 1
        // Poodle => 12
        // Mainsail => 1
        @rated_ignitions = #$__tmp_isp_vac$
        @rated_ignitions /= #$__tmp_isp_atm$ // Get the ratio between vacum and atmosphere ISP
        @rated_ignitions -= 1.5 // Zero the curve to a ratio of 1.5
        @rated_ignitions ^= :^-.*$:0: // If negative, set to zero
        @rated_ignitions *= 5 // Give a power of 5 to the curve
        @rated_ignitions += 1 // Set a minimum value of 1

        // Give extra ignitions the smaller the engine is
        // ----
        // Example results for typical stock engines:
        // Spider => +64
        // Ant => +64
        // Twitch => +32
        // Terrier => +10
        // Thud => +8
        // LV-T30 => +4
        // Poodle => +2
        // Mainsail => +0
        __tmp_thrust_factor = #$../MODULE[ModuleEngines*]/maxThrust$
        @__tmp_thrust_factor ^= :^[0-9]$:_64: // if thrust between 0 and 9, give +64 ignitions
        @__tmp_thrust_factor ^= :^1[0-9]$:_32: // if thrust between 10 and 19, give +32 ignitions
        @__tmp_thrust_factor ^= :^[2-4][0-9]$:_16: // if thrust between 20 and 49, give +16 ignitions
        @__tmp_thrust_factor ^= :^[5-9][0-9]$:_10: // if thrust between 50 and 99, give +10 ignitions
        @__tmp_thrust_factor ^= :^1[0-4][0-9]$:_8: // if thrust between 100 and 149, give +8 ignitions
        @__tmp_thrust_factor ^= :^1[5-9][0-9]$:_6: // if thrust between 150 and 199, give +6 ignitions
        @__tmp_thrust_factor ^= :^2[0-4][0-9]$:_4: // if thrust between 200 and 249, give +4 ignitions
        @__tmp_thrust_factor ^= :^2[5-9][0-9]$:_2: // if thrust between 250 and 299, give +2 ignitions
        @__tmp_thrust_factor ^= :^3[0-9][0-9]$:_1: // if thrust between 300 and 349, give +1 ignitions
        @__tmp_thrust_factor ^= :^[^_].*$:_0: // if thrust is 350 or more, give +0 ignitions
        @__tmp_thrust_factor ^= :_:: // remove the "_" prefix

        // Combine the two ignitions values
        // ----
        // Final sum for the previous examples:
        // Spider => 65
        // Ant => 77
        // Twitch => 33
        // Terrier => 23
        // Thud => 9
        // LV-T30 => 5
        // Poodle => 14
        // Mainsail => 1
        @rated_ignitions += #$__tmp_thrust_factor$
        @rated_ignitions ^= :\.\d+:: // Floor value to get an integer

        // Remove all temporary variables
        !__tmp_* = dummy
    }
}

 

(with Kerbalism using Unlicense posting their code here should be okay afaik)

 

@ensou04

This mod is awesome, I've been using it since the first version released and it's really hard to play without now.

Edited by hermano
Link to post
Share on other sites

I think I remember you saying the ship effects sounds were based on jerk, i.e. change in acceleration. They sound awesome for rockets, but I wonder if there is a way to tone them down on airplanes? My airplanes sound like they're about to rip apart when doing any sort of high speed maneuvers haha.

Link to post
Share on other sites
4 hours ago, Kwebib said:

My airplanes sound like they're about to rip apart when doing any sort of high speed maneuvers haha.

maybe they are lol, go play around with the configs, shipeffects.cfg. there's no real way to differentiate a rocket from an aircraft so whatever you do there affects every vessel.

Link to post
Share on other sites
10 hours ago, ensou04 said:

I'm currently working on a blacklist system for sound sources so other people don't have to change their mod but: What you could do is to make sure that your audiosources has "bypassListenerEffects" set to true so that it ignores all the effects from RSE. The blacklist system I'm going to implement pretty much behaves in the same way.

I tried that and it literally had no effect.  I also threw in setting bypassEffects to true and also ignoreListenerVolume to see if they made any difference and they don't either.  The sound is still a lot quieter in vacuum than it is in atmosphere.

Link to post
Share on other sites
19 minutes ago, Dunbaratu said:

I tried that and it literally had no effect.  I also threw in setting bypassEffects to true and also ignoreListenerVolume to see if they made any difference and they don't either.  The sound is still a lot quieter in vacuum than it is in atmosphere.

Never mind.  It did work.  I just was running the wrong version of my dll.  (forgot I had it set to compile in Release mode not Debug mode, so I was copying the wrong DLL file.)

Thanks for the info.

Link to post
Share on other sites

I was a bit annoyed by the difference in solid rocket sounds between RSE and other mods and decided to create a generic patch to enable RSE for all boosters. The values are derived from the current stock boosters. All values are dependend on maxthrust right now. For pitch the ratio between thrust and amount of solid fuel might make more sense, though.

Spoiler

@PART[*]:HAS[@MODULE[ModuleEngines*]:HAS[@PROPELLANT[SolidFuel]],!MODULE[RSE_Engines],!MODULE[ProceduralPart]]:AFTER[RocketSoundEnhancement]
{
	!sound_vent_medium = engage
	!sound_rocket_hard = running
	!sound_vent_soft = disengage
	!sound_explosion_low = flameout
	!sound_rocket_mini = running

	@EFFECTS{@running_closed{!AUDIO{}}}
	@EFFECTS{@engage{!AUDIO{}}}
	@EFFECTS{@flameout{!AUDIO{}}}
	
	__tmp_soundfile = #$/MODULE[ModuleEngines*]/maxThrust$
	@__tmp_soundfile ^= :^[0-9]$:SRB_Light:            // for thrust 0-9 use light soundfile
	@__tmp_soundfile ^= :^[1-9][0-9]$:SRB_Light:       // for thrust 10-99 use light soundfile
	@__tmp_soundfile ^= :^[1-9][0-9][0-9]$:SRB_Medium: // for thrust 100-999 use medium soundfile
	@__tmp_soundfile ^= :^[^S].*$:SRB_Heavy:           // for remaining thrusts use heavy soundfile
	
	__tmp_volume = #$/MODULE[ModuleEngines*]/maxThrust$
	@__tmp_volume ^= :^[0-9]$:_0.5:            // for thrust 0-9 use volume 0.5
	@__tmp_volume ^= :^[1-9][0-9]$:_1.0:       // for thrust 10-99 use volume 1.0
	@__tmp_volume ^= :^[1-2][0-9][0-9]$:_0.6:  // for thrust 100-299 use volume 0.6
	@__tmp_volume ^= :^[3-5][0-9][0-9]$:_0.8:  // for thrust 300-599 use volume 0.8
	@__tmp_volume ^= :^[6-9][0-9][0-9]$:_1.0:  // for thrust 600-999 use volume 1.0
	@__tmp_volume ^= :^1[0-9][0-9][0-9]$:_0.8: // for thrust 1000-1999 use volume 0.8
	@__tmp_volume ^= :^2[0-9][0-9][0-9]$:_1.0: // for thrust 2000-2999 use volume 1.0
	@__tmp_volume ^= :^[^_].*$:_1.5:           // for remaining thrusts use volume 1.5
	@__tmp_volume ^= :_::
	
	__tmp_pitch = #$/MODULE[ModuleEngines*]/maxThrust$
	@__tmp_pitch ^= :^[0-9]$:_1.2:            // for thrust 0-9 use pitch 1.2
	@__tmp_pitch ^= :^[1-9][0-9]$:_1.0:       // for thrust 10-99 use pitch 1.0
	@__tmp_pitch ^= :^[1-2][0-9][0-9]$:_1.5:  // for thrust 100-299 use pitch 1.5
	@__tmp_pitch ^= :^[3-5][0-9][0-9]$:_1.2:  // for thrust 300-599 use pitch 1.2
	@__tmp_pitch ^= :^[6-9][0-9][0-9]$:_1.0:  // for thrust 600-999 use pitch 1.0
	@__tmp_pitch ^= :^1[0-9][0-9][0-9]$:_1.5: // for thrust 1000-1999 use pitch 1.5
	@__tmp_pitch ^= :^2[0-9][0-9][0-9]$:_1.0: // for thrust 2000-2999 use pitch 1.0
	@__tmp_pitch ^= :^[^_].*$:_0.8:           // for remaining thrusts use pitch 0.8
	@__tmp_pitch ^= :_::
	
	__tmp_spread = #$/MODULE[ModuleEngines*]/maxThrust$
	@__tmp_spread ^= :^[0-9]$:_0.12:           // for thrust 0-9 use spread 0.12
	@__tmp_spread ^= :^[1-9][0-9]$:_0.25:      // for thrust 10-99 use spread 0.25
	@__tmp_spread ^= :^[1-3][0-9][0-9]$:_0.25: // for thrust 100-399 use spread 0.25
	@__tmp_spread ^= :^[^_].*$:_0.5:           // for remaining thrusts use spread 0.5
	@__tmp_spread ^= :_::
	
	MODULE
	{
		name = RSE_Engines
		volume = #$../__tmp_volume$

        Engine
        {
			SOUNDLAYER
			{
				name = ThrustHigh
				audioClip = #$../../../__tmp_soundfile$
				@audioClip ^= :^.*$:RocketSoundEnhancement/Sounds/Engines/$0-High
				loop = true
				spread = #$../../../__tmp_spread$
				channel = ShipBoth
				
				volume = 0.0 0.0
				volume = 0.33 0.0
				volume = 0.66 1.0
				volume = 1.0 1.0
				
				pitch = #$../../../__tmp_pitch$
			}
			
			SOUNDLAYER
			{
				name = ThrustLow
				audioClip = #$../../../__tmp_soundfile$
				@audioClip ^= :^.*$:RocketSoundEnhancement/Sounds/Engines/$0-Low
				loop = true
				spread = #$../../../__tmp_spread$
				channel = ShipBoth
				
				volume = 0.0 0.0
				volume = 0.33 1.0
				volume = 0.66 0.0
				volume = 1.0 0.0
				
				pitch = #$../../../__tmp_pitch$
			}
        }
		Flameout
		{
			SOUNDLAYER
			{
				name = FlameOut
				audioClip = sound_explosion_low
				
				channel = ShipBoth
				
				volume = 1.0
				pitch = #$../../../__tmp_pitch$
				@pitch *= 1.5
			}
		}
    }
} 

 

Create a .cfg file in gamedata and paste the code to try it out.

Edited by hermano
Link to post
Share on other sites

Is there a way to completely silence sounds in vacuum? I edited my save file to take vacuum muffling down to 0 Hz, but still hear low rumbles when I crash a probe into the Mun, for example.

Edited by Kwebib
Link to post
Share on other sites
On 2/7/2021 at 9:36 AM, Kwebib said:

Is there a way to completely silence sounds in vacuum? I edited my save file to take vacuum muffling down to 0 Hz, but still hear low rumbles when I crash a probe into the Mun, for example.

yeah the filter has a relatively shallow Q so putting down to 0 hz wont silence it. 

Link to post
Share on other sites
9 hours ago, Stone Blue said:

Hmm.. sorry if this has been mentioned already...
But then, is there any conflict with running Audio Muffler Redux ?

It might work if you disable RSE's muffler. I may try this tomorrow, come to think of it.

I know I'm being picky with those low rumbles I'm hearing in space, but I want it to be silent, dang it.

Link to post
Share on other sites

Reporting in. I disabled RSE's muffler, installed Audio Muffler, and still hear low rumbles in space. Alas, I will have to deal with it.

Interestingly, RSE's muffler seems to do a better job. With Audio Muffler, you occasionally still get a random staging sound that makes it through the filter.

Link to post
Share on other sites
11 hours ago, Kwebib said:

Reporting in. I disabled RSE's muffler, installed Audio Muffler, and still hear low rumbles in space. Alas, I will have to deal with it.

Was that using the v2.6.3 unofficial update, recompiled for 1.10.1,  posted here?

 

Edited by Stone Blue
Link to post
Share on other sites

@Stone Blue Yeah. To be fair, the most robust test is probably to install Audio Muffler and RSE only, but I was too lazy to do that. I just stuck it in my existing modded game. I did make sure to disable RSE's muffler, though.

Edit: I am also on 1.10.1 because I'm using Kiwi Tech Tree

Edited by Kwebib
Link to post
Share on other sites

Hey!

First of all I want to say a big thank you for this mod!

Secondly to report errors. It is related to Retro Future mod.

Here is the part from log where those errors are:

[LOG 14:57:43.512] Applying update RocketSoundEnhancement/Configs/ShipEffects/@PART:HAS[~RSENoFX[*],#crashTolerance]:AFTER[RocketSoundEnhancement] to RetroFuture/Wheel/latMainGear/latMainGear.cfg/PART[latMainGear]
[ERR 14:57:43.512] Error - Failed to do a maths replacement: %MODULE[ShipEffectsCollisions] : original value="xi570" operator=Multiply mod value="0.9"
[ERR 14:57:43.512] Error - Failed to do a maths replacement: %MODULE[ShipEffectsCollisions] : original value="xi570" operator=Multiply mod value="0.5"
[ERR 14:57:43.512] Error - Failed to do a maths replacement: %MODULE[ShipEffectsCollisions] : original value="xi570" operator=Multiply mod value="0.5"
[ERR 14:57:43.512] Error - Failed to do a maths replacement: %MODULE[ShipEffectsCollisions] : original value="xi570" operator=Multiply mod value="0.1"

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...