lukasz-staniszewski's picture
Refresh card: polished CAASteeringController quickstart
6e7c0bf verified
metadata
library_name: audio-interv
tags:
  - ace-step
  - activation-steering
  - audio
  - caa
  - diffusion
  - interpretability
  - music
  - steering
  - vocal-style

CAA — vocal_style (ACE-Step)

Steering vectors for the vocal_style 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

Quickstart

from src.steering import SteerableACEModel, CAASteeringController

model = SteerableACEModel(device="cuda")
model.pipeline.load()
ctrl = CAASteeringController.from_pretrained("lukasz-staniszewski/ace-step-caa-vocal-style", 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

{
  "method": "standard_caa",
  "concept": "vocal_style",
  "lyrics": "",
  "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
}