| --- |
| library_name: audio-interv |
| tags: |
| - ace-step |
| - activation-steering |
| - audio |
| - caa |
| - diffusion |
| - electronic-music |
| - interpretability |
| - music |
| - steering |
| --- |
| |
| # CAA — `electronic_music` (ACE-Step) |
| |
| Steering vectors for the **electronic_music** concept on ACE-Step, computed via contrastive activation addition (CAA). |
| |
| ## Paper |
| |
| TADA! Tuning Audio Diffusion Models through Activation Steering — [https://huggingface.co/papers/2602.11910](https://huggingface.co/papers/2602.11910) |
| |
| ## Quickstart |
| |
| ```python |
| from src.steering import SteerableACEModel, CAASteeringController |
| |
| model = SteerableACEModel(device="cuda") |
| model.pipeline.load() |
| ctrl = CAASteeringController.from_pretrained("lukasz-staniszewski/ace-step-caa-rock-genre", alpha=20.0) |
|
|
| with model.steer(ctrl): |
| audio = model.generate( |
| prompt="instrumental music", lyrics="[inst]", |
| audio_duration=10.0, infer_step=30, manual_seed=0, |
| ) |
| ``` |
| |
| ## Generation config |
|
|
| ```json |
| { |
| "method": "standard_caa", |
| "concept": "electronic_music", |
| "lyrics": "[inst]", |
| "num_cfg_passes": 2, |
| "save_all_cfg_passes": true, |
| "audio_duration": 30.0, |
| "num_inference_steps": 30, |
| "seed": 10, |
| "device": "cuda", |
| "save_dir": "steering_vectors/caa", |
| "guidance_scale_text": 0.0, |
| "guidance_scale_lyric": 0.0, |
| "guidance_scale": 5.0, |
| "guidance_interval": 1.0, |
| "guidance_interval_decay": 0.0 |
| } |
| ``` |
|
|