Advanced Soundscape Functionality

I figure because the soundscape system is so early in development now would be a good time to suggest some additional functionality. Obviously basic stuff like sounds emitting from a specified entity (just like you can do in source) is something I hope will be included eventually.

One improvement on this would be allowing sounds to emit from the direction of a 3d volume. Similar to the snd_event_alignedbox of half life alyx. For example, say a level has a river flowing through it. This would be far too big of an area for a single point sound to cover. A brush entity could be placed on the river, and a soundscape could use this brush as a 3d volume for the location of sound. This would make it so that no matter where you are in the level, as long as the soundscape that uses this volume is active, sounds could be coming from the direction of this volume. Thus giving you directional effect for a river sound.

Both point and volume sounds should be able to update their position in real time if their corresponding entities are moving around the world.

One more effect that would be nice to have is the ability to have “external” sounds, that can be modulated by the active soundscape. For example a point sound is playing the sound of a loud train, emitting the sound from the current location of said train. A function of the soundscape could be to modify how this sound is heard, muffling it to a low rumble when the soundscape is active, totally muting the sound, or possibly replacing the sound with a different, yet still in sync audio file. This is a very similar general concept to half life alyx’s soundscape opvar system which I hope will be implemented in someway as well.

(see: snd_event_param - Valve Developer Community and Custom Soundevents With Opvars - YouTube)

I give the train as an example because it is something dynamic and can typically can be heard from quite a far distance away. This kind of thing would be useful for many things though, like the sound of thunder or music like in the above video. In fact this whole concept might not even be appropriate as a soundscape function, perhaps it would be better as sets of advanced parameters for a “sound” itself. Regardless I hope these suggestions give the devs some ideas to consider when implementing more audio features in the future.

I never knew about snd_event_alignedbox, that’s pretty good, will definitely work to get that in.

I’m not a big fan of the opvar stuff in alyx. It’s too fidgety and requires way too much low level work to make things happen. I think we can strike a balance with that stuff though…