Skip to main content

A Python library for separating vocals and instruments from audio using Demucs.

Project description

🎤 vocals

vocals is a Python library that separates vocals and instruments from audio files using Demucs, a state-of-the-art deep learning model for music source separation. This tool is perfect for music enthusiasts, researchers, and audio engineers who want to isolate vocals for remixing, analysis, or karaoke tracks.

Features

•	Separate vocals and accompaniment from audio files with ease.
•	High-quality output using Demucs’ advanced deep learning models.
•	Simple, reusable interface for integration into other projects.

Installation

1.	Clone this repository or install it via pip:

pip install vocals

2.	Ensure you have Demucs installed. You can install it via pip:

pip install demucs

Usage

Here’s how you can use the library to separate vocals and instruments:

from vocals.separator import VocalSeparator

Initialize the separator with a specific output directory

separator = VocalSeparator(output_directory="separated_tracks")

Separate vocals from an audio file

input_audio_path = "/path/to/audio/file.mp3" # Replace with your file path try: output_path = separator.separate_vocals(input_audio_path) print(f"Separation complete. Files saved in {output_path}") except Exception as e: print(f"An error occurred: {e}")

Requirements

•	Python 3.7 or higher
•	Demucs
•	Other dependencies are automatically installed via pip.

Example

Input file: song.mp3 Output directory: separated_tracks/

After running the script, you’ll find two files in the output directory: 1. vocals.wav - Isolated vocals. 2. no_vocals.wav - Accompaniment without vocals.

Contributing

We welcome contributions! If you have ideas or want to improve this library: 1. Fork the repository. 2. Create a new branch (git checkout -b feature-name). 3. Commit your changes (git commit -m "Add feature"). 4. Push to the branch (git push origin feature-name). 5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Support

If you encounter any issues or have questions, feel free to open an issue on GitHub.

Acknowledgments

This library uses the incredible Demucs model for source separation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vokal-1.0.1.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vokal-1.0.1-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file vokal-1.0.1.tar.gz.

File metadata

  • Download URL: vokal-1.0.1.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for vokal-1.0.1.tar.gz
Algorithm Hash digest
SHA256 2b9ef2df498a1c9a2af69968f36a4f61678a0f499980c9cd35b00f82f4e0b813
MD5 7b4e150edac1d9de6ba826f18ceda26b
BLAKE2b-256 338ab171ac500766f5809edb51104d6f0a235266e4800f176a25a0865b013021

See more details on using hashes here.

File details

Details for the file vokal-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: vokal-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for vokal-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 651255351bd3fe36f4167f4c0931268fe331404d706420a1dfc16e3e03d27db4
MD5 767c16df8e499468746cf6b39cb091ba
BLAKE2b-256 094eb619937e154296a434468097cf98b40c658ae4b8e70e2a8fe1048e54c34e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page