HornetAudioEditor

v1.2.1·Updated 2025-12-03

A Silksong mod that lets you customize the game's audio with your own.wav files

About this mod Author’s original text

A Silksong mod that enables users to customize the game's audio with their own.wav audio clips. The mod comes prepackaged with some of Hornet's voice lines from the original Hollow Knight game (including shaw).

Video guide on YouTube

GitHub page

Guide

Preface: This mod only allows you to customize audio that uses RandomAudioClipTable internally. Most audio that has multiple, randomly selected clips uses RandomAudioClipTable. To determine what audio is eligible, read the BepInEx Config section below.

Manual Installation

  • Install BepInEx 5 for Silksong
  • In your BepInEx/plugins folder, make a folder called HornetAudioEditor
  • Download and extract the mod zip file
  • Move the contents of the plugins folder to the HornetAudioEditor folder you created
  • Move the file in the patchers folder to your BepInEx/patchers folder
  • Run the game
  • After running the game, you'll have access to the audioCollections.json file in the HornetAudioEditor folder

Basic Usage

When fully configured, your HornetAudioEditor folder should look something like this:

HornetAudioEditor/

├─ Clips/

│ ├─ clip1.wav

│ ├─ clip2.wav

│ └─ subfolder/

│ ├─ clip3.wav

│ └─ clip4.wav

├─ Collection Presets/

│ ├─ preset1.json

│ └─ preset2.json

├─ audioCollections.json

└─ HornetAudioEditor.dll

Add audio clips

To add audio clips to the mod, place.wav files in the Clips folder or any of its subfolders.

Configure audioCollections.json

To tell the game which folders to use for each audio table, edit the audioCollections.json file.

  • Key: name of folder relative to Clips
  • Use an empty string "" for the base Clips folder
  • Value: array of names of audio tables that should use the audio from the folder

Example:

  • table1 loads audio from the base Clips folder
  • table3 and table4 load audio from the Clips/subfolder folder
  • table2 loads audio from both folders

{

"": [

"table1",

"table2"

],

"subfolder": [

"table2",

"table3",

"table4"

]

}

Keeping Vanilla Audio

If you want an audio table to keep its original (vanilla) audio alongside the modded audio, add a + in front of the table name.

Example:

  • table1 fully replaces its audio with only the modded audio
  • table2 adds the modded audio while keeping its vanilla audio

{

"subfolder": [

"table1",

"+table2"

]

}

Collection Presets

Collection presets are optional.json files stored in the Collection Presets folder. They define preset collections of audio tables that can be referenced in audioCollections.json all at once.

Use these to prevent your audioCollections.json file from getting overcrowded, or to easily share large collections of tables with others.

Example:

preset1.json

[

"table1",

"table2",

"etc"

]

audioCollections.json

  • Interpreted the same as table1, table2, etc, singletable

{

"subfolder": [

"preset1.json",

"singletable"

]

}

BepInEx Config

A BepInEx config file can be found at BepInEx/config/alphalul.HornetAudioEditor.cfg after running the game once. This file lets you customize some basic settings.

| Setting | Default | Description |

|-------------------|---------|------------------------------------------------------------------------------------------------------------|

| Enabled | true | Whether the mod is active. Set to false to disable modification of audio. |

| RefreshOnSaveQuit | true | Whether to reapply audioCollections.json upon returning to the title screen. |

| LogAudio | false | Whether to log the name of a RandomAudioClipTable when it plays a sound. Useful for finding table names. |

| LogSpamCooldown | 0.2 | How many seconds to wait until logging the same RandomAudioClipTable again. Helps reduce console spam. |

⚠️ Finding audio table names

To use LogAudio properly, you need to enable the BepInEx console to read the logs in real time. To do so:

  • Open BepInEx/config/BepInEx.cfg
  • Find the [Logging.Console] section
  • Set Enabled = true

This launches a console window alongside the game that displays logs. Now, if you set LogAudio to true, you'll see the name of any RandomAud

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack_Silksong

File & checksum

Filename
HornetAudioEditor-1.2.1.zip
File size
943.6 KiB