S-SONDO
Self-Supervised Knowledge Distillation for General Audio Foundation Models
ICASSP 2026
Authors: Mohammed Ali El Adlouni*, Aurian Quelennec*, Pierre Chouteau, Geoffroy Peeters, Slim Essid
LTCI, Telecom Paris, Institut Polytechnique de Paris
S-SONDO distills large audio foundation models into lightweight students that are up to 61x smaller while retaining up to 96% of teacher performance — using only output embeddings, no logits or layer-level alignment required.
1from ssondo import get_ssondo
2
3# Load model (auto-downloads and caches)
4model = get_ssondo()
5
6# Extract embeddings from raw audio (mono, 32kHz)
7embeddings = model(audio) # (batch, n_segments, 960)
7 ready-to-use classifiers, trained via linear probing on standard audio benchmarks:
1model = get_ssondo(head="esc50")
2logits = model(audio) # (batch, 50) — environmental sound classification
1from ssondo import list_heads
2print(list_heads()) # see all available heads
1# Linear head
2model = get_ssondo(head="linear", n_classes=10)
3
4# MLP with custom hidden layers
5model = get_ssondo(head="mlp", n_classes=10, hidden_sizes=[512, 256])
6
7# Freeze backbone for linear probing
8model.freeze_backbone()
9model.train()
10
11logits = model(audio)
12loss = criterion(logits, labels)
13loss.backward() # only head parameters are updated
1from ssondo import list_models
2print(list_models()) # see all available backbones
1from ssondo import get_ssondo
2
3# Embeddings only (default)
4model = get_ssondo()
5embeddings = model(audio) # (batch, n_segments, 960)
6emb = model.get_embeddings(audio) # (batch, 960) — mean-pooled
7
8# Pretrained classifier
9model = get_ssondo(head="esc50")
10logits = model(audio) # (batch, 50)
11
12# Custom head
13model = get_ssondo(head="linear", n_classes=10)
14model = get_ssondo(head="mlp", n_classes=10, hidden_sizes=[512, 256])
15
16# Finetuning
17model.freeze_backbone() # linear probing
18model.unfreeze_backbone() # full finetuning
19
20# GPU
21model = get_ssondo(device="cuda")
22
23# Local checkpoint
24model = get_ssondo("path/to/checkpoint.ckpt")
25
26# Properties
27model.embedding_dim # 960
28model.backbone # raw nn.Module
1git clone https://github.com/MedAliAdlouni/ssondo_temp
2cd ssondo_temp/training_ssondo
3./setup.sh # install deps, download models
4./run_pipeline.sh # end-to-end demo
1@inproceedings{eladlouni2026ssondo,
2 title={S-SONDO: Self-Supervised Knowledge Distillation for General Audio Foundation Models},
3 author={El Adlouni, Mohammed Ali and Quelennec, Aurian and Chouteau, Pierre and Peeters, Geoffroy and Essid, Slim},
4 booktitle={IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
5 year={2026}
6}