Loading...
  OR  Zero-K Name:    Password:   

About the problems of ZKs sounds and possible solutions

43 posts, 1686 views
Post comment
Filter:    Player:  
Page of 3 (43 records)
sort
So, I will try to make this as understandable as possible.

This is the freq-spectrum of a typical clusterfuck:



The stuff below ~ 200 Hz is the area we call "Bass". Below 20 Hz is what we call "Subbass" Subbass is the sonic equivalent to infrared - you cannot hear it, you only percieve it as vibrations. Now, our hearing i not linear, meaning that lower freq need to be a lot louder compared to the higher ones in terms of amplitude to be percieved as equally loud. You can see that in the spectrum: The bass is a lot louder than the rest.
Now, where is the problem?


As said, freq below 20 Hz are not even audible, but even the stuff below ~80 Hz is not being accurately reproduced by est. 95% of speakers. Even super-high-class subwoofers rarely can produce freq lower than 40 Hz. But that does not mean your speakers are not going to TRY to reproduce it. This results in extreme movement of the speaker from one maximum excursion to the other. While it is at or close to its extreme positions, it cannot vibrate any further in that direction. So in effect, the subbass clogs up your speakers and you get a negative effect on the rest of the signal from something you do not even hear.

This means that when mixing music for example, you are generally trying to keep that area clean and have the space between 20-100 Hz only occupied by one or two sounds at a time. In ZK on the other hand, it seems that almost every sound has components that reach below 100 Hz. The result is the indistinguishable rumble you get as soon as many units begin to fight.
On the other hand, bass is what makes sounds feel wheighty and fat, and the rumble is actually quite realistic for big-cannon-warfare. Just removing anything low is not going to work, because then you don`t get that feeling of intensity and firepower.

Example: Clusterfuck without bass at all - not too bad, but not amazing either
https://drive.google.com/file/d/1FR51cOvd40pOKQzMLo3cXpZ-dKfj6mO7/view?usp=sharing

So, this needs a bit more differentiated solutions:
- Cut everything below ~ 40 Hz down (if you know how filters work, cutting down does not mean getting completely rid of most of it.
- Clear sounds that are not heavy (glaive-fire, raptor-laser etc) of everything below ~100 Hz.

If I ever find the time for this, I can do this. Its not hard to do in any way, but going through all the sounds takes a lot of time and organization.

There is another thing I would like to alter, but this can come later.
+16 / -0

21 months ago
I just messed around with 1 firing Glaive and it turned out that this is pretty good to demonstrate what I mean:
In this clip, I switch back and forth between 2 versions, one is the default, the other one got severly truncated below 350(!) Hz:

https://drive.google.com/file/d/1rF9jaWG-bApFYPni4B0raMoFmWTsC30A/view?usp=sharing

So much of that puny glaive-cannon is just pure rumble without information. The basscut version is probably too extreme, but remember that this is 1 single glaive...
+3 / -0

21 months ago
In the glaive example, are those sounds from when the glaive is actually hitting something or just missing? If the glaive is hitting something the bass makes more sense but if it isn't then yeah the gun on its own sounds weird with all the bass.
+0 / -0

21 months ago
Technically it hits the ground, but the rumble comes fromt the gun itself... It´s apparent for 2 things: It doesn`t change when I fire at a cliff and some shots hit, others miss. And it has no delay between both elements, while the projectile has a flight time.
But that brings me to the complicated part:
Who can tell me how the game manages the sound as a whole? There are obvious things that are done to the samples - the closer the camera is, the louder it gets etc.
+2 / -0


21 months ago
In the example you seem to have a squeal of some kind. Most notable in the first 3 seconds and at around 8 seconds. Did you record this on a microphone?
+0 / -0
That is the unit-selection sound for glaives (or whatever its called...) The one at the beginning`s first half is chopped off.
+0 / -0
21 months ago
OH yes please, this constant rumbling bass gives me a headache. It also makes it hard to play using speakers.
+1 / -0

21 months ago
Yes my guess is that it is not that apparent for most people because almost everyone uses headphones. DErankexploit once told me at the beginning of a match "wait, gotta deactivate my subwoofer or my plates will fall out of the shelves."
+2 / -0
* Epic analysis!

* ZK does still sound way more dirty, tinny and less bass-ey than most games I play. Is too much bass noise the main problem?

* Cerb hit noise is imo by far the worst offender for shelf-shaking noise and unpleasant noise. Pillager firing noise is quite pleasant.

* Pleasant/musical sounds > realistic noise, at least for this game. For example having more distant but powerful noises like this would imo be better than more realistic and dirty kind of noise like this. Yet the first one seems more bass-heavy.

* Could there be some kind of audio filter based on the number of noise sources on the battlefield at that time? What about doing more distortion/echo/smoothing based on the camera distance? Dulling things when you are zoomed out because there is likely to be more sounds noises on screen, but they are further away?
+1 / -0


21 months ago
You are probably hearing me collecting sounds from various places back around 2009, then doing a bit of mixing with headphones are no prior experience. Someone had to replace the TA stuff.

Cerberus is particularly annoying. It's a question of where the replacement sound will come from though.

quote:
Who can tell me how the game manages the sound as a whole? There are obvious things that are done to the samples - the closer the camera is, the louder it gets etc.

You would have to delve into the engine. Maybe a current engine dev has looked at sounds, you could ask them. Perhaps the suggestively named variables of the sounds defs mean something to you.
+0 / -0

21 months ago
maybe there is a marketing budget leftover to bring DErankkatastrophe to work? (he is an on-demand sound tech with no regular income)
+3 / -0
AUrankAveragePlan

quote:

* Could there be some kind of audio filter based on the number of noise sources on the battlefield at that time? What about doing more distortion/echo/smoothing based on the camera distance? Dulling things when you are zoomed out because there is likely to be more sounds noises on screen, but they are further away?


There is as far as I understand the code (be aware, I have absolutely no idea of programming/reading code).
Look under "SoundItem Properties" in the link AUrankAdminGoogleFrog posted: https://springrts.com/wiki/Sounds.lua

AUrankAdminGoogleFrog

This is going to be a long post...

quote:
You are probably hearing me collecting sounds from various places back around 2009, then doing a bit of mixing with headphones are no prior experience. Someone had to replace the TA stuff.


I guess that was lot of work, and I think you ended up with pretty usable stuff. Tweaking the existing sounds seems like a much better option to me than a complete rework, for 2 reasons:
- The playerbase doesn't have to relearn to "read" zk's audio
- You managed to create a soundscape that is pretty coherent in itself. Tht is not a guaranteed result, especially if one gets lost in details on the way. Me and DErankHiEnergy were working on the claw-mine sounds a few years back, and HiEnergy gave me a sound he made for the claw-mine, that sounded a lot better than the existing one when you listened to it itself. But when you would play it together with the existing sounds, it just came over as from a diffent game. It just didn`t fit in.
(I may have talked too much about the things that bother me I guess. I also think that the priority-settings are really really well placed. I had a guess that this existed because it is esp. noticeable with silo. Launching missiles from silo is always clearly audible and "presses away" other sounds.)



I still have a few questions:

- So, what I try to understand is the games internal audio-signal-path. How many different SoundItems can be active at once?
- Since there is a volume-fader in the player-UI, I suspect there is some kind of signal-sum that can be manipulated? Or does adjusting "sound"-volume in-game simply affect the individual SoundItems stettings?

Here is my current conzeptualizatuion of what is going on based on my ears, assumptions and what I hope I get from the code.
As an example I take a game-situation where you have 4 SoundItems:
- camera-position is map-center
- 2 glaives that are very close to each other firing to your left (west)
- a pillager-shell hitting the ground somewhere in the middle of the map
- 1 glaive firing to your right
- a silo launching a missile in the far north-west, lets say


This is how I try to visualize the signal-path for myself so far:
(Sorry for the weird, "mirrored" layout of the diagram, result of an earlier version)



I have left out several other processes/functions that are done to the individual SoundItems. The diagram is not about showing completely whats going on, but about to ask if I get the basic things of what is happening right...
So please correct me where I am wrong.
+3 / -0


21 months ago
I don't know how sounds are handled in the engine, or even what the theoretical constraints are. I know a few things from bugs. Eg I know something about the doppler system because there was a rare bug that would shift the pitch of music upwards slightly. Blowing up a lot of Snitches at exactly the same time sounds a lot louder than a slightly staggered explosion.
+2 / -0
quote:
Blowing up a lot of Snitches at exactly the same time sounds a lot louder than a slightly staggered explosion.


This could be a simple matter of physics. Just remember that we are essentialy talking about wave-functions. If you play the exact same sound twice at the exact same time, the result of that addition is spimply more amplitude. If the second signal is delayed against the first, you get phase cancellation.*
You could try to increase the value of "float pitchmod" for this case and see if you get a good result without weird side-effects. If the problem is caused by something else, I have no idea.

* [Spoiler]



+1 / -0

21 months ago
Should the files be on my harddrive or do I actually have to manually download them one after another from GitHub? I guess I could start already and do this in-between.
+0 / -0
21 months ago
quote:
Should the files be on my harddrive or do I actually have to manually download them

The sound files from GitHub should already be on your hard drive. They'll be inside an .sdz file (just a renamed .zip) inside your zero-k/games/ directory.
+1 / -0

21 months ago
Thanks for the answer. Still dont know what I have to search for, the name of one sound-file would help me a lot.
+0 / -0
Sorry if that was a bit vague... If you've got the steam version of ZK, the file you're looking to open is zk-stable.sdz (rename to zip first) and it'll have a 'sounds' folder in it. If you have non-steam version, it's one of two files with some long string of characters as a name. For either version, these files will be in your zero-k/games folder.

If you extract that with some archive utility, you should have local copies of the list of .wav files that you can see at https://github.com/ZeroK-RTS/Zero-K/tree/master/sounds in a folder on your machine, and navigating it should have the same file structure that you see on GitHub.

[Spoiler]
+1 / -0

21 months ago
Perfect! Thanks a lot!
+0 / -0


21 months ago
Cloning the repository is best.
+0 / -0
Page of 3 (43 records)