<div align="center">
<a href="https://pypi.org/project/extra-demucs" target="_blank"><img src="https://img.shields.io/pypi/v/extra-demucs?label=PyPI%20Version&color=limegreen" /></a>
<a href="https://pypi.org/project/extra-demucs" target="_blank"><img src="https://img.shields.io/pypi/pyversions/extra-demucs?color=limegreen" /></a>
<a href="https://github.com/mohammadmansour200/extra-demucs/blob/main/LICENSE" target="_blank"><img src="https://img.shields.io/pypi/l/extra-demucs?color=limegreen" /></a>
<a href="https://pepy.tech/project/extra-demucs" target="_blank"><img src="https://static.pepy.tech/badge/extra-demucs" /></a>
<a href="https://baseet.netlify.app/ai" target="_blank"><img src="https://colab.research.google.com/assets/colab-badge.svg" /></a>
</div>
`extra_demucs`: Extended [Demucs](https://github.com/facebookresearch/demucs) with yt-dlp media downloading and Video
Music removal
## Features
- 🎧 **Vocal isolation** using Demucs (`--two-stems vocals`)
- 📥 **Media download** from URLs (e.g., YouTube) using `yt-dlp`
- 📁 Works with both **audio** and **video** files
- ✅ Local + remote (URL) input support
## Get started
*Make sure you have [ffmpeg](https://www.ffmpeg.org/download.html) installed.*
```bash
sudo apt install ffmpeg
```
Download package:
> Requires Python 3.9+
```bash
pip install extra-demucs
```
## Usage
```bash
from extra_demucs.separate import extra_separator
extra_separator(
files=[
"https://www.youtube.com/watch?v=123",
"local_audio.mp3"
],
download_format="audio", # or "video"
quality="medium", # "low", "medium", "high"
output_dir="outputs"
)
```
Raw data
{
"_id": null,
"home_page": null,
"name": "extra-demucs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "demucs, audio-separation, vocal-extract, music-source-separation, yt-dlp, ffmpeg, deep-learning, torch-audio, music-remove",
"author": "mohammadmansour200",
"author_email": "mohammadamansour03@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/89/d0/39c4171c35e5ce5532f5b559d411f370c3a0bb0baa81f9e14e2a5753f391/extra_demucs-0.5.0.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <a href=\"https://pypi.org/project/extra-demucs\" target=\"_blank\"><img src=\"https://img.shields.io/pypi/v/extra-demucs?label=PyPI%20Version&color=limegreen\" /></a>\n <a href=\"https://pypi.org/project/extra-demucs\" target=\"_blank\"><img src=\"https://img.shields.io/pypi/pyversions/extra-demucs?color=limegreen\" /></a>\n <a href=\"https://github.com/mohammadmansour200/extra-demucs/blob/main/LICENSE\" target=\"_blank\"><img src=\"https://img.shields.io/pypi/l/extra-demucs?color=limegreen\" /></a>\n <a href=\"https://pepy.tech/project/extra-demucs\" target=\"_blank\"><img src=\"https://static.pepy.tech/badge/extra-demucs\" /></a>\n <a href=\"https://baseet.netlify.app/ai\" target=\"_blank\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" /></a>\n</div>\n\n`extra_demucs`: Extended [Demucs](https://github.com/facebookresearch/demucs) with yt-dlp media downloading and Video\nMusic removal\n\n## Features\n\n- \ud83c\udfa7 **Vocal isolation** using Demucs (`--two-stems vocals`)\n- \ud83d\udce5 **Media download** from URLs (e.g., YouTube) using `yt-dlp`\n- \ud83d\udcc1 Works with both **audio** and **video** files\n- \u2705 Local + remote (URL) input support\n\n## Get started\n\n*Make sure you have [ffmpeg](https://www.ffmpeg.org/download.html) installed.*\n\n```bash\nsudo apt install ffmpeg\n```\n\nDownload package:\n> Requires Python 3.9+\n\n```bash\npip install extra-demucs\n```\n\n## Usage\n\n```bash\nfrom extra_demucs.separate import extra_separator\n\nextra_separator(\n files=[\n \"https://www.youtube.com/watch?v=123\",\n \"local_audio.mp3\"\n ],\n download_format=\"audio\", # or \"video\"\n quality=\"medium\", # \"low\", \"medium\", \"high\"\n output_dir=\"outputs\"\n)\n\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Extended Demucs with yt-dlp and Video support.",
"version": "0.5.0",
"project_urls": null,
"split_keywords": [
"demucs",
" audio-separation",
" vocal-extract",
" music-source-separation",
" yt-dlp",
" ffmpeg",
" deep-learning",
" torch-audio",
" music-remove"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1ded41951ca1598dafcf470f2ce8310d2c0a64f4952c54833807567b1fb20a47",
"md5": "2ae1435e5aa1d4f0c1000557af555fa5",
"sha256": "c7f9b64dadace859f2b7cdbef4f3552566de7d16bab50f8b1d087338948ad573"
},
"downloads": -1,
"filename": "extra_demucs-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2ae1435e5aa1d4f0c1000557af555fa5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 7409,
"upload_time": "2025-07-27T23:35:03",
"upload_time_iso_8601": "2025-07-27T23:35:03.160748Z",
"url": "https://files.pythonhosted.org/packages/1d/ed/41951ca1598dafcf470f2ce8310d2c0a64f4952c54833807567b1fb20a47/extra_demucs-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "89d039c4171c35e5ce5532f5b559d411f370c3a0bb0baa81f9e14e2a5753f391",
"md5": "ed94d760e884aa8d41eac8aa1a55cd4f",
"sha256": "f733e76e47deadd95244ccd62870104eb7505cb5f1fab6b63fa1671ab8895efc"
},
"downloads": -1,
"filename": "extra_demucs-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "ed94d760e884aa8d41eac8aa1a55cd4f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 5997,
"upload_time": "2025-07-27T23:35:03",
"upload_time_iso_8601": "2025-07-27T23:35:03.893923Z",
"url": "https://files.pythonhosted.org/packages/89/d0/39c4171c35e5ce5532f5b559d411f370c3a0bb0baa81f9e14e2a5753f391/extra_demucs-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-27 23:35:03",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "extra-demucs"
}