{"id":20092383,"url":"https://github.com/rubixdev/msm-song-creator","last_synced_at":"2026-03-17T12:03:09.858Z","repository":{"id":112918374,"uuid":"444920188","full_name":"RubixDev/msm-song-creator","owner":"RubixDev","description":"Takes MSM's Monster sounds and creates the full island songs","archived":false,"fork":false,"pushed_at":"2023-03-14T16:32:30.000Z","size":631,"stargazers_count":5,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T14:51:25.689Z","etag":null,"topics":["audio","cli","midi","msm","music","my-singing-monsters","ogg","wav"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RubixDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"rubixdev"}},"created_at":"2022-01-05T19:05:32.000Z","updated_at":"2024-10-31T14:29:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"c4cdaa15-7310-4747-931e-5735f0b1813a","html_url":"https://github.com/RubixDev/msm-song-creator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/RubixDev/msm-song-creator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubixDev%2Fmsm-song-creator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubixDev%2Fmsm-song-creator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubixDev%2Fmsm-song-creator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubixDev%2Fmsm-song-creator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RubixDev","download_url":"https://codeload.github.com/RubixDev/msm-song-creator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubixDev%2Fmsm-song-creator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263480867,"owners_count":23473164,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","cli","midi","msm","music","my-singing-monsters","ogg","wav"],"created_at":"2024-11-13T16:36:56.094Z","updated_at":"2026-03-17T12:03:04.817Z","avatar_url":"https://github.com/RubixDev.png","language":"Rust","readme":"# MSM Song Creator\nA tool to create all My Singing Monsters songs and timelines from the game files.\n\n## Features\n- Create the full songs of all Islands, except of course Composer Island and Colossingum\n  - A blacklist and/or whitelist of monsters can be specified. RegEx may be used as well\n  - 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\n  - A number of repetitions between 1 and 100 can be specified\n- Show the structure/timeline of each song. See the [Screenshots](#screenshots) section for examples\n- List all Islands\n- List all Monsters\n\n## Help\nThe 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](help_long.txt).\n```\nmsm 0.1.1\nRubixDev\nTool to create all My Singing Monsters songs and timelines from the game files\n\nUSAGE:\n    msm [FLAGS] [OPTIONS] \u003cisland\u003e\n\nFLAGS:\n    -h, --help             Prints help information\n    -l, --list-islands     Show a list of all valid island numbers and their respective names\n    -L, --list-monsters    Show a list of all monsters and their names\n    -s, --no-song          Suppress creating song wav file\n    -t, --no-timeline      Suppress song timeline\n    -V, --version          Prints version information\n    -v, --verbose          Logs extra output while processing\n\nOPTIONS:\n    -x, --exclude \u003cexclude\u003e...           List of monsters to exclude from the song. RegEx supported\n    -X, --exclude-list \u003cexclude-list\u003e    Path to a file with a list of monsters to exclude from the song. Overwrites\n                                         names specified by `--exclude`\n    -i, --include \u003cinclude\u003e...           List of monsters to include in the song. RegEx supported\n    -I, --include-list \u003cinclude-list\u003e    Path to a file with a list of monsters to include in the song. Overwrites names\n                                         specified by `--include`\n    -o, --output \u003coutput\u003e                Output folder [default: \"./\"]\n    -p, --path \u003cpath\u003e                    Path to MSM data/audio/music [default: \"./data/\"]\n    -r, --repeat \u003crepeat\u003e                How many times the song should be repeated [default: 1]\n    -T, --tempo \u003ctempo\u003e                  Set the tempo of the song. Just like in-game this will also change the pitch\n                                         [default: 1.0]\n\nARGS:\n    \u003cisland\u003e    Island number or name. Required unless `--list-islands` or `--list-monsters` is used\n```\n\n## Usage\n### Installation\nOn 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.\n\n#### Using pre-built Binaries\nDownload the latest release for your operating system from the [releases page](https://github.com/RubixDev/msm-song-creator/releases). This is the binary to execute later on.\n\n#### Building from Source\nFirst 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](https://github.com/RubixDev/msm-song-creator/archive/refs/heads/master.zip) (equivalent to the green download button at the top) or with\n```bash\ngit clone https://github.com/RubixDev/msm-song-creator.git\n```\nOnce in the downloaded directory run `cargo build --release` in a terminal.\nThe finished binary can then be found under `target/release/`.\n\n### Global installation on Linux\nIf you are on Linux you can easily copy the obtained binary to your PATH with\n```bash\nsudo cp path/to/msm /usr/local/bin/msm\n```\nYou can then just use the `msm` command, regardless which directory you are in.\n\n### Obtaining the Game Files\nI 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.\n\n#### Steam (Recommended)\nThe 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.\n\n1. Download the game from Steam\n2. Open once to make sure all latest sounds are downloaded\n3. Open the installation directory. If you are unsure where that is, you can follow these steps:\n   1. Open Steam and go to the Library tab\n   2. Right click on 'My Singing Monsters'\n   3. Click 'Properties'\n   4. In the new window click 'Local Files'\n   5. Then click 'Browse' and a file explorer should open up in the installation directory\n4. Navigate to the subfolder `data/audio/music/`\n5. Copy all files in this folder to a location you can easily remember\n   1. It is recommended to create a `data` folder next to the downloaded binary and put all files in there\n\n#### Android\nThe Android version (and likely the other mobile versions as well) use compressed `.ogg` audio files for the monster sounds.\n\n1. Download 'My Singing Monsters' from the PlayStore\n2. Open the game at least once to make sure all latest sounds are downloaded\n3. Establish some way for file transfer between your phone and computer\n   1. It is probably easiest to connect the phone with a USB cable and enable file transfer\n4. Copy the file `main.270.com.bigbluebubble.singingmonsters.full.obb` from `Android/obb/com.bigbluebubble.singingmonsters.full/` in your phone's internal storage to your computer.\n   1. Don't worry if the file name is not exactly the same. There should only be one file in that folder anyway\n5. Extract the contents from that file\n   1. Note: on Windows it might be necessary to change the file extension from `.obb` to `.zip`\n6. Navigate to the subfolder `assets/audio/music/`\n7. Copy all files in this folder to a location you can easily remember\n   1. It is recommended to create a `data` folder next to the downloaded binary and put all files in there\n\n### Creating the Songs\n1. Open a terminal in the folder with the downloaded program\n   1. 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](#installation))\n   2. On Linux you should already know how to open a terminal\n2. Run `./msm 1`\n   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\n   2. When you put the game files somewhere else than in a `data` folder next to the program, an error like `File 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`\n   3. The outcome can be further customized with tempo, excluded/included monsters and number of repeats. For this refer to the [help section](#help) or use one of the help commands:\n      1. `./msm -h` for short summaries\n      2. `./msm --help` for more detailed explanations\n3. 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\n\n## Troubleshooting\nWhen having any issues, feel free to open a new issue on the [Issues page](https://github.com/RubixDev/msm-song-creator/issues).\n\n## Screenshots\nHere are a few screenshots of the song timelines with various settings:\n\n### Full Islands\nThe command used for all of these looked like\n```bash\n./msm --no-song n\n```\nwith `n` being every number from 1 to 21 except 11 and 20, because those are Composer Island and the Colossingum.\n\n#### Plant Island\n![](screenshots/full_islands/plant.png)\n#### Cold Island\n![](screenshots/full_islands/cold.png)\n#### Air Island\n![](screenshots/full_islands/air.png)\n#### Water Island\n![](screenshots/full_islands/water.png)\n#### Earth Island\n![](screenshots/full_islands/earth.png)\n#### Gold Island\n![](screenshots/full_islands/gold.png)\n#### Ethereal Island\n![](screenshots/full_islands/ethereal.png)\n#### Shugabush Island\n![](screenshots/full_islands/shugabush.png)\n#### Tribal Island\n![](screenshots/full_islands/tribal.png)\n#### Wublin Island\n![](screenshots/full_islands/wublin.png)\n#### Celestial Island\n![](screenshots/full_islands/celestial.png)\n#### Fire Haven\n![](screenshots/full_islands/haven.png)\n#### Fire Oasis\n![](screenshots/full_islands/oasis.png)\n#### Psychic Island\n![](screenshots/full_islands/psychic.png)\n#### Faerie Island\n![](screenshots/full_islands/faerie.png)\n#### Bone Island\n![](screenshots/full_islands/bone.png)\n#### Light Island\n![](screenshots/full_islands/light.png)\n#### Magical Sanctum\n![](screenshots/full_islands/sanctum.png)\n#### Seasonal Shanty\n![](screenshots/full_islands/shanty.png)\n\n### Cold Island only Dipsters\nCommand used:\n```bash\n./msm --no-song -i Do Re Mi Fa Sol La Ti -- 'Cold Island'\n```\n![](screenshots/cold_dipsters_only.png)\n\n### Earth Island no Natural Monsters\nCommand used:\n```bash\n./msm --no-song -i 'Q\\d\\d_Monster' Wubbox 'Rare Wubbox' Humbug 'VOC_\\d\\d_Monster' 'S\\d\\d_Monster' Castle -- 'Earth Island'\n```\n![](screenshots/earth_non_natural.png)\n\n### Wublin Island no Vocal Monsters\nCommand used:\n```bash\n./msm --no-song --exclude Brump Maulch Blipsqueak Whajje Dermit Screemu -- 10\n```\n![](screenshots/wublin_non_vocal.png)\n","funding_links":["https://ko-fi.com/rubixdev"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubixdev%2Fmsm-song-creator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubixdev%2Fmsm-song-creator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubixdev%2Fmsm-song-creator/lists"}