Sound Source Separation

Sound Source Separation

Sound Source Separation

What is Sound Source Separation?

Sound Source Separation is the process of isolating individual sounds in a mixture of multiple sounds. We call each sound heard in the mixture a source.

For example, we might want to isolate a singer from the background music to make a karaoke version of a song or isolate the bass guitar from the rest of the band so a musician can learn the part.

Why Use Sound Source Separation?

There are many reasons to study source separation. There are many demonstrated uses for music source separation within the field of Music Information Retrieval (MIR). In many scenarios, researchers have discovered that it is easier to process isolated sources than mixtures of those sources. For example, sound source separation has been used to enhance:

  • automatic music transcription

  • lyric and music alignment

  • musical instrument detection

  • lyric recognition

  • automatic singer identification

  • vocal activity detection

  • fundamental frequency estimation

  • understanding the predictions of black-box audio models

Additionally, source separation has long been seen as an inherently worthwhile endeavor on its own merits, with many thousands of research papers appearing over the past few decades and more appearing every year.

Deep Learning for Sound Source Separation

Deep Neural Networks are currently the state-of-the-art source separation technology. In a nutshell, they work by training on a large amount of mixtures and isolated source data. The network produces an output for a source, then the network's output is compared against known, ground truth isolated source.

MUSDB18 dataset can be used for the training purposes of Sound Source Separation neural networks.

MUSDB18 is a dataset of 150 full length music tracks of varying genres. For each track it provides a mixture along with the isolated stems for the drums, bass, vocals, and others. As its name suggests, the "others" stem contains all other sources in the mix that are not the drums, bass or vocals.


The goal of this article was to provide an introduction on Sound Source Separation. We also discussed the importance of Sound Source Separation and the preferred Machine Learning model for training. We also discussed one of the required dataset we can use to train our Sound Source Separation Deep Learning model.

More Articles of Aniket Sharma:

Name Views Likes
Pyperclip: Installation and Working 992 2
Number Guessing Game using Python 683 2
Pyperclip: Not Implemented Error 1033 2
Hangman Game using Python 16821 2
Using Databases with CherryPy application 1676 2
nose: Working 509 2
pytest: Working 512 2
Open Source and Hacktoberfest 868 2
Managing Logs of CherryPy applications 1005 2
Top 20 Data Science Tools 684 2
Ajax application using CherryPy 799 2
REST application using CherryPy 664 2
On Screen Keyboard using Python 5532 2
Elastic Net Regression 816 2
US Presidential Election 2020 Prediction using Python 795 2
Sound Source Separation 1166 2
URLs with Parameters in CherryPy 1635 2
Testing CherryPy application 638 2
Handling HTML Forms with CherryPy 1450 2
Applications of Natural Language Processing in Businesses 511 2
NetworkX: Multigraphs 649 2
Tracking User Activity with CherryPy 1404 2
CherryPy: Handling Cookies 822 2
Introduction to NetworkX 633 2
TorchServe - Serving PyTorch Models 1306 2
Fake News Detection Model using Python 735 2
Keeping Home Routers secure while working remotely 484 2
Email Slicer using Python 2998 2
NetworkX: Creating a Graph 1111 2
Best Mathematics Courses for Machine Learning 551 2
Hello World in CherryPy 681 2
Building dependencies as Meson subprojects 979 2
Vehicle Detection System 1081 2
NetworkX: Examining and Removing Graph Elements 608 2
Handling URLs with CherryPy 537 2
PEP 8 - Guide to Beautiful Python Code 759 2
NetworkX: Drawing Graphs 624 2
Mad Libs Game using Python 645 2
Hosting Cherry applications 613 2
Top 5 Free Online IDEs of 2020 868 2
pytest: Introduction 535 2
Preventing Pwned and Reused Passwords 582 2
Contact Book using Python 2095 2
Introduction to CherryPy 547 2
nose: Introduction 505 2
Text-based Adventure Game using Python 3002 2
NetworkX: Adding Attributes 2290 2
NetworkX: Directed Graphs 1021 2
Dice Simulator using Python 562 2
Decorating CherryPy applications using CSS 834 2