Spaces:
Running
on
Zero
Running
on
Zero
A newer version of the Gradio SDK is available:
5.33.1
metadata
title: Audio Difficulty Estimator
emoji: πΉ
colorFrom: purple
colorTo: pink
sdk: gradio
sdk_version: 4.26.0
python_version: 3.10.13
app_file: app.py
pinned: false
tags:
- music
- audio
- piano
- difficulty-estimation
short_description: Estimate piano difficulty from audio
hardware: a100-large
πΌ Music Difficulty Estimator
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:
- CQT-based representation
- Piano roll representation
- Multimodal embeddings
π How it works
- You upload an audio or video file, or paste a YouTube link.
- The audio is transcribed to MIDI using a piano transcription model.
- Three different difficulty models analyze the audio and generate predictions.
- You can listen to the extracted MP3 and the generated MIDI.
π¦ Model loading
All models are stored separately in the pramoneda/audio model repository and are downloaded dynamically via huggingface_hub
.
π Input formats
- MP3 audio
- MP4 video (audio extracted automatically)
- YouTube links
β¨ Built with
gradio
for the interfacepydub
andyt_dlp
for audio processinghuggingface_hub
to load model checkpointsffmpeg-python
for format conversion