Longer sounds aren't processed correctly
dev-yako opened this issue ยท 1 comments
I'm making a map that requires a custom resource pack, and several of the new sounds I loaded into the game are rather long, ranging from several seconds of continuous sound to multiple minutes of machine room ambience. A problem I noticed with Sound Physics Remastered while constructing a submarine-like structure (that the player must navigate while PA loudspeakers dispatch messages and alarms blare) is that the reverb and suppression of the sounds appears to only process once. The issue is constant through several versions and both Forge and Fabric.
For example, when I use the /playsound
command to start running a background drone of machinery in the engine room WHILE the character stands in the engine room as well, the sound is very clearly heard from anywhere within the structure, even through three stories of multilayered flooring and vessel decoration (copper and deepslate, to be specific). On the other hand, using /playsound
while on the top floor of the build and the same play coordinates as the last test yields a nearly inaudible highly muffed and deepened version of the same sound. Even after walking down to the engine room and standing right next to the point where the sound is emitted, the initial result is unchanged. By the way, the ambience OGG file lasts about three minutes at normal pitch and speed.
Another example would be the PA announcements I mentioned; German and English warning audios repeated by a TTS robot inform the player of mechanical problems. In the event the player is next to one of the "speakers" (custom heads) when the audio is relayed, they'll be able to hear the entire message just fine throughout the whole building, but if it's repeated while the player happens to be in the ladder well or just behind a wall from a speaker, the sound will be totally muffled from any point in the build for the rest of the dispatch even if the player proceeds to run their face into the nearest PA speaker after the sound starts playing.
TL;DR: Long sounds are processed only once and remain at their initial play volume/pitch for the entire duration of the OGG file.
A system of repeated updates to the sound's position (similar to how Optifine tracks dynamic lighting) and its reverb waves would provide long sounds a more fluid playback as you move around them (e.g., the sound starts muffled behind a wall then grows clear once you step into its room).
Here's a link to a video of me demonstrating what happens: https://youtu.be/yZZzZPbhzTA
This is completely intended and won't be changed due to performance reasons and limitations in the minecraft sound engine.
There are sounds in minecraft that get constantly updated. But normal sounds like the ones you use are not, since they are intended to be very short.
If you really want to fix this issue, you should use moving sounds.