<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/57/70/ee92617ad1560d34c2d592cbe1b341faccb9c91a16f5f38384d7ffb94486/extra_demucs-0.7.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.7.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": "705c933a1630044148a0c840367cfbcf67eea3f5a97b1c16c2870d1784c091d8",
"md5": "1af07625586f2970c2a2753b18390b8c",
"sha256": "c955fd9b3bbd36dfad28812bd584c029d360640faa2abab05467a5f96f6bd7cf"
},
"downloads": -1,
"filename": "extra_demucs-0.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1af07625586f2970c2a2753b18390b8c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 7424,
"upload_time": "2025-08-27T00:06:58",
"upload_time_iso_8601": "2025-08-27T00:06:58.958840Z",
"url": "https://files.pythonhosted.org/packages/70/5c/933a1630044148a0c840367cfbcf67eea3f5a97b1c16c2870d1784c091d8/extra_demucs-0.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5770ee92617ad1560d34c2d592cbe1b341faccb9c91a16f5f38384d7ffb94486",
"md5": "5f2ea72c3f9490928e85797a7bd92508",
"sha256": "db48480b25313e571c83ef27fe2d5f9e406b6eeb212c378e7de280ee78e12e0a"
},
"downloads": -1,
"filename": "extra_demucs-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "5f2ea72c3f9490928e85797a7bd92508",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 6011,
"upload_time": "2025-08-27T00:06:59",
"upload_time_iso_8601": "2025-08-27T00:06:59.717961Z",
"url": "https://files.pythonhosted.org/packages/57/70/ee92617ad1560d34c2d592cbe1b341faccb9c91a16f5f38384d7ffb94486/extra_demucs-0.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-27 00:06:59",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "extra-demucs"
}