Singing-finetuned-DAC
Fine-tuned weights of the Descript Audio Codec (DAC) 24 kHz for singing voice.
No architecture changes. This is the official pretrained DAC 24 kHz model, further trained (full fine-tune) on ~472 h of (mostly monophonic) singing. The goal is better reconstruction of singing β especially high pitch range, vibrato, and F0 fidelity β which the original general-purpose DAC handles less well (it saw very little a-cappella singing during training).
Research / non-commercial use only. Code + reproduction: π https://github.com/Joshua-1995/Singing-finetuned-DAC
Files
| File | Size | Use |
|---|---|---|
dac_singing_finetune_24khz.pth |
286 MB | Inference β generator; dac.DAC.load(...) |
dac_singing_finetune_full_ckpt.tar.gz |
2.1 GB | Continue training β generator + discriminator + optimizer/scheduler |
Results (pretrained DAC β fine-tuned)
Fixed held-out set of 160 singing clips across 6 datasets; identical clips before/after
(metric definitions match the DAC paper's audiotools implementations).
| Metric | Pretrained | Fine-tuned | Ξ |
|---|---|---|---|
| Mel distance β | 0.668 | 0.391 | β0.277 |
| STFT distance β | 1.358 | 1.105 | β0.253 |
| SI-SDR (dB) β | β9.6 | +15.6 | +25.1 |
| PESQ β | 4.22 | 4.47 | +0.25 |
Off-the-shelf DAC reconstructs singing waveforms poorly (SI-SDR β9.6 on singing vs ~16 dB
reported on general audio); fine-tuning restores it to the codec's native quality regime on
the singing domain. (scripts/eval_quality.py additionally reports STOI/MCD/F0.)
Usage
import dac
from audiotools import AudioSignal
model = dac.DAC.load("dac_singing_finetune_24khz.pth").eval().to("cuda")
sig = AudioSignal("song.wav").resample(24000).to_mono()
x = model.preprocess(sig.audio_data.cuda(), 24000)
z, codes, latents, _, _ = model.encode(x) # z: (B, 1024, T) @ ~75 Hz
y = model.decode(z)
Variable bitrate (RVQ + quantizer dropout): 32 codebooks Γ 10 bits Γ 75 Hz β max 24 kbps; use fewer codebooks for lower rates. 24 kHz / 12 kHz bandwidth.
Training
Base: weights_24khz_8kbps_0.0.4
(74.7 M generator, RVQ 32Γ1024 dim-8, hop 320 β 75 Hz).
Full fine-tune from the pretrained generator (the official release ships no discriminator, so
MPD+MRD+MSD is re-initialized and warmed up). batch 16, 3 s segments, AdamW lr 1e-4, 200 k steps,
quantizer_dropout 0.5. 1Γ NVIDIA RTX PRO 6000 (Blackwell), PyTorch 2.11 + CUDA 12.8.
Data (~472 h, 24 kHz mono, mostly monophonic singing)
| Dataset | Lang | Hours | License / source |
|---|---|---|---|
| MSSV (Multi-Speaker Singing Voice) | KO | 228.8 | AI-Hub Terms of Use (#465) β Korea-only |
| GV (Guide Vocal) | KO | 143.3 | AI-Hub Terms of Use (#473) β Korea-only |
| ACE-KiSing | ZH | 30.0 | CC BY-NC 4.0 |
| M4Singer | ZH | 28.2 | CC BY-NC-SA 4.0 |
| HESD | KO | 14.0 | internal (not redistributed) |
| CSD | KO/EN | 4.6 | CC BY-NC-SA 4.0 |
This work used datasets from "The Open AI Dataset Project (AI-Hub, S. Korea)" (www.aihub.or.kr). MSSV/GV access is restricted to Korean nationals; overseas use requires a separate NIA agreement.
License
Research / non-commercial (CC BY-NC 4.0). The weights inherit the non-commercial terms of the training data. DAC code/architecture: MIT Β© Descript.
Acknowledgements
This work was supported by the GPU infrastructure provided by the Handong Global University AI Innovation Center. Training data includes AI-Hub datasets (see Data) and the Descript Audio Codec as the base model.
Citation
Built on the Descript Audio Codec:
@inproceedings{kumar2023high,
title={High-Fidelity Audio Compression with Improved {RVQGAN}},
author={Kumar, Rithesh and Seetharaman, Prem and Luebs, Alejandro and Kumar, Ishaan and Kumar, Kundan},
booktitle={NeurIPS}, year={2023}
}