π΅π²π¬ Open-source, self-hostable Shazam-style audio recognition engine, tuned for Malagasy music
# Shazam Malgache
Recognize Malagasy songs from a short audio clip. A self-hostable, Shazam-style
audio-recognition engine. It stores only fingerprints, never audio.
## Requirements
Either:
- **Docker** + Docker Compose (recommended), or
- **Python 3.10+** and **ffmpeg** installed on your system.
## Install & run with Docker
```bash
git clone
github.com
cd shazam-malgache
docker compose up -d
```
- Recognition demo:
localhost
- **Management interface:
http://localhost:3000**
## Install & run without Docker
```bash
git clone
github.com
cd shazam-malgache
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
uvicorn shazam_malgache.api:app
```
Open
localhost
## Management interface
A separate Next.js admin app (in `admin/`) gives you a full view of the engine
and lets you grow its catalog without the command line. With Docker it starts
alongside the API on
localhost.
It provides:
- **Dashboard** β songs indexed, total fingerprints, catalog size, active jobs.
- **Indexed songs** β browse/search what the engine can recognize, and delete
entries (drops their fingerprints).
- **Artist catalog** β the reference list of Malagasy artists (public metadata),
to decide who to index next.
- **Ingestion + YouTube pipeline** β paste one or many YouTube links (or upload
a file); each runs as a background job: *probe metadata β download β decode β
fingerprint β store*. The audio is dropped at the end β only fingerprints are
kept.
- **Jobs** β live progress of every ingestion, refreshed automatically.
Run it on its own (without Docker):
```bash
cd admin
pnpm install
API_URL=
localhost pnpm dev #
localhost
```
`API_URL` points the interface at your running API (default
`
localhost`).
## Add a song
You can do this from the management interface above, or from the command line.
E β¦