direwolf420
Terrarian


Download via Mod Browser ingame! Only available on version 0.11.5 of tModLoader (and above)!

This mod allows you to replace and modify ingame sounds however you like. It also comes with a 'deaf mode' which makes sounds visible in the world. (Almost) everything in this mod is configurable. Additionally, the mod is clientside only, so you can use it on servers without issues. I concider it an extension of Dust and Sound catalogue by Flashkirby99. Big credit goes out to @jopojelly for giving permission to use some useful coding snippets, and to @orian34 for testing and feedback.
Disclaimer: Does not work with music!
Use cases include:
* Listening to ingame sounds
* Replacing the sound of a weapon, sounds of idle enemies, sound of tiles when mined, boss roar volume reduction etc.
* Disabling specific sounds from playing completely
* Making everything sound like ducks
Manual:
* A Sound is split into two numbers: A type and a style. The type is the primary thing that decides what the sound is and roughly where it originates from. A single type can have one to more than a hundred styles, though most sound types have only one style. The style decides what variation of the sound it is, or in a broader sense, a sound that is classified as this type
* A sound will have a specific volume and pitch aswell, those are self explanatory, but are limited in range
* See Notes below for more information, exceptions etc
* A sound will have a specific volume and pitch aswell, those are self explanatory, but are limited in range
* See Notes below for more information, exceptions etc
* If you are ingame: go to the menu, then to 'Mod Configuration'. If you are in the main menu: go to the mod list, and click on the cog icon for this mod
* Click on one of the categories you wish to edit
* To add a new rule, click the '+'
* In the 'key' entry, click the empty icon that says 'nothing'
* Pick a thing you want the sound to replace of
* In the 'New Sound' entry, pick a sound type, its style, volume and pitch
* Pick a 'Held Item Constraint' that will only apply this sound when the player holds that item (Leave blank to always apply)
* Click on 'Play Sound' to play the current sound
* If you want to replace ALL sounds of a given type (Item, NPC), leave the 'key' blank
* If you want to mute a sound of the given key, simply set the sound type to 'None'
* To find out what numbers to use, check the 'Debug Settings'
* Click on one of the categories you wish to edit
* To add a new rule, click the '+'
* In the 'key' entry, click the empty icon that says 'nothing'
* Pick a thing you want the sound to replace of
* In the 'New Sound' entry, pick a sound type, its style, volume and pitch
* Pick a 'Held Item Constraint' that will only apply this sound when the player holds that item (Leave blank to always apply)
* Click on 'Play Sound' to play the current sound
* If you want to replace ALL sounds of a given type (Item, NPC), leave the 'key' blank
* If you want to mute a sound of the given key, simply set the sound type to 'None'
* To find out what numbers to use, check the 'Debug Settings'
Demonstrated by replacing the sound of an item







Debug Mode:
Demonstration of the debug mode in the video
* Sounds are defined by a type and a style
* As sounds play, they will appear on the left in a list
* Left click on the number on the left to 'favorite' it
* Right click on the number on the left to replay the sound
* Favorited sounds don't vanish from the list, the limit can be increased
* 'Deaf' debug mode will show sounds ingame as an overlay, mouseover to 'see' the sound if you are in range of 20 tiles or have line of sight to it
* 'Additional Info' shows some more information about the sound, mostly useful for modders
* The Blacklist decides which sounds won't be shown on the debug feed (common sounds like menu clicks, running, etc)
* Sounds are defined by a type and a style
* As sounds play, they will appear on the left in a list
* Left click on the number on the left to 'favorite' it
* Right click on the number on the left to replay the sound
* Favorited sounds don't vanish from the list, the limit can be increased
* 'Deaf' debug mode will show sounds ingame as an overlay, mouseover to 'see' the sound if you are in range of 20 tiles or have line of sight to it
* 'Additional Info' shows some more information about the sound, mostly useful for modders
* The Blacklist decides which sounds won't be shown on the debug feed (common sounds like menu clicks, running, etc)
Notes:
* You can disable a whole category by clicking 'Active', and individual sound rules by clicking 'Enabled'
* If you have a 'Nothing' key (the default when adding things in the first three categories) and it is in use, you can't click the '+'. I haven't found a sensible solution to this but make the default a real item instead that no one uses
* 'Something' rule take priority over 'Nothing' or 'All' rules (for example: you have a rule that replaces all sounds with a click, and then have an item rule, that item will have its specified sound, while everything else will make a click)
* If you specify a sound with the type 'None' (-1), the given key is muted. If the key itself (in All Sounds) is 'None', it will use any sound as the key
* Do NOT modify the 'Sound Path' thing that says 'Vanilla'. It is used to recover sounds from the saved config (especially for modded sounds)
* 'Sound Path' doesn't update if changing between vanilla/modded sounds. Refer to the text that shows up at the top of the green box (it updates properly)
* If you use a pitch close to the -1/1, you might get an error in the chat:
. It's because vanilla first applies a random pitch (usually between -0.1/0.1, sometimes as high as -0.7/0.5), and then applies the value you specify, leading to values below/above the limit. Experiment with a pitch value below that so you can mitigate this
About Debugging:
* You can't favorite the last remaining 'un-favorited' sound in the debug feed (that way it makes sure there are new sounds always coming in)
* The 'Tracked Sounds Count' decides how many sounds are collected until discarting old ones (both debug modes)
* The sound 'origin' is decided arbitrarily (read: hardcoded). Most sounds will show 'Unknown', some will show the item, npc, player, tile name of the thing if available
Deaf mode specifics:
* It generally shows an (x) you can mouse over and it will tell you the origin of a sound (if available)
* If the sound shows as '...', that means you need to get closer (about 20 tiles) to 'discover' it. Line of sight is often enough though (but not consistent)
* Sounds that are close to you are faded out so it won't clutter the screen near your player
* If you have a 'Nothing' key (the default when adding things in the first three categories) and it is in use, you can't click the '+'. I haven't found a sensible solution to this but make the default a real item instead that no one uses
* 'Something' rule take priority over 'Nothing' or 'All' rules (for example: you have a rule that replaces all sounds with a click, and then have an item rule, that item will have its specified sound, while everything else will make a click)
* If you specify a sound with the type 'None' (-1), the given key is muted. If the key itself (in All Sounds) is 'None', it will use any sound as the key
* Do NOT modify the 'Sound Path' thing that says 'Vanilla'. It is used to recover sounds from the saved config (especially for modded sounds)
* 'Sound Path' doesn't update if changing between vanilla/modded sounds. Refer to the text that shows up at the top of the green box (it updates properly)
* If you use a pitch close to the -1/1, you might get an error in the chat:
Code:
Silently Caught Exception: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: value
About Debugging:
* You can't favorite the last remaining 'un-favorited' sound in the debug feed (that way it makes sure there are new sounds always coming in)
* The 'Tracked Sounds Count' decides how many sounds are collected until discarting old ones (both debug modes)
* The sound 'origin' is decided arbitrarily (read: hardcoded). Most sounds will show 'Unknown', some will show the item, npc, player, tile name of the thing if available
Deaf mode specifics:
* It generally shows an (x) you can mouse over and it will tell you the origin of a sound (if available)
* If the sound shows as '...', that means you need to get closer (about 20 tiles) to 'discover' it. Line of sight is often enough though (but not consistent)
* Sounds that are close to you are faded out so it won't clutter the screen near your player
* The sounds 'Waterfall' (34) and 'Lavafall' (35) are disabled from being used anywhere, because they are handled by the game in a different way
* Some sound styles are random even though they only accept one style (-1)
* Most sounds have only one style (-1), or just have [0 to x] amount of styles. This simple ones aren't listed below because they are self explanatory
* Some sound styles are random even though they only accept one style (-1)
* Most sounds have only one style (-1), or just have [0 to x] amount of styles. This simple ones aren't listed below because they are self explanatory
Sound Type | Style Range | Comments |
(14) ZombieMoan | -1 to 2 | 0 and 2 are from 'Blood Zombie' and 'Sand Shark', -1 and 1 is 'Zombie' |
(15) Roar | 0 to 4 | 0 boss roar, 1 worm digging, 2 high pitch scream, 3 unused, 4 lower pitch worm digging |
(28) Mech | 0 | Clicking sound on tiles, even though it's only one style, it counts as 0, not -1 |
(32) Bird | 14 to 19 | Various bird sounds |
(36) ForceRoar | -1 to 2 | Same as (15) Roar, but accepts -1 (the EoC dash sound) |
(37) Meowmere | 5 to 10 | Style defines the volume |
(42) Trackable | 0 to 232 | Contains almost all the sounds used in the DD2 event |
* Modded sounds can be of four types: Item, NPCHit, NPCKilled and Custom
* Once you change the type/style to a custom sound, the text at the top of the green box will say the sounds name for easier identification. Once you save and go back to the config, the 'Sound Path' will tell the mod name. Do NOT edit this text, as it is essential for making sure the right sound is loaded/used, even when the mod it belongs to is unloaded
* If you have a modded sound selected, and that mod is unloaded, it won't apply any rule associated with it. You can change the style of the sound (if it's in the custom range), but it will preserve that 'Sound Path' for consistency. If you wish to really change and discard that sound, switch the type on the sound and save, then reopen the config
* See the first reply in this thread for more information if you want to add your own sounds to the game, or intend to use sounds you discovered in your own mods
* Once you change the type/style to a custom sound, the text at the top of the green box will say the sounds name for easier identification. Once you save and go back to the config, the 'Sound Path' will tell the mod name. Do NOT edit this text, as it is essential for making sure the right sound is loaded/used, even when the mod it belongs to is unloaded
* If you have a modded sound selected, and that mod is unloaded, it won't apply any rule associated with it. You can change the style of the sound (if it's in the custom range), but it will preserve that 'Sound Path' for consistency. If you wish to really change and discard that sound, switch the type on the sound and save, then reopen the config
* See the first reply in this thread for more information if you want to add your own sounds to the game, or intend to use sounds you discovered in your own mods
Changelog:
v0.1.3.1: Fixed WingSlot compatibility
v0.1.3: Added 'Held Item Constraint' to a 'key' entry; will only apply this sound when the player holds that item (Leave blank to always apply)
v0.1.2.4: Added WingSlot compatibility for wings origin
v0.1.2.3: Adjusted the debug text position slightly to accomodate for possible thorium buff UI
v0.1.2.2: Fixed 'Play Sound' button with invalid style, added origin to Chat, DoubleJump, ForceRoar and Splash, 'Tracked Debug Count' resizing fix
v0.1.2.1: Fix critical bug with modded chests being placed into a buggy state
v0.1.2: Added wings origin (also see v0.1.2.4), fixed proper origin display when replacing a sound
v0.1.1: Added 'Play Sound' button to directly test a sound, fixed ZombieMoan mismatch
v0.1: Release with icon
v0.0.0.2: Initial release (without icon)
Source Code and alternative downloads (under Releases): Github
Last edited: