Skip to main content

S-SONDO

Lightweight audio embeddings from self-supervised knowledge distillation.

Up to 61x smaller than teacher models, retaining up to 96% performance.

Paper  HuggingFace  GitHub

ICASSP 2026


Install

pip install ssondo

Quick Start

from ssondo import get_ssondo

model = get_ssondo()
embeddings = model(audio)  # (batch, n_segments, 960)

No preprocessing, no config files, no manual downloads. Pass raw mono audio at 32 kHz and get embeddings.

Pretrained Classifiers

7 ready-to-use classifiers trained on standard audio benchmarks:

model = get_ssondo(head="esc50")
logits = model(audio)  # (batch, 50)
Head Task Classes
esc50 Environmental sound 50
us8k Urban sound 10
fsd50k Sound events 200
gtzan Music genre 10
openmic Instrument recognition 20
nsynth Instrument family 11
magna-tag-a-tune Music auto-tagging 50

Custom Heads

# Linear
model = get_ssondo(head="linear", n_classes=10)

# MLP
model = get_ssondo(head="mlp", n_classes=10, hidden_sizes=[512, 256])

Finetuning

# Linear probing (frozen backbone)
model = get_ssondo(head="linear", n_classes=10)
model.freeze_backbone()
model.train()

logits = model(audio)
loss = criterion(logits, labels)
loss.backward()  # only head parameters update

# Full finetuning
model.unfreeze_backbone()

API at a Glance

from ssondo import get_ssondo, list_models, list_heads

model = get_ssondo()                          # load model
model = get_ssondo(head="esc50")              # pretrained classifier
model = get_ssondo(head="linear", n_classes=10)  # custom head
model = get_ssondo(device="cuda")             # GPU
model = get_ssondo("path/to/checkpoint.ckpt") # local checkpoint

embeddings = model(audio)                     # (batch, n_segments, 960)
emb = model.get_embeddings(audio)             # (batch, 960) mean-pooled
model.embedding_dim                           # 960
model.backbone                                # raw nn.Module

list_heads()                                  # available classifiers

Model

S-SONDO ships with matpac-mobilenetv3 — a MobileNetV3 (2.9M params) distilled from MATPAC++, achieving the best downstream performance across all 7 benchmarks (96.4% of teacher performance at 61x fewer parameters). Embeddings are 960-dimensional.

Input

  • Mono audio, single channel
  • Sample rate: 32,000 Hz
  • Internally sliced into 10 s segments and converted to 128-band log-mel spectrograms

Links

Citation

@inproceedings{eladlouni2026ssondo,
  title={S-SONDO: Self-Supervised Knowledge Distillation for General Audio Foundation Models},
  author={El Adlouni, Mohammed Ali and Quelennec, Aurian and Chouteau, Pierre and Peeters, Geoffroy and Essid, Slim},
  booktitle={IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
  year={2026}
}

License

MIT

Release files for ssondo 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ssondo 0.3.1
File Size Uploaded
ssondo-0.3.1.tar.gz 33.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ssondo 0.3.1
File Interpreter ABI Platform
ssondo-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 69.2 kB

Release files / ssondo-0.3.1.tar.gz

Download URL ssondo-0.3.1.tar.gz
Size 33.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8de21007f7190c20605a41b02c563064934b724881aff829abd5ece88fc93257
BLAKE2b-256 checksum
How to use checksums
335f67cd3deb615942380c781fed38191778ffef7c4b1109172bf1486d11297b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / ssondo-0.3.1-py3-none-any.whl

Download URL ssondo-0.3.1-py3-none-any.whl
Size 36.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c85351887c0fad1804d116048672102be7eccc18c23d21f6315f426083624098
BLAKE2b-256 checksum
How to use checksums
27ada42f332930ddef19c61ac3422026ee8642ad07785c935463a7e80a65be12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page