mojira.dev
MCPE-168744

Most sounds are too loud up close and/or too quiet a short distance away

Nearly all sounds in Bedrock Edition attenuate too dramatically. They are too loud within a block or two of the player and too quiet when > 5 blocks away. For example, if you adjust your device volume up to clearly hear mob sounds at 10-15 blocks then the volume of things like taking hits, throwing tridents, or trading with villagers becomes uncomfortably loud. Some specific sounds have been adjusted in the past to make them less unpleasant (MCPE-14420 / 48919, MCPE-35222, MCPE-51049) or, conversely, more noticeable (MCPE-122296, MCPE-164935), but these ad hoc adjustments have failed to address the underlying issue of extreme default attenuation.

According to this detailed comment Bedrock Edition uses exponential attenuation while Java Edition uses linear attenuation.

Steps to reproduce

  1. Load

[media]
  1. Stand on the Lapis Lazuli line and use each of the listening stations:
    (a) glass automatically breaking from 1 to 15 blocks away
    (b) villagers to trade with at 1 and 5 blocks away
    (c) levers to flip at 1 and 5 blocks away
    (d) minecart automatically moving back-and-forth between 1 and 15 blocks away

Expected result

Sound attenuates gradually with distance. Common sounds like block breaking and villager interactions are not overly load right next to you; sounds do not sound far off when they originate within interaction range at 5 blocks away; and you can hear the difference between 5 blocks and 15 blocks.

Observed result

Sound volume drops off steeply from 1 to 5 blocks and there is very little difference between 5 and 15 blocks. Common sounds like block breaking and villager interactions are uncomfortably loud if you have your volume up high enough to hear things 15 blocks away.

Linked issues

Attachments

Comments

ComradeBlue1337

This has always been a problem for me, I can confirm this happens in the latest version.

GoldenHelmet

Some perspective for this issue:
Bedrock's default attenuation may be intended to approximate real-world sound attenuation, which follows an inverse-square law because sound waves spread over an two-dimensional area as they propagate. The reason this does not feel realistic or commodious within Minecraft might be because the game actually uses two different scales for distance:

  • Objective/mob scale where 1 block = 1 meter and most entity sizes and speeds are made proportional to that.

  • Subjective/player-interaction scale where the player can reach 5 blocks to punch, flip levers, etc.

I suppose that the the player-interaction scale feels fairly natural because (1) it compensates for our real-world ability to be aware of and manipulate close-at-hand functional objects that can only be represented as block-sized in a Minecraft world, and (2) it compensates for our ability to be aware of more around us than our immediate focal gaze (seeing a mob you are fighting along with the space around it at 5 blocks away on the screen is like seeing a real-life opponent at 1-2 meters away while having wide peripheral vision and greater range of motion).

Since most sound in the game is giving us information about our interaction or potential interaction with the world (how far away is that zombie from hit range? did the lever flip? is the minecart running?) I think it would would feel more natural to have the sound tailored to the interactive scale. It feels extreme at present because it is tailored to the objective scale, and the interactive scale is zoomed in about 5x from the objective. Java's linear attenuation probably feels more natural because it approximates a 3-5x zoomed-in exponential scale.

GoldenHelmet

I noticed that the the sound_definitions.json included as part of the vanilla samples on https://github.com/Mojang/bedrock-samples/releases uses a format_version of 1.20.20 and inserts

"min_distance" : null,
"max_distance" : null,

for every sound that doesn't already have those parameters. However, these data are not present in any of the sound_definitions.json files actually included in the game. Even the 1.20.50 sound_definitions.json uses "format_version" : 1.14. I tried the new version and null data in a resource pack and could not detect a different for sound attentuation.

Phobos

Still present in the latest version. As someone who primarily plays on the Java Edition, the sound attenuation feels way too extreme on Bedrock.

GoldenHelmet

(Unassigned)

1006621

Confirmed

Multiple

java-parity

1.19.71, 1.19.73, 1.20.0, 1.20.51 Hotfix, 1.21.0, 1.21.43 Hotfix, 1.21.51 Hotfix

Retrieved