Music Restoration with UFormer

These checkpoints accompany the Music Source Restoration paper. (arxiv link coming soon)

A simple audio restoration toolkit based on UFormer, designed for music source restoration across different instrument groups. Supports long-file inference via overlap-add and multiple checkpoints for specialized restoration (e.g., guitars, vocals, synth).

Directory Structure

music-restoration/               # Root of the repository
β”œβ”€β”€ model.py                     # UFormerConfig & UFormer definitions
β”œβ”€β”€ inference.py                 # Inference entry-point (CLI, HF API, Gradio)
β”œβ”€β”€ requirements.txt             # Dependencies: torch, soundfile, gradio, huggingface_hub
β”œβ”€β”€ .gitattributes               # LFS tracking for checkpoints
β”œβ”€β”€ README.md                    
└── checkpoints/                 # Pretrained weights
    β”œβ”€β”€ acoustic_guitar.pth
    β”œβ”€β”€ bass.pth
    β”œβ”€β”€ electric_guitar.pth
    β”œβ”€β”€ guitars.pth
    β”œβ”€β”€ keyboards.pth
    β”œβ”€β”€ orchestra.pth
    β”œβ”€β”€ rhythm_section.pth
    β”œβ”€β”€ synth.pth
    └── vocals.pth

Installation

pip install -r requirements.txt

Usage

Command-Line Interface

python inference.py \
  --input noisy.wav \
  --output restored.wav \
  --checkpoint guitars

Hugging Face Inference API

Send a JSON payload:

{
  "inputs": <raw WAV bytes>,
  "parameters": { "checkpoint": "vocals" }
}

Gradio Demo (Spaces)

python inference.py --serve

Open the provided local URL to upload audio and select a checkpoint.

Checkpoints

Available models for different instrument groups:

  • acoustic_guitar
  • bass
  • electric_guitar
  • guitars
  • keyboards
  • orchestra
  • rhythm_section
  • synth
  • vocals

License

Apache 2.0 License. See LICENSE for details.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support