jagilley / demucs

Get individual instruments/vocals from any music file

  • Public
  • 311 runs
  • GitHub
  • License

Run jagilley/demucs with an API

Use one of our client libraries to get started quickly. Clicking on a library will take you to the Playground tab where you can tweak different inputs, see the results, and copy the corresponding code to use in your own project.

Input schema

The fields you can use to run this model with an API. If you don't give a value for a field its default value will be used.

Field Type Default value Description
audio
string
The audio file to separate
two_stems
string (enum)

Options:

drums, bass, other, vocals

If you want to separate into two stems, enter the name of the stem here.
int24
boolean
False
If you want to output 24 bit wav files, set this to true.
float32
boolean
False
If you want to output 32 bit wav files, set this to true. Keep in mind this is 2x bigger.
clip_mode
string (enum)
rescale

Options:

rescale, clamp

Strategy for avoiding clipping: rescaling entire signal if necessary (rescale) or hard clipping (clamp)
mp3
boolean
False
If you want to convert the output wavs to mp3, set this to true.
mp3_bitrate
integer
320
The bitrate of the converted mp3.
shifts
integer
1
Number of random shifts for equivariant stabilization. Increase separation time but improves quality for Demucs. 10 was used in the original paper.
workers
integer
0
Number of jobs. This can increase memory usage but will be much faster when multiple cores are available.
split
boolean
False
If you want to split audio in chunks, set this to true. This can use large amounts of memory.
overlap
number
0.25
Overlap between the splits.

Output schema

The shape of the response you’ll get when you run this model with an API.

Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "format": "uri"
  },
  "title": "Output"
}