Spaces:
Running
Running
| title: Ankui Align | |
| emoji: π€ | |
| colorFrom: indigo | |
| colorTo: blue | |
| sdk: docker | |
| app_port: 7860 | |
| pinned: false | |
| short_description: Kazakh forced-alignment backend for the Ankui app | |
| # Ankui Align | |
| Forced-alignment microservice for the **Ankui** karaoke-creation app. | |
| - Isolates vocals with torchaudio **HDEMUCS**, then runs **MMS-fl102** (Kazakh | |
| adapter) CTC forced alignment via `torchaudio.functional.forced_align`. | |
| - Falls back to an energy-based line spread if alignment is degenerate, so it | |
| never returns fake all-zero timings. | |
| ## API (async) | |
| - `GET /` or `/health` β `{"status":"ok","ready":bool}` | |
| - `POST /align` β `202 {"jobId": "..."}` β body `{"lyrics","audio_b64","ext"}` | |
| - `GET /jobs/{id}` β `{"status":"running|done|error","progress",β"lines":[...]}` | |
| Set `ANKUI_ALIGN_KEY` as a Space secret to require an `X-Ankui-Key` header. | |
| Uploaded audio is processed in a temp file and deleted immediately. | |