Spaces:
Sleeping
Sleeping
PRamoneda
commited on
Commit
ยท
9bedce4
1
Parent(s):
c66e52a
update readme
Browse files
README.md
CHANGED
|
@@ -1,9 +1,49 @@
|
|
| 1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
-
|
| 4 |
|
| 5 |
-
|
| 6 |
-
- Uses Gradio and ffmpeg-python
|
| 7 |
-
- Fully Python-based, no system-level ffmpeg required for conversion
|
| 8 |
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: ๐ผ Music Difficulty Estimator
|
| 3 |
+
emoji: ๐น
|
| 4 |
+
colorFrom: pink
|
| 5 |
+
colorTo: purple
|
| 6 |
+
sdk: gradio
|
| 7 |
+
sdk_version: "5.29.0"
|
| 8 |
+
app_file: app.py
|
| 9 |
+
pinned: false
|
| 10 |
+
---
|
| 11 |
|
| 12 |
+
# ๐ผ Music Difficulty Estimator
|
| 13 |
|
| 14 |
+
This Gradio app estimates the **difficulty of piano pieces** based on uploaded audio (MP3/MP4) or YouTube links. It uses pretrained models to generate a MIDI transcription and predict difficulty from three musical perspectives:
|
|
|
|
|
|
|
| 15 |
|
| 16 |
+
- CQT-based representation
|
| 17 |
+
- Piano roll representation
|
| 18 |
+
- Multimodal embeddings
|
| 19 |
+
|
| 20 |
+
## ๐ How it works
|
| 21 |
+
|
| 22 |
+
1. You upload an audio or video file, or paste a YouTube link.
|
| 23 |
+
2. The audio is transcribed to MIDI using a piano transcription model.
|
| 24 |
+
3. Three different difficulty models analyze the audio and generate predictions.
|
| 25 |
+
4. You can listen to the extracted MP3 and the generated MIDI.
|
| 26 |
+
|
| 27 |
+
## ๐ฆ Model loading
|
| 28 |
+
|
| 29 |
+
All models are stored separately in the [pramoneda/audio](https://huggingface.co/pramoneda/audio) model repository and are downloaded dynamically via `huggingface_hub`.
|
| 30 |
+
|
| 31 |
+
## ๐ Input formats
|
| 32 |
+
|
| 33 |
+
- MP3 audio
|
| 34 |
+
- MP4 video (audio extracted automatically)
|
| 35 |
+
- YouTube links
|
| 36 |
+
|
| 37 |
+
## โจ Built with
|
| 38 |
+
|
| 39 |
+
- `gradio` for the interface
|
| 40 |
+
- `pydub` and `yt_dlp` for audio processing
|
| 41 |
+
- `huggingface_hub` to load model checkpoints
|
| 42 |
+
- `ffmpeg-python` for format conversion
|
| 43 |
+
|
| 44 |
+
## ๐ Related
|
| 45 |
+
|
| 46 |
+
- [Model repo: pramoneda/audio](https://huggingface.co/pramoneda/audio)
|
| 47 |
+
- [More projects by pramoneda](https://huggingface.co/pramoneda)
|
| 48 |
+
|
| 49 |
+
---
|