Logo Lanfrica

titoo-dev/shazam-malgache

Domaine:

natural language processing

Type de record:

software
Créateur:
tit
HĂ´te:
🎵🇲🇬 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 …