Easy to use audio stem separation with a UI, using various models from UVR trained primarily by @Anjok07
Project description
PolUVR 🎶
Overview
PolUVR is a Python-based audio separation tool that leverages advanced machine learning models to separate audio tracks into distinct stems, such as vocals, instrumental, drums, bass, and more. Built as a fork of the python-audio-separator, PolUVR offers enhanced usability, hardware acceleration, and a user-friendly Gradio interface.
Key Features
- Audio Separation: Extract vocals, instrumental, drums, bass, and other stems.
- Hardware Acceleration: Supports CUDA (Nvidia GPUs) and CoreML (Apple Silicon).
- Cross-Platform: Works on Linux, macOS, and Windows.
- Gradio Interface: Easy-to-use web interface for audio separation.
Installation 🛠️
Hardware Acceleration Options
PolUVR supports multiple hardware acceleration options for optimal performance. To verify successful configuration, run:
PolUVR --env_info
| Command | Expected Log Message |
|---|---|
pip install "PolUVR[gpu]" |
ONNXruntime has CUDAExecutionProvider available, enabling acceleration |
pip install "PolUVR[cpu]" |
ONNXruntime has CoreMLExecutionProvider available, enabling acceleration |
pip install "PolUVR[cpu]" |
No hardware acceleration enabled |
FFmpeg Dependency
PolUVR relies on FFmpeg for audio processing. To check if FFmpeg is installed, run:
PolUVR --env_info
The log should show: FFmpeg installed
If FFmpeg is missing, install it using the following commands:
| OS | Command |
|---|---|
| Debian/Ubuntu | apt-get update; apt-get install -y ffmpeg |
| macOS | brew update; brew install ffmpeg |
| Windows | Follow this guide: Install FFmpeg on Windows |
If you cloned the repository, you can install FFmpeg with:
PolUVR-ffmpeg
GPU / CUDA Specific Installation Steps
While installing PolUVR with the [gpu] extra should suffice, sometimes PyTorch and ONNX Runtime with CUDA support require manual intervention. If you encounter issues, follow these steps:
pip uninstall torch onnxruntime
pip cache purge
pip install --force-reinstall torch torchvision torchaudio
pip install --force-reinstall onnxruntime-gpu
For the latest PyTorch version, use the command recommended by the PyTorch installation wizard.
Multiple CUDA Library Versions
If you need to install multiple CUDA versions (e.g., CUDA 11 alongside CUDA 12), use:
apt update; apt install nvidia-cuda-toolkit
If you encounter errors like Failed to load library or cannot open shared object file, resolve them by running:
python -m pip install ort-nightly-gpu --index-url=https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ort-cuda-12-nightly/pypi/simple/
Usage 🚀
Gradio Interface
To launch the Gradio interface, use:
PolUVR-app [--share] [--open]
| Parameter | Description |
|---|---|
--share |
Opens public access to the interface (useful for servers, Google Colab, etc.). |
--open |
Automatically opens the interface in a new browser tab. |
As soon as one of the following messages appears:
Running on local URL: http://127.0.0.1:7860
Running on public URL: https://28425b3eb261b9ddc6.gradio.live
you can click on the link to open the WebUI.
Requirements 📋
- Python >= 3.10
- Libraries: torch, onnx, onnxruntime, numpy, librosa, requests, six, tqdm, pydub
Developing Locally
Prerequisites
- Python 3.10 or newer
- Conda (recommended: Miniforge)
Clone the Repository
git clone https://github.com/Bebra777228/PolUVR.git
cd PolUVR
Create and Activate the Conda Environment
conda env create
conda activate PolUVR-dev
Install Dependencies
poetry install
For extra dependencies, use:
poetry install --extras "cpu"
or
poetry install --extras "gpu"
Running the Gradio interface Locally
PolUVR-app --open
Deactivate the Virtual Environment
conda deactivate
Contributing 🤝
Contributions are welcome! Fork the repository, make your changes, and submit a pull request. For major changes, please open an issue first to discuss what you would like to add.
Acknowledgments
This project is a fork of the original python-audio-separator repository. Special thanks to the contributors of the original project for their foundational work.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file poluvr-1.3.3.tar.gz.
File metadata
- Download URL: poluvr-1.3.3.tar.gz
- Upload date:
- Size: 142.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0007d71e1a44b29e03e6b68f716a0ce9932e3643bd6f1a164871631cb539b097
|
|
| MD5 |
600fef05c5abf234df868461b4acdb80
|
|
| BLAKE2b-256 |
f8646294bbb7e1de194cd835d9ea46804e4b7f37ea26c49971741e8ea15d0f43
|
File details
Details for the file poluvr-1.3.3-py3-none-any.whl.
File metadata
- Download URL: poluvr-1.3.3-py3-none-any.whl
- Upload date:
- Size: 191.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5266dd06532240725aa4acdb8a554c0d40d86703be35d4b7ac9db43690c4d799
|
|
| MD5 |
eae3fc1c7ffeba2d24228261f34f5418
|
|
| BLAKE2b-256 |
77f322c6c2006f3fd8fad72fd1d8b085814129554311f89fdb6cb7708b276bd9
|