Skip to content

AMAAI-Lab/SonicMaster

Repository files navigation

SonicMaster

SonicMaster: Towards Controllable All-in-One Music Restoration and Mastering

arXiv Hugging Face Demo Samples Page Dataset

SonicMaster

Overview

Music recordings often suffer from audio quality issues such as excessive reverberation, distortion, clipping, tonal imbalances, and a narrowed stereo image, especially when created in non-professional settings without specialized equipment or expertise. These problems are typically corrected using separate specialized tools and manual adjustments. In this paper, we introduce SonicMaster, the first unified generative model for music restoration and mastering that addresses a broad spectrum of audio artifacts with text-based control. SonicMaster is conditioned on natural language instructions to apply targeted enhancements, or can operate in an automatic mode for general restoration.

SonicVerse Architecture

Figure 1: SonicVerse architecture for music captioning with feature detection.

Key Features

  • 🎵 Unified Restoration: All-In-One model to simultaneously handle reverb, clipping, EQ, dynamics, and stereo imbalances.
  • 📝 Text-Based Control: Use natural-language instructions (e.g. “reduce reverb”) for fine-grained audio enhancement.
  • 🚀 High-Quality Output: Objective metrics (FAD, SSIM, etc.) and listening tests show significant quality gains.
  • 💾 SonicMaster Dataset: We release a large-scale dataset of 25k (208 hrs) paired clean and degraded music segments with natural-language prompts for training and evaluation.

Installation

To run SonicMaster, you should use python==3.13. Then, install the requirements and clone the repo.

pip install -r requirements_sonic.txt

Training

We trained SonicMaster with pytorch tensor files of our SonicMaster dataset -- for speed. For that, you would first want to pre-encode your audio:

accelerate launch preencode_latents_acce2.py

Then you can start training with the training script that loads pt files from a jsonl metadata file. The script also allows to turn on inference during training (after a certain number of epochs) to monitor your progress.

accelerate launch train_ptload_inference.py

Citation

If you use SonicMaster in your work, please cite our paper:

Jan Melechovsky, Ambuj Mehrish, Dorien Herremans. 2025. SonicMaster: Towards Controllable All-in-One Music Restoration and Mastering. ArXiv:2508.03448

@article{melechovsky2025sonicmaster,
      title={SonicMaster: Towards Controllable All-in-One Music Restoration and Mastering}, 
      author={Jan Melechovsky and Ambuj Mehrish and Dorien Herremans},
      year={2025},
      eprint={2508.03448},
      archivePrefix={arXiv},
      url={https://arxiv.org/abs/2508.03448}, 
}

Read the paper here: arXiv:2508.0338


Made with 🎸 by the AMAAI Lab | Singapore

About

SonicMaster: Towards Controllable All-in-One Music Restoration and Mastering

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •