sounds.json (sound_definitions.json in Bedrock Edition) is a file used by the sound system in resource packs which tells the sound system what sound files to play when a sound event is triggered by one or more in-game events. This file is located in assets/minecraft
in resource packs, and the default file is located in .minecraft/assets/objects
(assets/resource_packs/vanilla/sounds
on Bedrock Edition), and its hashed name can be found by looking it up in the file .minecraft/assets/indexes/<version>.json
.
Since file .minecraft/assets/objects
is obfuscated, one can find in Tutorials/Sound directory some methods to extract the sound.json and the sound directory, where all sounds and music are stored.
File structure[]
Java Edition[]
This file is stored in JSON format, but is represented here using NBT.
- The root Object.
- Sound Event: A sound event. The name is usually separated in categories (such as
entity.enderman.stare
). All default sound events are listed in the table below. (To get a different namespace thanminecraft
the file must be under a different namespace; not defining it here.)- replace: true/false. Used only in resource packs. True if the sounds listed in sounds should replace the sounds listed in the default sounds.json for this sound event. False if the sounds listed should be added to the list of default sounds. Optional. If undefined, defaults to "false".
- subtitle: Translated as the subtitle of the sound if Show Subtitles is enabled ingame. Accepts formatting codes and displays them properly in-game. Optional.
- sounds: The sound files this sound event uses. One of the listed sounds is randomly selected to play when this sound event is triggered. Optional.
- The path to a sound file from the "namespace/sounds" folder (excluding the .ogg file extension). Uses forward slashes. The namespace defaults to
minecraft
but it can be changed by prepending a namespace and separating it with a:
. - A sound file. This Object is used only when the sound requires additional Strings.
- name: The path to this sound file from the "namespace/sounds" folder (excluding the .ogg file extension). The namespace defaults to
minecraft
but it can be changed by prepending a namespace and separating it with a:
. Uses forward slashes instead of backslashes. May instead be the name of another sound event (according to value of "type"). Note that sound file must have one channel (mono). - volume: The volume for playing this sound. Value is a decimal between 0.0 and 1.0. If undefined, defaults to 1.0.
- pitch: Plays the pitch at the specified value. If undefined, defaults to 1.0, but higher and lower values can be chosen.
- weight: The chance that this sound is selected to play when this sound event is triggered. Defaults to 1. An example: putting 2 in for the value would be like placing in the name twice. Only accepts integers.
- stream: true/false. True if this sound should be streamed from its file. It is recommended that this is set to "true" for sounds that have a duration longer than a few seconds to avoid lag. Used for all sounds in the "music" and "record" categories (except Note Block sounds), as (almost) all the sounds that belong to those categories are over a minute long. Optional. If undefined, defaults to "false". Setting this to false allows many more instances of the sound to be ran at the same time while setting it to true only allows 4 instances (of that type) to be ran at the same time.
- attenuation_distance: Modify sound reduction rate based on distance. Used by portals, beacons, and conduits. Defaults to 16.
- preload: true/false. True if this sound should be loaded when loading the pack instead of when the sound is played. Used by the underwater ambience. Defaults to "false".
- type: Two values are available: "sound" and "event"; "sound" causes the value of "name" to be interpreted as the name of a file, while "event" causes the value of "name" to be interpreted as the name of an already defined event. If undefined, defaults to "sound".
- name: The path to this sound file from the "namespace/sounds" folder (excluding the .ogg file extension). The namespace defaults to
- The path to a sound file from the "namespace/sounds" folder (excluding the .ogg file extension). Uses forward slashes. The namespace defaults to
- Sound Event: A sound event. The name is usually separated in categories (such as
An example of a pre-1.10 sounds.json can be found here.
Dinnerbone's pre-1.10 specifications can be found here.
Bedrock Edition[]
[verify]
- 1.14.0
- : The root Object.
- format_version: Always set to
1.14.0
or1.20.20
. - sound_definitions
- Sound Event: A sound event. The name is usually separated in categories (such as
mob.endermen.stare
orstep.stone
). All default sound events are listed in the table below.- category: What volume slider affects this sound event. Can be
master
,music
,record
,weather
,hostile
,neutral
,player
,block
,ambient
,voice
orsound
. Defaults to "sound". - min_distance: The distance at which the sound's volume starts to attenuate (fade off)
- max_distance: The distance at which the sound can no longer be heard.
- sounds: The sounds that this sound event will use.
- name: The path to this sound file from the resource pack folder (excluding the file extension).
-
- name: The path to this sound file from the resource pack folder (excluding the file extension).
- stream: true/false. True if this sound should be streamed from its file. It is recommended that this is set to "true" for sounds that have a duration longer than a few seconds to avoid lag. Used for all sounds in the "music" and "record" categories (except Note Block sounds), as (almost) all the sounds that belong to those categories are over a minute long. Optional. If undefined, defaults to "false".
- is3D:
- volume: The volume for playing this sound. If undefined, defaults to 1.0.
- pitch: The pitch for playing this sound. If undefined, defaults to 1.0.
- weight: The chance that this sound is selected to play when this sound event is triggered. Defaults to 1. An example: putting 2 in for the value would be like placing in the name twice. Only accepts integers.
- load_on_low_memory: Deprecated.
- subtitle: Unused.
- category: What volume slider affects this sound event. Can be
- Sound Event: A sound event. The name is usually separated in categories (such as
- format_version: Always set to
- Old
- The root Object. Same as
sound_definitions
from the tree above.
Sound events[]
A sound event is linked to one or more in-game events. Two sound events may share the same sound file, but correspond to different in-game events and/or belong to different sound categories. A few valid sound events aren't included in sounds.json, while others don't have an in-game event associated with them. Any sound event that lacks an in-game event can be played only with /playsound
. All default sound events, the sounds they use, the category they belong to, the subtitle that plays at that event, and the in-game events they are triggered by are listed in the following table.
Java Edition values
Bedrock Edition values
Unused sound events[]
List[]
Below is a list of features along with audio sources for their unused sound events.
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
---|---|---|---|---|---|---|---|---|
None[sound 2] | None | Unused sound event[sound 1] | entity | None[sound 2] | None | None | None |
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
---|---|---|---|---|---|---|---|---|
None[sound 2] | None | Unused sound event[sound 1] | entity | None[sound 2] | None | None | None |
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
---|---|---|---|---|---|---|---|---|
None[sound 1] | None | Unused sound event[sound 2] | entity | None[sound 1] | None | None | None |
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
---|---|---|---|---|---|---|---|---|
None[sound 2] | None | Unused sound event[sound 1] | entity | None[sound 2] | None | None | None |
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
---|---|---|---|---|---|---|---|---|
Footsteps | None | Unused sound event[2] | entity | subtitles | None | None | None |
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
---|---|---|---|---|---|---|---|---|
Footsteps | None | Unused sound event[3] | entity | subtitles | None | None | None |
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
---|---|---|---|---|---|---|---|---|
Block broken [sound 1] | None | Unused sound event[sound 2] | entity | subtitles [sound 1] | None | None | None |
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
---|---|---|---|---|---|---|---|---|
None[sound 1] | Friendly Creatures | Unused sound event | entity | None[sound 1] | 0.5 | 1.0 | 16 |
Block sound categories[]
A block sound type is a set of sounds that blocks use when they are broken, placed, hit, fallen on, stepped on, jumped from,[Bedrock Edition only] or landed on.[Bedrock Edition only]
History[]
Java Edition | |||||
---|---|---|---|---|---|
1.7.2 | 13w42a | Added sounds.json. | |||
1.9 | 15w43a | Changed the ID of most sounds. The older IDs can be found at Sounds.json/Java Edition values before 1.9. | |||
15w43b | Added "subtitle" field. | ||||
16w02a | Added "voice" sound event category. | ||||
1.10 | pre2 | Removed "category" field.[4] | |||
1.13 | 18w10a | Added "preload" field. | |||
Pocket Edition Alpha | |||||
0.12.1 | build 1 | Added sounds.json.[is this the correct version?] | |||
Pocket Edition | |||||
1.0.4 | alpha 1.0.4.1 | Renamed sounds.json to sound_definitions.json. | |||
Bedrock Edition | |||||
1.16.0 | beta 1.16.0.63 | Deprecated the "load_on_low_memory" field, as all audio can now play on low memory devices. |
References[]
Editions |
| ||||||
---|---|---|---|---|---|---|---|
Development |
| ||||||
Technical | |||||||
Multiplayer | |||||||
Exclusive features |
| ||||||
Removed |