Minecraft Wiki
Advertisement

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 than minecraft 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".

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[]

This section is missing information about descriptions and verification of some parameters. 
Please expand the section to include this information. Further details may exist on the talk page.

[verify]

1.14.0
  • : The root Object.
    •  format_version: Always set to 1.14.0 or 1.20.20.
    •  sound_definitions
      •  Sound Event: A sound event. The name is usually separated in categories (such as mob.endermen.stare or step.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 or sound. 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.
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[]


Brush
This section needs cleanup to comply with the style guide. [discuss]
Please help improve this page. The talk page may contain suggestions.
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.[1] 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
SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
distance
None[sound 2]NoneUnused sound event[sound 1]entity.wolf.howlNone[sound 2]NoneNoneNone
Ghast
SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
distance
None[sound 2]NoneUnused sound event[sound 1]entity.ghast.screamNone[sound 2]NoneNoneNone
Player
SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
distance
None[sound 1]NoneUnused sound event[sound 2]entity.player.breathNone[sound 1]NoneNoneNone
  1. a b No bug reports have been made for this case, however given the resolution of most others the lack of a subtitle is implied to be intentional
  2. MC-185414
Bat
SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
distance
None[sound 2]NoneUnused sound event[sound 1]entity.bat.loopNone[sound 2]NoneNoneNone
Silverfish
SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
distance
FootstepsNoneUnused sound event[2]entity.silverfish.stepsubtitles.block.generic.footstepsNoneNoneNone
Endermite
SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
distance
FootstepsNoneUnused sound event[3]entity.endermite.stepsubtitles.block.generic.footstepsNoneNoneNone
Zombie
SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
distance
Block broken [sound 1]NoneUnused sound event[sound 2]entity.zombie.attack_iron_doorsubtitles.block.generic.break[sound 1]NoneNoneNone
Frog
SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
distance
None[sound 1]Friendly CreaturesUnused sound evententity.frog.tongueNone[sound 1]0.51.016
  1. a b MC-249080

Block sound categories[]

Main article: Block sound type

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.213w42aAdded sounds.json.
1.915w43aChanged the ID of most sounds. The older IDs can be found at Sounds.json/Java Edition values before 1.9.
15w43bAdded "subtitle" field.
16w02aAdded "voice" sound event category.
1.10pre2Removed "category" field.[4]
1.1318w10aAdded "preload" field.
Pocket Edition Alpha
0.12.1build 1Added sounds.json.[is this the correct version?]
Pocket Edition
1.0.4alpha 1.0.4.1Renamed sounds.json to sound_definitions.json.
Bedrock Edition
1.16.0beta 1.16.0.63Deprecated the "load_on_low_memory" field, as all audio can now play on low memory devices.

References[]

Advertisement