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 |
+
---
|