Sounds.json

sounds.json (sound_definitions.json $$) 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  in resource packs, and the default file is located in   (  on ), and its hashed name can be found by looking it up in the file.

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

Java Edition
This file is stored in JSON format, but is represented here using NBT.
 * The root Object.
 * : A sound event. The name is usually separated in categories (such as ). All default sound events are listed in the table below. (To get a different namespace than   the file must be under a different namespace; not defining it here.)
 * : 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".
 * : Translated as the subtitle of the sound if Show Subtitles is enabled ingame. Accepts formatting codes and displays them properly in-game. Optional.
 * : 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 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.
 * : The path to this sound file from the "namespace/sounds" folder (excluding the .ogg file extension). The namespace defaults to 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).
 * : The volume for playing this sound. Value is a decimal between 0.0 and 1.0. If undefined, defaults to 1.0.
 * : Plays the pitch at the specified value. If undefined, defaults to 1.0, but higher and lower values can be chosen.
 * : 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.
 * : 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.
 * : Modify sound reduction rate based on distance. Used by portals, beacons, and conduits. Defaults to 16.
 * : 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".
 * : 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".

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

 * 1.14.0
 * : The root Object.
 * : Always set to.
 * : A sound event. The name is usually separated in categories (such as or ). All default sound events are listed in the table below.
 * : What volume slider affects this sound event. Can be . Defaults to "sound".
 * : The distance at which the sound's volume starts to attenuate (fade off)
 * : The distance at which the sound can no longer be heard.
 * : The sounds that this sound event will use.
 * : The path to this sound file from the resource pack folder (excluding the file extension).
 * : The path to this sound file from the resource pack folder (excluding the file extension).
 * : 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".
 * : The volume for playing this sound. If undefined, defaults to 1.0.
 * : The pitch for playing this sound. If undefined, defaults to 1.0.
 * : 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.
 * : Deprecated.
 * : Unused.
 * : 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.
 * : Deprecated.
 * : Unused.


 * Old
 * The root Object. Same as 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. 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.

Unused sound events
An unused sound event is any sound embedded into Minecraft that does not have a trigger without plugins or mods. They do not have a defined frequency of amplification, or anything else a generic, used sound would use. Also, they will not have subtitles until they are used from a trigger in the vanilla game. These do not usually have a corresponding translation key.

List
Below is a list of features along with audio sources for their unused sound events.


 * Wolf


 * Ghast


 * Player


 * Bat


 * Silverfish


 * Endermite


 * Zombie


 * Frog

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,‌ or landed on.‌