The BepInEx console will not appear when launching like it does for other games on Thunderstore (you can turn it back on in your BepInEx.cfg file). If your PEAK crashes on startup, add -dx12 to your launch parameters.

Date uploaded | 2 weeks ago |
Version | 1.0.0 |
Download link | onlystar-sPEAKer-1.0.0.zip |
Downloads | 139 |
Dependency string | onlystar-sPEAKer-1.0.0 |
This mod requires the following mods to function

README
Sophisticated Pulse-Eloquent Acoustic Kymatologic Eidolon Reverberator
๐ถ ...or just sPEAKer.
This is sPEAKer, my first ever mod! Unlike the bugle, sPEAKer is an independent audio source.
You can just press play and enjoy your music. Drop it, toss it around, audio will just not stop!
Download mixtapes from the Thunderstore, or put together your own and share them with friends.
As simple as ZIP, as you'll see!
๐ฎ Controls
Playback control uses your regular interaction buttons, whatever they are.
- Primary: Play/Pause toggle
- Secondary: Next Song
- Scroll: Volume Up/Down
Controller compatible.
Manual Installation (please don't. use a mod manager. i'm begging you.)
- Install BepInEx for PEAK
- Install required dependencies:
- PEAKLib.Items
- PEAKLib.Core
- SoftDependencyFix
- MonoDetour_BepInEx_5
- MonoDetour
- Place the mod files in your BepInEx plugins folder
- Launch the game - the mod will create a music folder automatically.
Adding Music
After launching PEAK, your music folder will now be available:
.../plugins/onlystar-sPEAKer Music
You can place .ogg
files directly in it, or you can use mixtapes.
๐ Introducing: Mixtapes
A mixtape is a collection of .ogg
files put inside a ZIP.
So just do that!
- Select all your songs (in
.ogg
format) - Right click > Send to > Compressed (zipped) folder
This will create a ZIP file you can already move to the music folder.
Optionally, you can also include a mixtape.json
file inside the ZIP:
{
"name": "Undertale Boss Music",
"author": "onlystar"
}
This name will be shown in-game when a song from your mixtape starts playing.
Bundling a mixtape for Thunderstore
If you want to upload your own mixtape, just put an empty sPEAKer.json
file in the same folder as your .zip
.
Then follow the instructions in Manual Packaging as described here.
Except that instead of a .dll
, place your .zip
and sPEAKer.json
files inside plugins
folder.
TIP: Putting 'sPEAKer.json' inside any folder within 'plugins' will extend audio loading to that folder
Disclaimer: Make sure you have permission to upload the audio files your mixtape contains to Thunderstore
Config. Options ๐ช
These are options you can change before starting your game.
You can find them in BepInEx/config/onlystar.sPEAKer.cfg
Key | Description | Default Value |
---|---|---|
ExternalAudioFolderPath | Folder path where sPEAKer will mainly load mixtapes and external audio from. It's recommended to leave unchanged. | "..\onlystar-sPEAKer Music" |
DemoSong | Include a demo song in your track list. | true |
SpawnAtGameStart | Automatically spawn a sPEAKer around the crash site when a game starts. | true |
SpawnWithF4 | Allows the host to spawn a sPEAKer in their hands when pressing F4. Notes: Only one sPEAKer may exist at a time (for now). Only the host can use this feature (for now). |
false |
RecallEnabled | Enables recalling existing sPEAKer when pressing F4. Notes: Only works if SpawnWithF4 is also enabled. Also, a sPEAKer can only be recalled if it's in the ground (not in a slot). |
false |
Debug | Enables verbose logging. If you want to report a bug, please include your BepInEx/LogOutput.log ! |
false |
Coming up next... ๐ฎ
- More playback controls (shuffle, loop, etc.)
- Recalling ability for everyone (not just the host!)
- Better mixtape metadata
- Multiple sPEAKer support
- Skins (recolors and other speaker models)
- More things that I will not disclose to avoid expectations that may not come true :D
Created by onlystar - Bringing music to the PEAK experience!
CHANGELOG
Changelog
[1.8.1]
- Instead of binding to a single player forever, Drone Mode will now try to follow the nearest player in a radius every time the mode is engaged (Drop + P).
- This, in turn, disabled the ability to throw it far away and have it come back to you. Don't worry, it will come back as a Recall ability soonโข.
- Added an indicator to show exact Drone search radius.
- Fixed an issue where if Drone sPEAKer was following someone and they died, it would follow them to the afterlife.
- Improved custom logging system.
[1.8.0]
- Added DRONE MODE! Drop the sPEAKer and press P.
- Fixed mixtape author incorrectly displaying as unknown.
[1.7.1]
- Added Sound Effect when reaching max Volume
- Added Sound Effect when entering [REDACTED]
- Fixed UI state issues when entering [REDACTED]
[1.7.0]
- NEW: Loop modes! Toggle with Alt + Secondary
- NEW: Previous song! Use with Shift + Secondary
- Netcode now correctly broadcasts most changes to playback state
- Updated README (it's updated every patch but just in case you only read the changelog :P)
[1.6.0]
- NEW CONFIG: StartupLoadingIndicator, enabled by default, to show an audio loading indicator at game boot. It lasts as long as the initial lag spike does.
- NEW CONFIG: DisplayMixtapeAuthor, enabled by default, to show the mixtape author during playback.
- Fixed an issue where audio loading would break when sPEAKer had been installed through a Thunderstore profile code.
- Fixed an issue where sPEAKer would sometimes spawn below ground level at the Shore.
[1.5.0]
- Added mixtape author below stamina bar.
- Added indicator when songs and mixtapes are loading.
- Fixed issue where in-game font would sometimes not load.
- Changed song hashing method. This should fix song-syncing issues some people were still having, but will introduce more lag while songs are loading.
- Optimized audio loading, albeit unnoticeable given the previous point.
[1.4.0]
- Added Local Volume control to pause menu
[1.3.1]
- Optimized netcode handling
- Fixed state inconsistencies when getting back to the airport or main-menuing
- Fixed next song not starting automatically when sPEAKer is pocketed (I refactored an entire class for this ๐)
[1.3.0]
- Added Track Duration (enabled by default)
- Added new configs: ShuffleOnStart, TurnOnAndPlay, ShowTrackDuration.
[1.2.1]
- Disabled unfinished feature
[1.2.0]
- Added Shuffle
- Added clarification to add sPEAKer as a dependency to uploaded mixtapes
- Fixed an issue where downloaded mixtapes sometimes would not load for non-hosts
- Fixed an issue where netcode would sometimes generate a duplicate photon ID
- Fixed volume step being too aggressive when using a controller
- Fixed some localization texts for Spanish, Korean and Japanese
- Removed Herobrine
[1.1.5]
- Many optimizations for upcoming 1.2.0
- Removed Herobrine
[1.1.4]
- Now sPEAKer looks for music on its own folder too (onlystar-sPEAKer), just in case.
[1.1.3]
- Minor optimizations and code cleaning.
- Added instructions to update an existing Thunderstore mixtape in README.
[1.1.2]
- Bundle optimization for MESA update.
- Some groundwork for upcoming feature.
[1.1.1]
- Changed recalling with F4 to be enabled by default (host only).
- Fixed a desync when dropped while paused.
- Fixed files not loading if containing special characters.
[1.1.0]
- Added MP3 and WAV support.
- Removed ZIP format requirement for mixtapes.
- Updated README.
[1.0.0]
- Initial release, with mixtapes.