Skip to content

Commit 1d72f1d

Browse files
committed
Updated readme to make it clearer that you don't need to download models ahead of time to use the tool!
1 parent 59e72e2 commit 1d72f1d

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

README.md

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,27 @@ The simplest (and probably most utilized) use case for this package is to separa
2121

2222
## Installation 🛠️
2323

24+
### 🐳 Docker
25+
26+
If you're able to use docker, you don't actually need to _install_ anything - there are [images published on Docker Hub](https://hub.docker.com/r/beveradb/audio-separator/tags) for GPU (CUDA) and CPU inferencing, for both `amd64` and `arm64` platforms.
27+
28+
You probably want to volume-mount a folder containing whatever file you want to separate, which can then also be used as the output folder.
29+
30+
For instance, if your current directory has the file `input.wav`, you could execute `audio-separator` as shown below (see [usage](#usage-) section for more details):
31+
32+
```
33+
docker run -it -v `pwd`:/workdir beveradb/audio-separator input.wav
34+
```
35+
36+
If you're using a machine with a GPU, you'll want to use the GPU specific image and pass in the GPU device to the container, like this:
37+
38+
```
39+
docker run -it --gpus all -v `pwd`:/workdir beveradb/audio-separator:gpu input.wav
40+
```
41+
42+
If the GPU isn't being detected, make sure your docker runtime environment is passing through the GPU correctly - there are [various guides](https://www.celantur.com/blog/run-cuda-in-docker-on-linux/) online to help with that.
43+
44+
2445
### 🎮 Nvidia GPU with CUDA or 🧪 Google Colab
2546

2647
💬 If successfully configured, you should see this log message when running `audio-separator --env_info`:
@@ -90,32 +111,26 @@ You can install the CUDA 11 libraries _alongside_ CUDA 12 like so:
90111

91112
> Note: if anyone knows how to make this cleaner so we can support both different platform-specific dependencies for hardware acceleration without a separate installation process for each, please let me know or raise a PR!
92113
93-
## Usage in Docker 🐳
94114

95-
There are [images published on Docker Hub](https://hub.docker.com/r/beveradb/audio-separator/tags) for GPU (CUDA) and CPU inferencing, for both `amd64` and `arm64` platforms.
96-
97-
You probably want to volume-mount a folder containing whatever file you want to separate, which can then also be used as the output folder.
98-
99-
For example, if the current directory contains your input file `input.wav`, you could run `audio-separator` like so:
115+
## Usage 🚀
100116

101-
```
102-
docker run -it -v `pwd`:/workdir beveradb/audio-separator input.wav
103-
```
117+
### Command Line Interface (CLI)
104118

105-
If you're using a machine with a GPU, you'll want to use the GPU specific image and pass in the GPU device to the container, like this:
119+
You can use Audio Separator via the command line, for example:
106120

107121
```
108-
docker run -it --gpus all -v `pwd`:/workdir beveradb/audio-separator:gpu input.wav
122+
audio-separator /path/to/your/input/audio.wav --model_filename UVR-MDX-NET-Inst_HQ_3.onnx
109123
```
110124

111-
If the GPU isn't being detected, make sure your docker runtime environment is passing through the GPU correctly - there are [various guides](https://www.celantur.com/blog/run-cuda-in-docker-on-linux/) online to help with that.
125+
This command will download the specified model file, process the `audio.wav` input audio and generate two new files in the current directory, one containing vocals and one containing instrumental.
112126

127+
**Note:** You do not need to download any files yourself - audio-separator does that automatically for you!
113128

114-
## Usage 🚀
129+
To see a list of supported models, run `audio-separator --list_models`
115130

116-
### Command Line Interface (CLI)
131+
Any file listed in the list models output can be specified (with file extension) with the model_filename parameter (e.g. `--model_filename UVR_MDXNET_KARA_2.onnx`) and it will be automatically downloaded to the `--model_file_dir` (default: `/tmp/audio-separator-models/`) folder on first usage.
117132

118-
You can use Audio Separator via the command line:
133+
### Full command-line interface options:
119134

120135
```sh
121136
usage: audio-separator [-h] [-v] [-d] [-e] [-l] [--log_level LOG_LEVEL] [-m MODEL_FILENAME] [--output_format OUTPUT_FORMAT] [--output_dir OUTPUT_DIR] [--model_file_dir MODEL_FILE_DIR] [--invert_spect]
@@ -176,14 +191,6 @@ Demucs Architecture Parameters:
176191
--demucs_segments_enabled DEMUCS_SEGMENTS_ENABLED enable segment-wise processing (default: True). Example: --demucs_segments_enabled=False
177192
```
178193

179-
Example:
180-
181-
```
182-
audio-separator /path/to/your/audio.wav --model_filename UVR_MDXNET_KARA_2.onnx
183-
```
184-
185-
This command will process the file and generate two new files in the current directory, one for each stem.
186-
187194
### As a Dependency in a Python Project
188195

189196
You can use Audio Separator in your own Python project. Here's how you can use it:

0 commit comments

Comments
 (0)