A retrieval and synthesis engine built using SimCLR (Contrastive Learning)
Built for the Impulse'26 Hackathon
EchoFind is an advanced retrieval and synthesis engine powered by SimCLR (Contrastive Learning). Designed to understand complex audio representations, it bridges the gap between raw spectrograms and highly discriminative latent spaces.
Built modularly, optimized for scale, and engineered for high-fidelity audio search.
EchoFind leverages a dual-stage architecture for maximum retrieval accuracy:
- Backbone:
ResNet-18(Provides an optimal balance of feature extraction and speed). - Projector: A robust 128-dimensional discriminative head (
z), specifically optimized for retrieval tasks. - Learning Objective: SimCLR Contrastive Loss.
Note: We initially experimented with a ResNet-50 backbone. While highly scalable, ResNet-18 proved significantly more efficient for our accuracy targets under current training cycle constraints. Detailed experimental logs can be found in BENCHMARK_LOGS.txt.
Want to run the acid test and verify our search robustness instantly?
# Run the evaluation suite
python -m src.test_acidFor final evaluations, submission.py acts as the primary entry point, housing the core AudioEncoder and predict_track methods.
Our models have been rigorously tested and benchmarked:
| Model Version | Architecture | Peak Search Acc | F1 Score | Notes |
|---|---|---|---|---|
| V1 (Current) | ResNet-18 | 36% | 45% | Highly stable, optimal retrieval |
| V2 (Experimental) | ResNet-50 | ~20% | ~31% | Requires further training cycles |
π View Proof of Results
Detailed proof, including t-SNE visualizations and confusion matrices, are available inRESULTS_PROOF.md and the docs/results/ directory. Full terminal outputs of our high-water benchmarks are recorded in BENCHMARK_LOGS.txt.
βββ submission.py # Primary entry point for evaluation
βββ src/ # Modular source code spanning all phases
βββ weights/ # Final model weights (best_simclr.pt)
βββ notebooks/ # Experimental documentation & insights
βββ docs/results/ # Visual proofs, t-SNE plots, and matrices
EchoFind was developed in structured phases, from core caching to generative morphing:
src/preprocess.pyβ‘οΈ Phase 1: High-speed Spectrogram Cachesrc/train.pyβ‘οΈ Phase 2: SimCLR Representation Learningsrc/index_db.pyβ‘οΈ Phase 3: FAISS Vector DB Generationsrc/eval_phase4.pyβ‘οΈ Phase 4: Full Suite Evaluation (F1 + t-SNE)
src/synthesis.pyβ‘οΈ Ext A: GenAI Latent Audio Morphingsrc/ood.pyβ‘οΈ Ext B: Out-of-Distribution Density Estimationsrc/test_variable.pyβ‘οΈ Ext C: Variable Length Robustness
Project submission for the Impulse'26 Hackathon