Noteblocks volume drop-off with distance is too steep
Problem: The volume of a sounding noteblock drops off very steeply (with player distance) in Bedrock edition, compared with Java. In Java, the drop-off rate seems to be less steep for the first 30 or so blocks than it is for 31-48 blocks' distance. The scaling in Bedrock should be adjusted to match that in Java.
Impact of issue: This severely limits the possible length of a song crafted with noteblocks in Bedrock edition, as the full tune cannot be heard clearly from one player position if the circuit exceeds one chunk radius (from the player) - the volume of the tune will also fluctuate greatly depending on each block's distance from the player.
Steps to reproduce:
- Create a clock to repeatedly sound a noteblock
- Move away from the noteblock
- Notice the drop-off in volume while moving away (I don't know of a way to accurately measure it)
(Note - previously reported in MCPE-47833 which was closed due to inactivity.)
Created Issue:
Noteblocks volume drop-off with distance is too steep
Problem: The volume of a sounding noteblock drops off very steeply (with player distance) in Bedrock edition, compared with Java. In Java, the drop-off rate seems to be less steep for the first 30 or so blocks than it is for 31-48 blocks' distance. The scaling in Bedrock should be adjusted to match that in Java.
Impact of issue: This severely limits the possible length of a song crafted with noteblocks in Bedrock edition, as the full tune cannot be heard clearly from one player position if the circuit exceeds one chunk radius (from the player) - the volume of the tune will also fluctuate greatly depending on each block's distance from the player.
Steps to reproduce:
- Create a clock to repeatedly sound a noteblock
- Move away from the noteblock
- Notice the drop-off in volume while moving away (I don't know of a way to accurately measure it)
(Note - previously reported in
MCPE-47833which was closed due to inactivity.)
relates to
relates to
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
- Load Sound Attenuation Test.mcworld

- 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.


All Bedrock sounds, except those that use max_distance*, have an exponential volume falloff, visible here: https://www.desmos.com/calculator/k2ykwuijru
This differs from Java, which has linear attenuation, visible here: https://www.desmos.com/calculator/hrj7zevxdw
As a result, Bedrock sounds get extremely quiet in a very short distance (80% volume reduction in just 5 blocks), and are never fully inaudible. Only sounds that are "too far away" (varies, but is usually 16 blocks) are simply not played at all.
*(This includes all music discs, many warden and bee noises, raid horns, and a couple other random sounds)
—
Regarding note blocks specifically, Java is hardcoded to play them with volume 3, which (as visible in the graph linked above), results in a linear audible range of 48 blocks.
Bedrock uses sounds.json to play them with volume 3, which has no effect besides increasing the "cutoff" range to 48 blocks.
Therefore, here is how Java note block volume is affected by distance:

And here is Bedrock:

Players who are beyond the gray line (48 blocks away) when the sound starts will not hear it at all.
—
The fix for noteblocks is very simple: set max_distance to 48 in sound_definitions.json. However, I think it's worth re-evaluating whether the exponential falloff is a preferable default for Bedrock sounds, and the purpose of volume in sounds.json since it does not affect attenuation in Bedrock like it does in Java.
Confirming the changes made in 1.19.70.20 Preview. File sound_definitions.json updated with max_distance=48 added for all noteblock sounds. Noteblock volume now attenuates linearly.
Per ADO closing as fixed.