Introduction to Spleeter
What is Spleeter?
Spleeter is an innovative music source separation library developed by Deezer, a prominent music streaming service. Designed with pre-trained models using Python and TensorFlow, Spleeter allows users to separate musical tracks into different components, such as vocals and accompaniment. This enables artists, music producers, and enthusiasts to experiment with different aspects of music without the need for complex setup or expertise in engineering.
Key Features
Spleeter offers several key features that make it a go-to tool for audio separation:
- Vocals and Accompaniment Separation: Known as "2 stems," this model separates the singing voice from the rest of the audio.
- Vocals/Drums/Bass/Other Separation: Referred to as "4 stems," this model provides more detailed separation.
- Vocals/Drums/Bass/Piano/Other Separation: With "5 stems," this model includes even piano extraction for further granularity.
Spleeter’s high-performance models achieve impressive results, especially when used with the musdb dataset—a benchmark tool used for assessing music separation methods. Additionally, its speed is a standout feature, being capable of separating audio into four different stems at speeds 100 times faster than real-time on a GPU.
Usage and Accessibility
Spleeter is designed for versatility and ease of use. It can be operated through the command line for quick tasks and integrated directly into development projects as a Python library. Installing Spleeter is straightforward using pip, and for those who prefer containerized environments, it is available via Docker.
For users wanting to try Spleeter without installing it locally, a Google Colab environment is available, allowing seamless cloud-based execution.
Real-World Applications
Spleeter has found its way into numerous projects and audio software, enhancing their capabilities with its separation technology. Projects utilizing Spleeter include:
- iZotope’s Music Rebalance feature within RX 8.
- SpectralLayers for its Unmix feature.
- Acon Digital's Acoustica 7 audio editor.
- VirtualDJ for stem isolation features.
- Algoriddim's suite of apps like NeuralMix and djayPRO.
Moreover, Spleeter has been recognized as a baseline in the Music Demixing Challenge, showcasing its influence and reliability in music technology research.
Getting Started
Getting started with Spleeter requires minimal setup. After installing necessary dependencies like ffmpeg and libsndfile using Conda (though it’s no longer the recommended method for Spleeter itself), users can install Spleeter with pip and perform audio separation with a few command-line instructions. Despite some known issues on specific platforms like Apple's M1 chips, workarounds are available to ensure continued usability.
Users can follow detailed instructions and guidance through the Spleeter repository wiki, ensuring they maximize the effectiveness of the tool.
Contribution and Development
For those interested in contributing to the development of Spleeter, the project is managed with Poetry, a tool for Python dependency management. Contributors are encouraged to participate through pull requests, with guidelines available in the repository.
Licensing and Usage
Spleeter is open-source, licensed under the MIT License. However, users are advised to seek appropriate permissions when working with copyrighted material.
Overall, Spleeter represents a significant advancement in music technology, democratizing access to high-quality audio separation tools and empowering users to explore and create with ease.