/Kitten-for-CSGO

Use your own soundtrack in Counter-Strike: Global Offensive

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Music Kitten for CS:GO

Travis CI Build Status node.js dependencies node.js devDependencies Codacy Score License

Music Kitten, or simply Kitten, is an Electron application that plays audio tracks when CS:GO gives it certain cues. Essentially, this allows you to create and use your own music kits.

Getting Started

Download the latest stable release here.

To run Music Kitten from source, you'll need node. If you've never configured node before, I recommend using nvm on Linux and Mac OS, or nvm for Windows.

Once you have node and npm ready to go, cd to where Kitten was cloned. Next, I suggest that you delete the package-lock.json file since it can cause problems. Then run npm install and npm start and you'll be running Kitten.

To build Kitten for your target platform, do npm run dist.

How to use

The first thing Kitten is going to do is request a directory to look in for music kits. Kitten's configuration file is also stored here. Create/select a dedicated folder for Kitten to use.

If you'd like to use a different port than the default, change the value in the textbox, click save, and restart Kitten.

If CS:GO was already open before you started the setup process, you may need to restart it.

Remember to mute in-game music if you haven't done so.

Lastly, you need music kits. A music kit is a collection of audio files grouped in a directory in the Kitten save folder. Basically, inside the folder you picked at the beginning, you're going to have a folder for each music kit you have. If you don't have any music kits, Kitten will offer to download the sample music kit. Otherwise, you can download one from musickitten.net or make your own. Which brings us to...

Creating kits

First thing is making a folder for the kit. Create a directory in the Kitten folder you chose to use and call it whatever you want the kit to be called. Inside, you'll need to have these audio files:

  1. mainmenu
  • mainmenu plays and loops at the mainmenu. Should be long enough to not drive people crazy since it loops.
  1. startround_01 - startround_03
  • startround_0X starts playing in the frozen phase of a new round and loops until the round starts. These should be short, around 8 seconds (or shorter). There are three variants from which Kitten selects randomly.
  1. startaction_01 - startaction_03
  • startaction_0X plays as soon as the startround track ends and the round has already started. In other words, startround_0X should seamlessly transition into startaction_0X. This track fades out automatically. Make it at least 10 seconds.
  1. bombplanted
  • bombplanted plays when the bomb gets planted. It plays and loops (if necessary) for 30 seconds. The delay before it starts is due to CS:GO taking it's time notifying Kitten. The delay varies from time to time.
  1. bombtenseccount
  • bombtenseccount plays and loops (if necessary) 30 seconds after bombplanted started playing. If bombplanted was late, this will be too.
  1. wonround
  • Plays (and loops) when you win. Anything over 20 seconds is excessive.
  1. lostround
  • Plays (and loops) when you lose. Anything over 20 seconds is excessive.
  1. roundmvpanthem_01
  • roundmvpanthem_01 plays (and loops) when you're the MVP*. Anything over 20 seconds is excessive. Despite the naming convention, there's only one MVP anthem. The name was chosen to align with the naming scheme already in place for real music kits.

*Due to how CS:GO sends information, this won't play if you're dead and spectating another player. in that case, it'll just play wonround.


You can use any file type that Chrome's audio player can play. I'd recommend anything that supports gapless playback (like FLAC). Filenames are CASE SENSITIVE

Optionally, you can add a cover.jpeg to the music kit's folder. This is displayed in Kitten when the kit is selected.

Take a look at the sample music kit for an example of what a music kit could look like: Big Croint Music Kit