Muse Dash Ripper
A simple GUI program to rip the Muse Dash soundtrack. Only supports Windows.
Features
- extracts all sound files without re-encoding
- extracts cover images
- adds cover images and song metadata to the resulting
.ogg
files
- optionally exports cover images as
.png
- optionally exports song metadata as
.csv
- optionally puts each exported song and cover into a filter with the album name
- supports all languages that Muse Dash supports, with corresponding changes in song names, artist names, album names, etc.
- Chinese Traditional
- Chinese Simplified
- English (default)
- Japanese
- Korean
- None: use the default names for everything
Development
Notes on dependencies
- UnityPy is used instead of UnityPack because the new versions of Muse Dash since around November/December 2021 use a newer version of Unity than
UnityPack
supports.
- We use python-fsb5 instead of
UnityPy
's built-in AudioClip
extraction method in order to get the original Ogg Vorbis-encoded sound files.
- python-fsb5 currently has a relative import bug. Fixed in my fork.
- python-fsb5 requires
libogg
and libvorbis
to unpack Ogg Vorbis sound files.
Tools used:
- Packaging: Poetry
- Freezing: PyInstaller
- Formatter: Black
- Run using
poetry run black src
- Linter: Pylint
- Run using
poetry run pylint src
- Type checking: mypy
- Run using
poetry run mypy src
- Testing: what tests? We don't have no tests.
Building
- Build
libogg.dll
and libvorbis.dll
and place them in the root of the repository. See this blog post for detailed instructions.
- Download and install Poetry
- Run
poetry install
to install dependencies and package
- (optional) Bump version with
poetry version <version>
- Run
poetry run pyinstaller -y musedash-ripper.spec
to freeze the application into a .exe
under dist/musedash-ripper.exe