veeceey/RagaLoRA-indian-music-ace-step
242
RagaLoRA: Indian Music LoRA Adapter for ACE-Step 1.5
A LoRA adapter that tunes ACE-Step 1.5's Diffusion Transformer decoder to generate Indian music across ten genres: Hindustani classical, Carnatic classical, Bollywood ballad, qawwali, ghazal, bhajan, Sufi rock, filmi dance, indie Hindi, and Hinglish pop.
What It Does
The base ACE-Step 1.5 model was trained mostly on Western music and produces generic output for Indian genres. This adapter nudges the model toward Indian musical conventions:
- Classical/devotional genres get warmer and slower: Carnatic centroid drops 16%, bhajan tempo drops 19%
- Dance/rock genres get louder: Filmi dance energy rises 38%, Sufi rock energy rises 19%
- Five genres with zero training data still shift coherently, pointing to transfer across related Indian styles
Specs
Training Data
Five genre categories, 50 samples each, drawn from openly licensed sources:
- Hindustani Classical (1,063 total segments from Saraga dataset)
- Bollywood (728 segments from Internet Archive + YouTube CC)
- Qawwali / Sufi (455 segments)
- Ghazal (269 segments)
- Bhajan (272 segments)
All audio resampled to 48kHz stereo WAV, sliced to 30-120 second segments.
Usage
With ACE-Step 1.5
from acestep.handler import AceStepHandler
handler = AceStepHandler()
handler.initialize_service(
project_root="path/to/ace-step-checkpoints",
config_path="acestep-v15-turbo",
device="cuda", # or "mps" for Apple Silicon
)
# Load the adapter
handler.add_lora("path/to/RagaLoRA/adapter")
handler.set_use_lora(True)
handler.set_lora_scale(0.8) # 0.8 works well; adjust to taste
# Generate
result = handler.generate_music(
captions="Hindustani classical vocal, raag Yaman, sitar and tabla, teentaal, meditative alap",
lyrics="[Alap]\nSa re ga ma pa dha ni\n[Gat]\nYaman ke sur mein",
audio_duration=60,
inference_steps=8,
guidance_scale=7.0,
vocal_language="hi",
)Disable for A/B comparison
handler.set_use_lora(False) # base model output
# generate...
handler.set_use_lora(True) # adapter output
# generate...Evaluation Results (A/B vs Base Model)
*Zero-shot (no dedicated training data for these genres)
Limitations
- No perceptual evaluation done. The metric shifts (centroid, RMS, tempo) are signal-level proxies, not proof that the output sounds authentically Indian to trained musicians.
- compIAM raga detection returned null on all generated classical outputs. Whether the model follows actual raga grammar is unknown.
- Small training set (250 samples). Some memorization risk.
- Tonic detection caveat: Indian music uses a movable-do system. The chroma-based "tonic" is just the loudest pitch class, not a musically meaningful key.
Paper
Citation
@article{chawla_2026,
title={RagaLoRA: LoRA-Tuning a Diffusion Music Model for Indian Genres},
author={Chawla, Varun},
year={2026},
month={Feb},
publisher={Zenodo},
doi={10.5281/zenodo.18811689},
url={https://doi.org/10.5281/zenodo.18811689}
}Author
Varun Chawla - varunc.7633@gmail.com
Framework versions
- PEFT 0.18.1
