A tool to create all My Singing Monsters songs and timelines from the game files.
- Create the full songs of all Islands, except of course Composer Island and Colossingum
- A blacklist and/or whitelist of monsters can be specified. RegEx may be used as well
- The tempo of the song can be set to anything between 0.5x and 2x. Just like in-game this will change the pitch as well
- A number of repetitions between 1 and 100 can be specified
- Show the structure/timeline of each song. See the Screenshots section for examples
- List all Islands
- List all Monsters
The help can be shown using the -h
or --help
flags. Below is the output of the short version. An output of the long version, i.e. --help
, can be found here.
msm 0.1.1
RubixDev
Tool to create all My Singing Monsters songs and timelines from the game files
USAGE:
msm [FLAGS] [OPTIONS] <island>
FLAGS:
-h, --help Prints help information
-l, --list-islands Show a list of all valid island numbers and their respective names
-L, --list-monsters Show a list of all monsters and their names
-s, --no-song Suppress creating song wav file
-t, --no-timeline Suppress song timeline
-V, --version Prints version information
-v, --verbose Logs extra output while processing
OPTIONS:
-x, --exclude <exclude>... List of monsters to exclude from the song. RegEx supported
-X, --exclude-list <exclude-list> Path to a file with a list of monsters to exclude from the song. Overwrites
names specified by `--exclude`
-i, --include <include>... List of monsters to include in the song. RegEx supported
-I, --include-list <include-list> Path to a file with a list of monsters to include in the song. Overwrites names
specified by `--include`
-o, --output <output> Output folder [default: "./"]
-p, --path <path> Path to MSM data/audio/music [default: "./data/"]
-r, --repeat <repeat> How many times the song should be repeated [default: 1]
-T, --tempo <tempo> Set the tempo of the song. Just like in-game this will also change the pitch
[default: 1.0]
ARGS:
<island> Island number or name. Required unless `--list-islands` or `--list-monsters` is used
On Windows 10 I strongly recommend to also download 'Windows Terminal' from the Microsoft Store and restart Windows once, for full color and unicode support. On Windows 11 this is pre-installed and on Linux almost every Terminal works.
Download the latest release for your operating system from the releases page. This is the binary to execute later on.
First of all make sure to have Rust and cargo
installed and working on your system. Then you can download this repository either using this link (equivalent to the green download button at the top) or with
git clone https://github.com/RubixDev/msm-song-creator.git
Once in the downloaded directory run cargo build --release
in a terminal.
The finished binary can then be found under target/release/
.
If you are on Linux you can easily copy the obtained binary to your PATH with
sudo cp path/to/msm /usr/local/bin/msm
You can then just use the msm
command, regardless which directory you are in.
I cannot provide the game files necessary for this program for legal reasons. I can however show you how to get them from the game yourself.
The Steam version of the game uses uncompressed .wav
files and thus has higher quality sound files, than the mobile versions, so it is recommended to use these. For these steps I assume you already have Steam installed.
- Download the game from Steam
- Open once to make sure all latest sounds are downloaded
- Open the installation directory. If you are unsure where that is, you can follow these steps:
- Open Steam and go to the Library tab
- Right click on 'My Singing Monsters'
- Click 'Properties'
- In the new window click 'Local Files'
- Then click 'Browse' and a file explorer should open up in the installation directory
- Navigate to the subfolder
data/audio/music/
- Copy all files in this folder to a location you can easily remember
- It is recommended to create a
data
folder next to the downloaded binary and put all files in there
- It is recommended to create a
The Android version (and likely the other mobile versions as well) use compressed .ogg
audio files for the monster sounds.
- Download 'My Singing Monsters' from the PlayStore
- Open the game at least once to make sure all latest sounds are downloaded
- Establish some way for file transfer between your phone and computer
- It is probably easiest to connect the phone with a USB cable and enable file transfer
- Copy the file
main.270.com.bigbluebubble.singingmonsters.full.obb
fromAndroid/obb/com.bigbluebubble.singingmonsters.full/
in your phone's internal storage to your computer.- Don't worry if the file name is not exactly the same. There should only be one file in that folder anyway
- Extract the contents from that file
- Note: on Windows it might be necessary to change the file extension from
.obb
to.zip
- Note: on Windows it might be necessary to change the file extension from
- Navigate to the subfolder
assets/audio/music/
- Copy all files in this folder to a location you can easily remember
- It is recommended to create a
data
folder next to the downloaded binary and put all files in there
- It is recommended to create a
- Open a terminal in the folder with the downloaded program
- On Windows this is possible from the File Explorer by right clicking on the folder (or the empty space if already in the folder) and then selecting 'Open in Windows Terminal'. This does only work when 'Windows Terminal' is already installed on your system (more details)
- On Linux you should already know how to open a terminal
- Run
./msm 1
- The
1
here is the number of the island, in this case Plant Island. To get a list of all Islands use./msm -l
or./msm --list-islands
. Alternatively you can also specify the island name in quotation marks like this:./msm "Plant Island"
, but make sure you type the name exactly right - When you put the game files somewhere else than in a
data
folder next to the program, an error likeFile data/world01.mid could not be opened
will likely appear. In this case manually specify the path to the place you put them instead, by using the-p
or--path
flag, e.g../msm -p path/to/game/data 1
- The outcome can be further customized with tempo, excluded/included monsters and number of repeats. For this refer to the help section or use one of the help commands:
./msm -h
for short summaries./msm --help
for more detailed explanations
- The
- You should now have a file like
01-Plant_Island.wav
in your directory, which you can open with a music player of your choice
When having any issues, feel free to open a new issue on the Issues page.
Here are a few screenshots of the song timelines with various settings:
The command used for all of these looked like
./msm --no-song n
with n
being every number from 1 to 21 except 11 and 20, because those are Composer Island and the Colossingum.
Command used:
./msm --no-song -i Do Re Mi Fa Sol La Ti -- 'Cold Island'
Command used:
./msm --no-song -i 'Q\d\d_Monster' Wubbox 'Rare Wubbox' Humbug 'VOC_\d\d_Monster' 'S\d\d_Monster' Castle -- 'Earth Island'
Command used:
./msm --no-song --exclude Brump Maulch Blipsqueak Whajje Dermit Screemu -- 10