Spaces:
Running on Zero
Running on Zero
| title: PMI Calculator | |
| emoji: 🎼 | |
| colorFrom: red | |
| colorTo: blue | |
| sdk: gradio | |
| sdk_version: 6.19.0 | |
| app_file: app.py | |
| pinned: false | |
| # PMI Calculator (ZeroGPU) | |
| Automated Percent Melodic Identity (PMI) for music copyright analysis, running on | |
| ZeroGPU (Hugging Face's free on-demand GPU). | |
| Pipeline: upload audio → pick a segment → Demucs vocal separation → **YourMT3+** | |
| transcription (GPU) → tempo-driven post-processing → key estimation + snapping → | |
| out-of-key fragment regularization → human revision in the editor → key | |
| confirmation → Needleman–Wunsch alignment → PMI. | |
| Architecture: a `gradio.Server` app (a FastAPI app with Gradio's API engine on | |
| top). The custom HTML editor is served at `/`; the GPU transcription is a | |
| `@spaces.GPU` function exposed as a Gradio API endpoint and called from the | |
| browser via `@gradio/client` (required for ZeroGPU auth). Key analysis and PMI | |
| are plain CPU FastAPI routes. | |
| Transcription model: [YourMT3+](https://huggingface.co/spaces/mimbres/YourMT3) | |
| (YPTF.MoE+Multi, noPS). Vocal separation: [Demucs](https://github.com/facebookresearch/demucs). | |
| PMI methodology: Savage et al. | |