env_soundscape Improvements #50

Open
opened 2022-02-18 21:52:20 -08:00 by xylemon · 0 comments
Owner

I was looking at env_soundscapes for Source, and I learned some new things about how they work. All their features aren't too different from ours, but they have some neat stuff we should probably implement for compatability and just because they're useful.

  • dsp
    You can specify env_sound types here, uses a number but we can specify the full name. Aso comes with a volume control. This cuts out using env_sound if desired, which I agree can be useful and helps optimize/streamline.

  • playsoundscape
    This allows you to load a soundscape with a soundscape, this is how they get "layers" in soundscapes. It seems you could load as many as you but I'm sure there is some limit. "DSP presets in the 'sub-scape' are ignored."

  • playrandom/rndwave
    We do random sorting already, but it seems they don't by default? rndwave might have a counterpart for playing a list of sounds in a sequence

  • time
    Used for delaying a set of sounds that play

  • position
    Allows sounds to be played in different "areas", need to investigate how this done, the effect might be just channels or have spatial properties

  • attenuation
    How quickly sound drops off from the area

  • soundlevel
    An alternative to attenuation, but why?

Documentation:

https://developer.valvesoftware.com/wiki/Soundscape

Entity documentation, not asking to implement these, at least not until we really have to because they're is just soo much :x

https://developer.valvesoftware.com/wiki/Env_soundscape
https://developer.valvesoftware.com/wiki/Env_soundscape_proxy

https://developer.valvesoftware.com/wiki/Trigger_soundscape

Also here is a snippet from soundscapes_trainyard.txt:


// sound of appartment occupants from various locations
// played automatically by d1_trainstation.Appartments

"d1_trainstation.Occupants"
{
	"playrandom"
	{
		"time"		"2,7"
		"volume"	"0.15,0.28"
		"pitch"		"95,105"
		"position"	"random"
		"soundlevel" "SNDLVL_140dB"

		"rndwave"
		{
					"wave"  "ambient/materials/bump1.wav"
					"wave"  "ambient/materials/shuffle1.wav"
					"wave"  "ambient/materials/squeeker2.wav"
					"wave"  "ambient/materials/squeekyfloor1.wav"
					"wave"  "ambient/materials/squeekyfloor2.wav"
				//	"wave"  "ambient/materials/cupdrop.wav"
					"wave"  "ambient/materials/dinnerplates1.wav"
					"wave"  "ambient/materials/dinnerplates2.wav"
					"wave"  "ambient/materials/dinnerplates3.wav"
					"wave"  "ambient/materials/dinnerplates4.wav"
					"wave"  "ambient/materials/dinnerplates5.wav"
					"wave"  "ambient/voices/cough1.wav"
					"wave"  "ambient/voices/cough2.wav"
					"wave"  "ambient/voices/cough3.wav"
					"wave"  "ambient/voices/cough4.wav"
					"wave"  "ambient/materials/flush1.wav"
					"wave"  "ambient/materials/flush2.wav"
					"wave"  "ambient/materials/footsteps_wood1.wav"
					"wave"  "ambient/materials/footsteps_wood2.wav"
					"wave"  "ambient/materials/rustypipes1.wav"
					"wave"  "ambient/materials/rustypipes2.wav"
					"wave"  "ambient/materials/rustypipes3.wav"
		}
	}
}

"d1_trainstation.AppartmentCourtyard"
{
	"dsp"	"1"
	"dsp_volume" "1.0"
	
	"playsoundscape"
	{
		"name"		"d1_trainstation.util_city"
		"volume"	"0.4"
	}

	"playlooping"
	{
		"volume"	"0.1"
		"wave"		"ambient/atmosphere/station_ambience_loop4.wav"
		"pitch"		"100"
		"attenuation"	"0"
	}

	"playsoundscape"
	{
		"name"		"d1_trainstation.Occupants"
		"volume"	"0.5"
	}
}
I was looking at env_soundscapes for Source, and I learned some new things about how they work. All their features aren't too different from ours, but they have some neat stuff we should probably implement for compatability and just because they're useful. - dsp You can specify env_sound types here, uses a number but we can specify the full name. Aso comes with a volume control. This cuts out using env_sound if desired, which I agree can be useful and helps optimize/streamline. - playsoundscape This allows you to load a soundscape with a soundscape, this is how they get "layers" in soundscapes. It seems you could load as many as you but I'm sure there is some limit. "DSP presets in the 'sub-scape' are ignored." - playrandom/rndwave We do random sorting already, but it seems they don't by default? rndwave might have a counterpart for playing a list of sounds in a sequence - time Used for delaying a set of sounds that play - position Allows sounds to be played in different "areas", need to investigate how this done, the effect might be just channels or have spatial properties - attenuation How quickly sound drops off from the area - soundlevel An alternative to attenuation, but why? Documentation: https://developer.valvesoftware.com/wiki/Soundscape Entity documentation, not asking to implement these, at least not until we really have to because they're is just soo much :x https://developer.valvesoftware.com/wiki/Env_soundscape https://developer.valvesoftware.com/wiki/Env_soundscape_proxy https://developer.valvesoftware.com/wiki/Trigger_soundscape Also here is a snippet from soundscapes_trainyard.txt: ``` // sound of appartment occupants from various locations // played automatically by d1_trainstation.Appartments "d1_trainstation.Occupants" { "playrandom" { "time" "2,7" "volume" "0.15,0.28" "pitch" "95,105" "position" "random" "soundlevel" "SNDLVL_140dB" "rndwave" { "wave" "ambient/materials/bump1.wav" "wave" "ambient/materials/shuffle1.wav" "wave" "ambient/materials/squeeker2.wav" "wave" "ambient/materials/squeekyfloor1.wav" "wave" "ambient/materials/squeekyfloor2.wav" // "wave" "ambient/materials/cupdrop.wav" "wave" "ambient/materials/dinnerplates1.wav" "wave" "ambient/materials/dinnerplates2.wav" "wave" "ambient/materials/dinnerplates3.wav" "wave" "ambient/materials/dinnerplates4.wav" "wave" "ambient/materials/dinnerplates5.wav" "wave" "ambient/voices/cough1.wav" "wave" "ambient/voices/cough2.wav" "wave" "ambient/voices/cough3.wav" "wave" "ambient/voices/cough4.wav" "wave" "ambient/materials/flush1.wav" "wave" "ambient/materials/flush2.wav" "wave" "ambient/materials/footsteps_wood1.wav" "wave" "ambient/materials/footsteps_wood2.wav" "wave" "ambient/materials/rustypipes1.wav" "wave" "ambient/materials/rustypipes2.wav" "wave" "ambient/materials/rustypipes3.wav" } } } "d1_trainstation.AppartmentCourtyard" { "dsp" "1" "dsp_volume" "1.0" "playsoundscape" { "name" "d1_trainstation.util_city" "volume" "0.4" } "playlooping" { "volume" "0.1" "wave" "ambient/atmosphere/station_ambience_loop4.wav" "pitch" "100" "attenuation" "0" } "playsoundscape" { "name" "d1_trainstation.Occupants" "volume" "0.5" } } ```
eukara was assigned by xylemon 2022-02-18 21:52:20 -08:00
xylemon self-assigned this 2022-02-18 21:52:20 -08:00
xylemon added the
Base
label 2022-02-18 21:52:45 -08:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: tech/nuclide#50
No description provided.