Spaces:
Sleeping
Sleeping
title: Scores | |
emoji: 🎼 | |
colorFrom: pink | |
colorTo: red | |
sdk: docker | |
sdk_version: 3.48.0 | |
app_file: app.py | |
pinned: false | |
license: apache-2.0 | |
short_description: Analyze music scores from PDF files | |
app_port: 7860 | |
tags: [mcp-server-track, agents-mcp-hackathon] | |
Demo video | |
-- | |
https://youtu.be/_6Gr_ldh5lk | |
Participants | |
-- | |
* jiba21 | |
* ElasticExplorer | |
Audiveris MCP Server | |
-- | |
In this space you can find the code which implements the Audiveris MCP Server which receives a | |
URL for a PDF music score and converts it to MusicXML format, which can be analyzed from LLL models. | |
If you want to use it from Cursor, as an example, you just need to add to Cursor MCP Tools the server: | |
{ | |
"mcpServers": { | |
"audiveris": { | |
"url": "https://agents-mcp-hackathon-audiveris.hf.space/gradio_api/mcp/sse" | |
} | |
} | |
} | |
``` | |
and the you can ask Cursor to use it with a prompt like: | |
Given a PDF music score URL use MCP tool audiveris to convert it to a MusicXML file. Download the resulting MusicXML file, unzip the file and load the XML contents to be analyzed and complete a basic analysis. Use as URL https://www.mutopiaproject.org/ftp/BeethovenLv/WoO59/fur_Elise_WoO59/fur_Elise_WoO59-let.pdf | |
and you will get a basic analysis of the music score | |
``` | |
Based on the MusicXML file analysis, I can provide you with a basic analysis of Beethoven's Für Elise: | |
Technical Details: | |
The piece was converted using Audiveris 5.6.1 | |
It's written for Piano (Acoustic Grand Piano) | |
The MIDI channel is set to 1 with a volume of 78 | |
Musical Structure: | |
Time Signature: 3/8 time | |
The piece begins with a pickup measure (anacrusis) | |
Initial dynamic marking: pp (pianissimo) | |
Opening Melody Analysis: | |
The piece begins with the famous E5-D♯5 motif | |
... | |
``` | |