|
--- |
|
title: Scores |
|
emoji: 🎼 |
|
colorFrom: pink |
|
colorTo: red |
|
sdk: docker |
|
sdk_version: 5.32.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 |
|
... |
|
``` |
|
|