S-SONDO: Lightweight audio embeddings from self-supervised knowledge distillation
Project description
S-SONDO
Lightweight audio embeddings from self-supervised knowledge distillation.
S-SONDO provides compact audio models (MobileNetV3, DyMN, ERes2Net) trained via knowledge distillation from large audio foundation models (MATPAC, M2D). Extract general-purpose audio embeddings with a single function call.
Paper: S-SONDO: Self-Supervised Knowledge Distillation for General Audio Foundation Models (ICASSP 2026)
Installation
pip install ssondo
Quick Start
import torchaudio
from ssondo import get_ssondo
# Load a pretrained model (auto-downloads from Hugging Face Hub)
model = get_ssondo("matpac-mobilenetv3")
# Load audio (mono, 32kHz)
x, sr = torchaudio.load("audio.wav")
x = x.mean(dim=0, keepdim=True) # mono
# Extract embeddings
embeddings = model(x) # (1, n_segments, 960)
Available Models
from ssondo import list_models
for name, description in list_models().items():
print(f"{name}: {description}")
| Model | Teacher | Student | Embedding Size |
|---|---|---|---|
matpac-mobilenetv3 |
MATPAC++ | MobileNetV3 | 960 |
matpac-dymn |
MATPAC++ | DyMN | 960 |
matpac-eres2net |
MATPAC++ | ERes2Net | varies |
m2d-mobilenetv3 |
M2D | MobileNetV3 | 960 |
m2d-dymn |
M2D | DyMN | 960 |
m2d-eres2net |
M2D | ERes2Net | varies |
Usage
Extract Embeddings
model = get_ssondo("matpac-mobilenetv3")
embeddings = model(audio) # (batch, n_segments, emb_size)
Get Logits Too
model = get_ssondo("matpac-mobilenetv3", return_logits=True)
embeddings, logits = model(audio)
GPU Inference
model = get_ssondo("matpac-mobilenetv3", device="cuda")
embeddings = model(audio.cuda())
Load from Local Checkpoint
model = get_ssondo("path/to/checkpoint.ckpt")
Input Requirements
- Mono audio (single channel)
- Sample rate: 32,000 Hz
- Audio is internally sliced into 10-second segments and converted to 128-band log-mel spectrograms
How It Works
get_ssondo() auto-detects everything from the checkpoint: student backbone, preprocessing parameters, and classification head. No manual configuration needed.
When you pass a model name (e.g., "matpac-mobilenetv3"), the checkpoint is automatically downloaded from Hugging Face Hub and cached locally.
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ssondo-0.1.0.tar.gz.
File metadata
- Download URL: ssondo-0.1.0.tar.gz
- Upload date:
- Size: 30.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
010057c40fbf3500b3d302f92d818d253531466bd4d9327740e1c83e43788e1d
|
|
| MD5 |
ebf453dfd52923fe9e21ffa3016e8016
|
|
| BLAKE2b-256 |
e3c04a4c47593dfd73320b4159c42aef5ac5002f9d25db3706fa97ee8a1afddd
|
File details
Details for the file ssondo-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ssondo-0.1.0-py3-none-any.whl
- Upload date:
- Size: 34.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59620e22c8ef392f9d2ddd01dc515fba07967409f98d2c5c3509096cc3e925d5
|
|
| MD5 |
49530e95641199c586df1872bcb5631a
|
|
| BLAKE2b-256 |
84b1ecb003f902ed53f309cd53fa6657442b545436ded13e461dea88e16d2e2e
|