___________________________________________________________________________________________________________________________
This mod is a replacement for my Sound Effect Replacement mod that provides much more flexibility over sound effect and music replacement in Stardew Valley.
An example of a mod using this framework (actually the reason this framework came into existence) is Softer Snow Footstep Sound.
Basic Usage
To use this mod, you will need to create a Content Patcher mod that targets this mod's dictionary.
Cue Paths
A simple content.json file is something like this:
{ "Format": "1.23.0", "Changes": [ { "Action": "EditData", "Target": "aedenthorn.SoundTweaker/dictionary", "Entries": { "snowyStep": { "sounds": [ { "cuePaths": [ "thudStep" ] } ], } } } ] }
This simply replaces the snowyStep sound with the thudStep sound, preserving all parameters of the thudStep sound.
The following page has the names of all the sound cues in the game:
File Paths
Instead of cuePaths, you can direct the mod to play your own list of sound files using filePaths, e.g.:
{ "Format": "1.23.0", "Changes": [ { "Action": "EditData", "Target": "aedenthorn.SoundTweaker/dictionary", "Entries": { "snowyStep": { "sounds": [ { "filePaths": [ "{{InternalAssetKey: sounds/Snowystep_Soft_01.wav}}", "{{InternalAssetKey: sounds/Snowystep_Soft_02.wav}}", "{{InternalAssetKey: sounds/Snowystep_Soft_03.wav}}" ] } ], } } } ] }
These files have to be placed your Content Patcher mod's folder. The sound files above should be in a sounds subfolder.
This method does not automatically preserve any sound parameters (in this case, the snowyStep sound's random pitch). You must add your own sound parameters, as explained below.
Sound Indexes
Finally, you can target specific sound indexes in the sound bank using soundIndexes, e.g.:
{ "Format": "1.23.0", "Changes": [ { "Action": "EditData", "Target": "aedenthorn.SoundTweaker/dictionary", "Entries": { "snowyStep": { "sounds": [ { "soundIndexes": [ 86, 87, 88, 89, 90 ] } ] } } } ] }
This replaces the snowyStep sound with the four sounds associated with the SpringBirds sound cue.
Use the following page to get the sound indexes for in-game sounds (use the ones under decimal):
Again, this method does not automatically preserve any sound parameters. See below to add your own parameters.
Sound Disabling
If you just want to silence a sound cue entirely, omit the sounds key entirely. E.g.:
{ "Format": "1.23.0", "Changes": [ { "Action": "EditData", "Target": "aedenthorn.SoundTweaker/dictionary", "Entries": { "snowyStep": { } } } ] }
This will silence the snowyStep sound cue entirely.
Customization
You can add the following keys to a dictionary entry to customize the sound cue:
Possible values for limitBehavior are ReplaceOldest and FailToPlay.
For each entry in the sounds object of a dictionary entry, you can add the following keys to customize the tracks of individual sounds (one sound cue can contain multiple sounds, and one sound can contain multiple tracks):
An example content.json file that uses most of these parameters just to illustrate:
{ "Format": "1.23.0", "Changes": [ { "Action": "EditData", "Target": "aedenthorn.SoundTweaker/dictionary", "Entries": { "snowyStep": { "sounds": [ { "variationType": "RandomNoImmediateRepeats", "category": "Sound", "filePaths": [ "aedenthorn.TestSound/guitar", "aedenthorn.TestSound/drum" ], "cuePaths": [ "toyPiano", "flute" ], "soundIndexes": [ 257, 258, 259 ], "loop": false, "reverb": false, "pitch": null, "minPitch": -1.0, "maxPitch": 1.0, "volume": null, "minVolume": 0.5, "maxVolume": 1.0, "minFrequency": 0.0, "maxFrequency": 1000.0, "minQ": 0.0, "maxQ": 500.0, "filterMode": "HighPass", "rpcCurves": [ 0 ] } ], "maxInstances": 1, "limitBehavior": 2 } } } ] }
RPC Curves
I don't even know what an RPC curve is, but I can tell you that Stardew Valley defines 11 of them. Here is the list for you to experiment:
The first variable is called Variable and the second variable is called RpcCurve. The third variable is pretty obvious.
Technical
Requires SMAPI.
Compatible with Mod Updater for automatic updates.
Code is at
If you want to complain or ask for help or help me test my mods, you can visit my Discord server.
A list of all my mods for Stardew Valley is available at
About Project
Created: September 4th 2023
Updated: September 4th 2023
Project ID: 7439
License: All Rights Reserved
__________________________________________
Game Versions:
1.01.03
1.01.03
1.01.03
1.01.03
1.01.03
__________________________________________
Flavors:
WoW Retail
__________________________________________
Categories
Companions
Battle
__________________________________________
Main File
September 4th 2023
__________________________________________
Recent File
September 4th 2023
__________________________________________
Members
__________________________________________
Report