aria taste-steering directions
Activation-steering directions for Stable Audio 3, from the paper A Quantized Native Runtime for On-Device Semantic Audio Generation (IEEE IS2 2026). They bias generated music toward a basic taste (sweet, sour, bitter, salty, spicy), the crossmodal effect known as sonic seasoning.
They are meant for aria, the dependency-free C/CUDA runtime for Stable Audio 3, which applies them inside the generation graph with no measurable overhead. Demo page with audio examples: https://matteospanio.github.io/aria/.
No model weights are included. You need the Stable Audio 3 checkpoints, which are gated and distributed by Stability AI under the Stability AI Community License.
Contents
| folder | model | site | vectors |
|---|---|---|---|
small/ |
small-music (1024-D) | DiT residual stream | sweet, sour, bitter, salty, spicy |
medium/ |
medium (1536-D) | DiT residual stream | sweet, sour, bitter, salty, spicy |
sites/ |
small-music | audio latent (256-D), text conditioning (768-D) | sweet, sour |
Each .atns file is one float32 vector in aria's tensor format. dirs_meta.json lists, per
taste, the DiT block the vector belongs to (layer), the mean residual norm it was calibrated
with (norm) and its dimension.
Each residual vector is a difference-in-means of DiT block outputs between the top- and
bottom-rated clips of the norm-sonic-seasoning dataset (377 clips with human taste ratings),
normalized to unit length and multiplied by the block's mean residual norm. The scale you pass
to aria is therefore the paper's α, in units of the typical residual magnitude. The sites/
vectors are unit vectors; their scale was swept empirically.
Usage
hf download matteospanio/aria --local-dir directions
./aria -m models/small-music -p "lo-fi hip hop beat" --seed 22 -d 10 -s 8 \
--steer residual:19:directions/small/sour.atns:0.1:0-7 -o sour.wav
The spec is site:layer:file.atns:scale:first-last step[:add|project]. The site is residual,
latent or cond (text conditioning). The layer is ignored for latent and cond.
Operating points from the paper
The usable range is narrow. Past it, the target taste score keeps rising while independent checks (CLAP similarity, FAD) show the audio degrading. Every point below was selected with those checks, never with the taste score alone.
| model | taste | spec | note |
|---|---|---|---|
| small-music | sweet | residual:16:small/sweet.atns:0.3:0-7 |
genuine, widest clean window |
| small-music | sour | residual:19:small/sour.atns:0.1:0-7 |
genuine |
| small-music | sour | residual:19:small/sour.atns:1:0-7:project |
same shift, lower FAD |
| small-music | sour | residual:19:small/sour.atns:0.2:4-7 |
late steps only: about half the damage |
| small-music | bitter | residual:19:small/bitter.atns:0.1:0-7 |
genuine |
| small-music | salty, spicy | residual:19:…:0.1:0-7 |
weak even when clean |
| small-music | sour | latent:0:sites/sour_latent.atns:1:0-7 |
genuine at the latent site |
| small-music | sweet | latent:0:sites/sweet_latent.atns:0.5:0-7 |
weak at 0.5; inverts at larger scales |
| small-music | sweet, sour | cond:0:sites/*_text.atns |
fails at every scale tested (0.5–32) |
| medium | sweet | residual:21:medium/sweet.atns:0.15:0-7 |
genuine |
| medium | sour, bitter | residual:23:medium/<taste>.atns:0.1:0-7 |
genuine |
| medium | salty | residual:5:medium/salty.atns:0.1:0-7 |
weak |
| medium | spicy | residual:23:medium/spicy.atns:0.1:0-7 |
weak |
Taste control is genuine only for sweet, sour and bitter, and only inside these windows. Treat it as a bounded proof of concept, not general taste control.
Citation
@misc{spanio2026quantizednativeruntimeondevice,
title = {A Quantized Native Runtime for On-Device Semantic Audio Generation},
author = {Matteo Spanio and Antonio Rodà},
year = {2026},
eprint = {2607.08526},
archivePrefix = {arXiv},
primaryClass = {cs.SD},
url = {https://arxiv.org/abs/2607.08526},
}
Model tree for matteospanio/aria
Base model
stabilityai/stable-audio-3-medium-base