• Stars
    star
    250
  • Rank 162,397 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created over 1 year ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Streamilt web app for music source separation & karaoke
title emoji colorFrom colorTo sdk app_port models tags pinned
Moseca
🎤🎸🥁🎹
yellow
purple
docker
7860
audio
music
vocal-removal
karaoke
music-separation
music-source-separation
true

Moseca - Music Source Separation & Karaoke

Open In Colab Hugging Face Spaces Docker Buy me a coffee


Demo Moseca

Moseca - Extract vocals and instrument from any song | Product Hunt


Setup

Local environment

Create a new environment with Python 3.10 and install the requirements:

pip install -r requirements.txt

set the PYTHONPATH to the root folder:

export PYTHONPATH=path/to/moseca

download the vocal remover model:

wget --progress=bar:force:noscroll https://huggingface.co/fabiogra/baseline_vocal_remover/resolve/main/baseline.pth

then run the app with:

streamlit run app/header.py

Docker

You can also run the app with Docker:

docker build -t moseca .
docker run -it --rm -p 7860:7860 $(DOCKER_IMAGE_NAME)

or pull the image from Hugging Face Spaces:

docker run -it -p 7860:7860 --platform=linux/amd64 \
	registry.hf.space/fabiogra-moseca:latest

You can set the following environment variables to limit the resources used by the app:

  • ENV_LIMITATION=true
  • LIMIT_CPU=true

(Optional) Preprocess samples

If you want to preprocess the samples used in the demo, you need to set the env variable PREPARE_SAMPLES=true as a secret (create the file run/secrets/PREPARE_SAMPLES with true value inside).

If you run locally you also need to move the files inside scripts to the root folder and run prepare_samples.sh.

cp scripts/ .
chmod +x prepare_samples.sh
python prepare_samples.sh

About

Welcome to Moseca, your personal web application designed to redefine your music experience. Whether you're a musician looking to remix your favorite songs, a karaoke enthusiast, or a music lover wanting to dive deeper into your favorite tracks, Moseca is for you.


High-Quality Stem Separation


Separate up to 6 stems including 🗣voice, 🥁drums, 🔉bass, 🎸guitar, 🎹piano (beta), and 🎶 others.


Advanced AI Algorithms


Moseca utilizes state-of-the-art AI technology to extract voice or music from your original songs accurately.


Karaoke Fun


Engage with your favorite tunes in a whole new way!

Moseca offers an immersive online karaoke experience, allowing you to search for any song on YouTube and remove the vocals online.

Enjoy singing along with high-quality instrumentals at the comfort of your home.


Easy Deployment

With Moseca, you can deploy your personal Moseca app in the Hugging Face Spaces or locally with Docker Call in just one click.

You can also speed up the music separation process by Open In Colab with GPU support.


Open-Source and Free

Moseca is the free and open-source alternative to lalal.ai, splitter.ai or media.io vocal remover.

You can modify, distribute, and use it free of charge. I believe in the power of community collaboration and encourage users to contribute to our source code, making Moseca better with each update.


Support

  • Show your support by giving a star to the GitHub repository GitHub stars.
  • If you have found an issue or have a suggestion to improve Moseca, you can open an GitHub issues
  • Enjoy Moseca? Buymeacoffee

FAQs

What is Moseca?

Moseca is an open-source web app that utilizes advanced AI technology to separate vocals and instrumentals from music tracks. It also provides an online karaoke experience by allowing you to search for any song on YouTube and remove the vocals.

Are there any limitations?

Yes, in this environment there are some limitations regarding lenght processing and CPU usage to allow a smooth experience for all users.

If you want to remove these limitations you can deploy a Moseca app in your personal environment like in the Hugging Face Spaces or locally with Docker Call

How does Moseca work?

Moseca utilizes the Hybrid Spectrogram and Waveform Source Separation (DEMUCS) model from Facebook. For fast karaoke vocal removal, Moseca uses the AI vocal remover developed by tsurumeso.

How do I use Moseca?

  1. Upload your file: choose your song and upload it to Moseca. It supports a wide range of music formats for your convenience.

  2. Choose separation mode: opt for voice only, 4-stem or 6-stem separation depending on your requirement.

  3. Let AI do its magic: Moseca’s advanced AI will work to separate vocals from music in a matter of minutes, giving you high-quality, separated audio tracks.

  4. Download and enjoy: preview and download your separated audio tracks. Now you can enjoy them anytime, anywhere!

Where can I find the code for Moseca?

The code for Moseca is readily available on GitHub and Hugging Face.

How can I get in touch with you?

For any questions or feedback, feel free to contact me on Twitter or LinkedIn.


Disclaimer

Moseca is designed to separate vocals and instruments from copyrighted music for legally permissible purposes, such as learning, practicing, research, or other non-commercial activities that fall within the scope of fair use or exceptions to copyright. As a user, you are responsible for ensuring that your use of separated audio tracks complies with the legal requirements in your jurisdiction.