Skip to content
SpongeBobSquigglePantsPublic

Repository files navigation

SoundKit

The music of SpongeBob SquigglePants (Wii), straight from the game's own sound archives: listen to every track, and save the whole soundtrack as a tagged album, MIDI files and SoundFonts.

  • The jukebox: the album, part by part, with each nanogame theme named after the nanogames that play it. Double-click to listen.
  • The album: SpongeBob SquigglePants (Original Soundtrack) by Jake Kaufman, as WAV (or FLAC, OGG or MP3 with ffmpeg), tagged and numbered. Each track comes either as a version to listen to (the loop plays twice, then fades out) or one to loop seamlessly (with loop points in the file).
  • MIDI and SoundFonts: every track as a MIDI file, and the game's instrument banks as SoundFonts (.sf2). Play the two together in any MIDI player or music program to hear the game's own instruments, or to rearrange the music.
  • Samples: every instrument sample as a WAV, with a sheet of which keys each instrument plays it on.

Part of the SpongeBob SquigglePants+ project. The game's music isn't recorded audio: it's played by the Wii from note data and instrument samples, the way a MIDI file is. SoundKit plays it the same way.

No game files are included. You need your own copy of the game.

The SoundKit jukebox playing the title screen music

The Album

Part Tracks
Menus Wii Menu Banner, Title Screen and Main Menu (each "From SpongeBob SquigglePants"), and Art Studio
SketchBob, B-Movie, Simply Bob / IconBob, Comic Book, Punk, PixelBob The world's Opening and Intermissions, its nanogame themes, its Win, Lose, Good, Bad and Next jingles, and a Nanogames Mix
Remix / Hyper Remix Opening, Intermissions, the themes of the Remix nanogames, and the jingles
Minigames "Showboating Shower", "Rattle and Roll", "RetroBob" and "Seasons of Sandy"
Unused Everything in the sound archive the game never loads (see below)
  • Nanogame themes are named after the nanogames that play them, with the titles as SpongeBob SquigglePants+ writes them: "Puffy Patrick / Yes We Karen", "Blackout Bob / Whoop-A-Worm". Each is in the part of the world its nanogames belong to, so the Remix nanogames' themes are under Remix. "Jelly Alley", "Seavaders", "Sing a Song of SpongeBob" and "Patchy's Swell SpongeBob Game" have music of their own, and are listed with their worlds the same way.
  • Intermissions plays a world's Good, Bad and Next jingles one after the other.
  • Nanogames Mix plays all of a world's themes one after the other.
  • Wii Menu Banner is the sound the Wii Menu plays over the game's channel banner, from the disc's opening.bnr. The 3DS version's banner sound isn't on the Wii disc, so it isn't included.

Every file is tagged with its title, "Jake Kaufman" as artist and album artist, SpongeBob SquigglePants (Original Soundtrack) as album, and its track and part ("disc") numbers. File names are the track number and title, such as 2. SketchBob_ Intermissions.mp3, with the characters file names can't have written as _.

The nanogame themes are short, as the nanogames are: a few seconds each.

The Archive the Game Never Loads

The disc has two sound archives. The game only ever loads music.brsar; spongebob.brsar sits unused next to it. It holds an unused set of jingles (Opening, Win, Lose, Good and Bad) and eight short pieces: Fashion, Funkstation, Happy, Highroller, Jahmmin, Nautical, Samba and The Four Chords.

Some of the pieces are asked for by the game all the same: the seven IconBob nanogames ask for Happy, "Pairing Is Caring" and "Puzzle de Pants" for The Four Chords, and "No Shame in Same" for Samba. As those pieces are only in the archive the game doesn't load, these nanogames never get them on the Wii; the IconBob games play the metronome track instead. The others aren't asked for anywhere. SoundKit plays them all.

The two metronome tracks (the Art Studio's, and the unused archive's) aren't part of the album; the jukebox lists them under Extras.

Getting Started

You need Python 3.8 or newer. On Windows, tick "Add python.exe to PATH" when installing. The launchers install the one package it needs, NumPy, the first time.

The jukebox also needs Tkinter, which comes with Python from python.org on Windows and Mac. On Linux, install it with your package manager (for example sudo apt install python3-tk). FLAC, OGG and MP3 need ffmpeg; WAV, MIDI and SoundFonts don't.

Then copy three files off the game disc into this folder: music.brsar, spongebob.brsar and opening.bnr (they're at the top of the disc). In Dolphin: right-click the game, choose Properties, then Filesystem, then right-click each file and extract it. On a Wii, back up your disc with CleanRip first and open the backup in Dolphin. (menus.vol has a copy of music.brsar inside it, and SoundKit can read that too.)

The Jukebox

Windows: double-click SoundKit.bat. Mac and Linux: run ./soundkit.sh. It finds the files in its own folder; otherwise use Open Folder....

  • Double-click a track to play it (it takes a few seconds to get ready). Play through carries on to the next track.
  • Export Audio... saves the picked track; Export MIDI... saves it as a MIDI file; Export Its SoundFont... saves the instruments it plays with. (Tracks that join several, and the banner sound, have no MIDI file.)
  • Export Everything... saves the whole album, every track's MIDI file, and every instrument bank as a SoundFont.

To play the sound, it uses Windows' own player, afplay on a Mac, or paplay, aplay or ffplay on Linux.

From the Command Line

python3 soundkit.py list                                # the album, with each track's ID
python3 soundkit.py render --format mp3                 # the whole album, as MP3
python3 soundkit.py render SEQ_FRONTEND_TITLE PUNK_MIX  # the tracks you name
python3 soundkit.py render --mode loop                  # every track, to loop seamlessly
python3 soundkit.py midi                                # every track as MIDI
python3 soundkit.py soundfonts                          # every instrument bank as a SoundFont
python3 soundkit.py samples                             # every instrument sample as WAV

Name tracks by their IDs, as list shows them (the game's own names, such as SEQ_PUNK_03, or PUNK_INTERMISSIONS, PUNK_MIX and BANNER), or leave them out for all of them. The files are found in the current folder and SoundKit's own; or name them, or the folder they're in, before the tracks. The album is written to SoundKit Output/SpongeBob SquigglePants (Original Soundtrack).

Option What it does
--mode album To listen to: the intro, the loop --loops times (default 2), then a --fade second fade-out (default 10). The default.
--mode loop To loop: the intro and the loop once, in a folder of its own. WAV files get the loop points in a smpl chunk, which players and game engines that loop use; FLAC, OGG and MP3 get LOOPSTART and LOOPLENGTH tags.
--format wav (the default), flac, ogg or mp3.
--rate The sample rate. The default, 32000, is the Wii's own.
--tempo Plays faster or slower without changing the pitch: 1.5 is half as fast again.
-o The output folder (default: SoundKit Output).

save_everything.bat (Windows) and save_everything.sh (Mac and Linux) save the whole album as WAV, every track as MIDI, and every bank as a SoundFont in one go.

MIDI Files and SoundFonts

Each MIDI file has one MIDI track per part, the tempo, and loopStart and loopEnd markers around the loop. Its instruments are the game's own, numbered as the game numbers them, not General MIDI ones: so play it with the SoundFont of its instrument bank, which the MIDI file names in its first text event, and the jukebox shows as "Instruments". For example, the title screen plays with BANK_FRONTEND.sf2.

The SoundFonts carry each instrument's samples, key and velocity ranges, tuning, volume, pan, loops and envelope. Any SoundFont player will do: FluidSynth, Polyphone to look inside them, or a music program with a SoundFont instrument.

How Close Is It?

SoundKit plays the music with its own small sampler, from the game's note data, instruments and samples, with the Wii's envelopes. It doesn't capture the Wii's own output, so small differences are possible, especially in effects like reverb, which aren't reproduced. If something sounds wrong, please open an issue with the track's ID.

Credits

By Mitch "WubbzP" Bentz, for SpongeBob SquigglePants+. The game's credits name Jake Kaufman as its composer.

A fan-made tool, not affiliated with or endorsed by Nickelodeon, THQ, WayForward or uDraw. SpongeBob SquarePants, SpongeBob SquigglePants and all related titles, logos and characters are trademarks of Viacom International Inc.

Contributors

Languages