Spaces:
				
			
			
	
			
			
		Running
		
			on 
			
			Zero
	
	
	
			
			
	
	
	
	
		
		
		Running
		
			on 
			
			Zero
	A newer version of the Gradio SDK is available:
									5.49.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
gradiofor the interfacepydubandyt_dlpfor audio processinghuggingface_hubto load model checkpointsffmpeg-pythonfor format conversion