/MISST

A local GUI music source separation tool built on Tkinter and demucs serving as a free and open source Stem Player

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

GitHub release Github All Releases License Hits-of-Code


| MISST on Windows 11 with Dark mode and 'Blue' theme with 'Steve Lacy's Infrunami' playing

| MISST on Windows 11 with Light mode and 'Blue' theme with 'Frank Ocean's Ivy' playing

| MISST on Windows 11 Showcasing how versatile and personal you can be with MISST!

| MISST on Windows 11 Showcasing how importing audios is as easy as two clicks!

Original Repository of MISST : Music/Instrumental Stem Separation Tool.

This application uses state-of-the-art demucs source separation models to extract the 4 core stems from audio files (Bass, Drums, Other Instrumentals and Vocals). But it is not limited to this. MISST acts as a developped music player aswell, fit to enjoy and medal with your audio files as you see fit. MISST even comes prepared to import songs and playlists directly from your music library.

This project is OpenSource, feel free to use, study and/or send pull request.

Objectives:

  • Import songs and playlists from your music library
  • Easy to use UI
  • Play your songs and playlists
  • Extract and manipulate the 4 core stems from your audio files as they play
  • Discord rich presence to show off your music to your friends
  • Save your stems as audio files
  • If imported from your music library, view lyrics and metadata just as you would in your old music player
  • Minimal memory usage
  • Customizable themes
  • Additional Efects like nightcore
  • Easy to use equalizer
  • Preprocessing service available on both CPU and GPU
  • Ability to change the pre-trained model used for separation
  • Small save size, comparable to the size of the inputted audio
  • Docker image (WIP)
  • Stable on Windows, Linux and MacOS (WIP)
  • Proper installer/updater (Not a priority)

Installation

As of version 3.1.0, MISST is only available on windows with guaranteed compatibility.

Until a later release :

Manual Installation

These instructions are for those installing MISST v3.1.0 manually only.

  1. Download & install Python 3.9 or higher (but no lower than 3.9.0) here
    • Note: Ensure the "Add Python to PATH" box is checked
  2. Download the Source code here
  3. Open the command prompt from the MISST directory and run the following commands, separately -
$ python3 -m venv ./venv
$ pip install -r requirements.txt
$ python3 MISSTapp.py
  • Note: Install requirements-minimal.txt if you don't intend to accelerate preprocessing with your GPU.

From here you should be able to open and run the MISSTapp.py file

  • CUDA

    • CUDA must be installed and configured for the application to process any track with GPU acceleration. You will need to look up instruction on how to configure it on your operating system. Click here for nvidia's installation guide.

Benchmark

The audio processing performance was evaluated using an NVIDIA GeForce RTX 2070 SUPER with 8GB VRAM and an AMD Ryzen 3700X 8-Core Processor on the htdemucs pretrained model. This test aimed to compare the processing time of audio on a CPU versus a GPU.

Here are the results of the test:

Source Source Length CPU GPU Model
Frank Ocean - Ivy 4m 09.00s 2m 22.16s 0m 28.04s htdemucs

Demo

MISST.mp4

Open in YouTube

License

The MISST code is GPL-licensed.

  • Please Note: For all third-party application developers who wish to use MISST or its code, please honor the GPL license by providing credit to MISST and its developer.

Issue Reporting

Please be as detailed as possible when posting a new issue.

If possible, check the "MISST.log" file in your install directory for detailed error information that can be provided to me.

Contributing

  • For anyone interested in the ongoing development of MISST, please send us a pull request, and I will review it.
  • This project is 100% open-source and free for anyone to use and modify as they wish.
  • I only maintain the development for MISST and the models provided.

More documentation to come...