| | --- |
| | title: Demucs Stem Separator |
| | emoji: π΅ |
| | colorFrom: purple |
| | colorTo: pink |
| | sdk: gradio |
| | sdk_version: 6.3.0 |
| | python_version: "3.10" |
| | app_file: app.py |
| | pinned: false |
| | license: mit |
| | tags: |
| | - audio-separation |
| | - stem-separation |
| | - demucs |
| | - mcp-server |
| | short_description: Separate audio into vocals, drums, bass, other stems |
| | --- |
| | |
| | # π΅ Demucs Stem Separator |
| |
|
| | Separate audio β **Vocals** | **Drums** | **Bass** | **Other** |
| |
|
| | | Stem | Output | |
| | |------|--------| |
| | | π€ Vocals | Singing, voice | |
| | | π₯ Drums | Percussion | |
| | | πΈ Bass | Low frequencies | |
| | | πΉ Other | Guitars, synths | |
| |
|
| | **Formats:** MP3, WAV, FLAC, OGG, M4A |
| |
|
| | --- |
| |
|
| | ## API |
| |
|
| | ### Python Client |
| |
|
| | ```python |
| | from gradio_client import Client, handle_file |
| | |
| | client = Client("Luminia/demucs") |
| | vocals, drums, bass, other = client.predict( |
| | audio_file=handle_file("song.wav"), |
| | model_name="htdemucs", # or "htdemucs_ft" |
| | api_name="/separate" |
| | ) |
| | ``` |
| |
|
| | ### REST API (curl) |
| |
|
| | ```bash |
| | # Submit |
| | curl -X POST "https://luminia-demucs.hf.space/gradio_api/call/separate" \ |
| | -H "Content-Type: application/json" \ |
| | -d '{"data": ["https://example.com/song.mp3", "htdemucs"]}' |
| | |
| | # Get result (use event_id from response) |
| | curl "https://luminia-demucs.hf.space/gradio_api/call/separate/{event_id}" |
| | ``` |
| |
|
| | ### MCP |
| |
|
| | ```json |
| | { |
| | "mcpServers": { |
| | "demucs": { |
| | "url": "https://luminia-demucs.hf.space/gradio_api/mcp/" |
| | } |
| | } |
| | } |
| | ``` |
| |
|
| | --- |
| |
|
| | [Demucs](https://github.com/facebookresearch/demucs) by Facebook Research |
| |
|