Logo Lanfrica

titoo-dev/shazam-malgache

Domain:

natural language processing

Record type:

software
Creator:
tit
Host:
πŸŽ΅πŸ‡²πŸ‡¬ 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 …