Audio-JEPA / README.md
mmaudet's picture
Switch prose to English, remove em dashes
bdd5c2a verified
|
Raw
History Blame
3.59 kB
---
license: mit
tags:
- audio-jepa
- jepa
- audio-representation-learning
- self-supervised
paper:
title: "Audio-JEPA: Joint-Embedding Predictive Architecture for Audio Representation Learning"
authors:
- Ludovic Tuncay
- Etienne Labbé
- Emmanouil Benetos
- Thomas Pellegrini
venue: "ICME 2025"
arxiv: "2507.02915"
hal: "hal-05128180"
---
# Audio-JEPA: pretrained encoder
Weights for the encoder trained in *Audio-JEPA: Joint-Embedding Predictive Architecture for Audio Representation Learning* (Tuncay, Labbé, Benetos, Pellegrini, ICME 2025). Source code: [`LudovicTuncay/Audio-JEPA`](https://github.com/LudovicTuncay/Audio-JEPA).
## Files
| File | Purpose |
|------|---------|
| `JEPA.ckpt` | PyTorch Lightning checkpoint (state_dict + trainer metadata). |
| `config.json` | Standalone documentation of the architecture and audio pipeline. Machine-readable. |
| `README.md` | This document. |
## Model summary
- Encoder: `VisionTransformer` (ViT-Base, 12 layers, 768-dim, 12 heads).
- Input: log-mel spectrogram of shape `(target_time_bins=256, n_mels=128)` from a 10 s mono waveform at 32 kHz.
- Patchification: `(16, 16)`, giving a grid `8 x 16 = 128` patches.
- Each patch spans ~625 ms of audio × 16 mel bins.
- Output: `(128, 768)` embeddings per 10 s clip.
- Effective temporal resolution: **1.6 positions/s** (the 12.8 tokens/s counts 8 temporal × 16 frequency patches per second).
## Minimal inference (CPU, no `flash-attn` install required)
The training repo depends on `flash-attn`, which requires CUDA to build. For inference-only use, `flash_attn.modules.mha.MHA` can be substituted with a torch-native equivalent that matches the checkpoint's parameter names (`qkv`, `proj`). See `inference_example.py` in this repository for a ~150-line standalone script.
```bash
# 1. Clone the source code (needed for the ViT class)
git clone --depth 1 https://github.com/LudovicTuncay/Audio-JEPA.git
# 2. Install a lean set of deps
pip install torch torchaudio numpy huggingface_hub
# 3. Run the example (downloads JEPA.ckpt on first run)
python inference_example.py --audio-jepa-src ./Audio-JEPA
```
The script prints the loading diagnostics (should be `0 missing, 0 unexpected`) and the embedding shape.
## Domain fit: where the model excels vs where it doesn't
Audio-JEPA is designed to learn a **generic audio representation**. The 16×16 patch shape is a compromise across speech, music, and environmental sounds. Consequences:
- **Strong on**: music, environmental sounds, audio captioning, general audio tagging.
- **Weaker on**: speech-only downstream tasks (see the paper's X-ARES tables). Speech-specific SSL models such as `wav2vec 2.0`, HuBERT and the Whisper encoder currently outperform Audio-JEPA on speech-centric benchmarks.
- **A follow-up from the same author**, [`BEST-RQ-2`](https://huggingface.co/ltuncay/BEST-RQ-2) (Tuncay, Labbé, Pellegrini, Interspeech 2026, [arXiv 2606.30700](https://arxiv.org/abs/2606.30700)), combines the encoder-predictor decomposition of Audio-JEPA with BEST-RQ discrete targets. It yields substantially better cross-domain results while sharing the exact same encoder inference speed.
## Citation
```bibtex
@inproceedings{tuncay2025audio,
title = {Audio-JEPA: Joint-Embedding Predictive Architecture for Audio Representation Learning},
author = {Tuncay, Ludovic and Labb{\'e}, Etienne and Benetos, Emmanouil and Pellegrini, Thomas},
booktitle = {ICME 2025},
address = {Nantes, France},
year = {2025},
url = {https://hal.science/hal-05128180}
}
```
## License
MIT.