SlideShare una empresa de Scribd logo
1 de 15
Dr David Parsons
David Parsons - May 31st 2013
 MusicXML files are the standard format for
sharing interactive sheet music
 More than 160 applications include MusicXML
support
◦ Including Cubase, Sibelius and Myriad
David Parsons - May 31st 2013
 “I feel that MIDI is an outdated standard for
music education. I believe that MusicXML is
the proper standard for music education
…import/export with notation accuracy is a
world of hurt with MIDI and much improved
with MusicXML”
 Christopher J. Russell, Ph.D. - Technology in Music
Education Blog, May 2012
David Parsons - May 31st 2013
 XML
◦ eXtensible Markup Langauge
 XML is
◦ Semi-structured
◦ Self describing
◦ Fundamental to the web, web services, RSS feeds
etc.
◦ Provides a common way for any two applications to
communicate with one another
 XML is a meta language – you can create your
own languages from it
David Parsons - May 31st 2013
 Elements and attributes
 What do you notice about this data structure?
<element1>
<element2 attribute1=“value”>
some data
</element2>
<element3>
some more data
</element3>
</element1>
David Parsons - May 31st 2013
 Why can‟t I just use MIDI?
◦ Musical scores need to know about keys
◦ MIDI doesn‟t know if your note is an A# or a B♭
◦ MIDI doesn‟t know about much beyond the notes
themselves
 You can create a MIDI file from MusicXML, or a
notation file
David Parsons - May 31st 2013
 What do you need to specify if you want to
represent a note like this middle C
semibreve?
David Parsons - May 31st 2013
 MusicXML includes „note‟ elements
 Nested elements inside this specify the pitch
and the length of the note
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>whole</type>
</note>
David Parsons - May 31st 2013
the key the clef
 The key is defined
using the circle of
fifths
◦ Zero+major is C Major
 The clef has a sign,
and the stave line it
appears on
<key>
<fifths>0</fifths>
<mode>major</mode>
</key>
<clef>
<sign>G</sign>
<line>2</line>
</clef>
David Parsons - May 31st 2013
 4/4 time?
 Easy enough
David Parsons - May 31st 2013
<time>
<beats>4</beats>
<beat-type>4</beat-type>
</time>
 These are typically used for metadata
◦ Not the actual music data, but things that tell us
about it
 Here‟s an example:
◦ Each musical part is given a unique id
 so we can refer to it from other elements
◦ Each measure needs a number
 we are in the first measure of the first part
David Parsons - May 31st 2013
<part id="P1">
<measure number="1">
 Including stuff we
haven‟t talked
about
 Just for one note,
right?
 Sure, but you don‟t
do this stuff by
hand
 Software reads
and/or writes
MusicXML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.0
Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.0">
<part-list>
<score-part id="P1">
<part-name>Music</part-name>
</score-part>
</part-list>
<part id="P1">
<measure number="1">
<attributes>
<divisions>1</divisions>
<key>
<fifths>0</fifths>
</key>
<time>
<beats>4</beats>
<beat-type>4</beat-type>
</time>
<clef>
<sign>G</sign>
<line>2</line>
</clef>
</attributes>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>whole</type>
</note>
</measure>
</part>
</score-partwise>
David Parsons - May 31st 2013
 Here‟s our file in Myriad Melody Player
 We can see it, and hear it
David Parsons - May 31st 2013
 Understand how different applications
communicate musical data
 Use MusicXML to transfer data between them
 Write software that can generate MusicXML
◦ so you music can be scored
◦ e.g. write a mobile composition app that streams
MusicXML to the cloud)
 Write software that can read MusicXML
◦ so you can present it how you like
◦ e.g. create sound driven animations in HTML 5
David Parsons - May 31st 2013
 You could utilise any or all of the following…
 Technologies for processing XML
◦ XPath / XSLT / XQuery
◦ SAX (serial access) parsers
◦ DOM (document object model) parsers
 XML data Streams
◦ File streaming
◦ Web services
 Tools that understand MusicXML
◦ e.g. Java Music Specification Language
David Parsons - May 31st 2013

Más contenido relacionado

Más de David Parsons

Creating game like activities in agile software engineering education
Creating game like activities in agile software engineering educationCreating game like activities in agile software engineering education
Creating game like activities in agile software engineering educationDavid Parsons
 
Localizing mobile learning policy for maximum return on investment and stakeh...
Localizing mobile learning policy for maximum return on investment and stakeh...Localizing mobile learning policy for maximum return on investment and stakeh...
Localizing mobile learning policy for maximum return on investment and stakeh...David Parsons
 
Cloud Analytics - Using cloud based services to analyse big data
Cloud Analytics - Using cloud based services to analyse big dataCloud Analytics - Using cloud based services to analyse big data
Cloud Analytics - Using cloud based services to analyse big dataDavid Parsons
 
M learning Devices in Education
M learning Devices in EducationM learning Devices in Education
M learning Devices in EducationDavid Parsons
 
Jam today - Embedding BYOD into Classroom Practice
Jam today - Embedding BYOD into Classroom PracticeJam today - Embedding BYOD into Classroom Practice
Jam today - Embedding BYOD into Classroom PracticeDavid Parsons
 
Naked Objects and Groovy Grails
Naked Objects and Groovy GrailsNaked Objects and Groovy Grails
Naked Objects and Groovy GrailsDavid Parsons
 
Designing mobile games for engagement and learning
Designing mobile games for engagement and learningDesigning mobile games for engagement and learning
Designing mobile games for engagement and learningDavid Parsons
 
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...David Parsons
 
Interaction on the Move
Interaction on the MoveInteraction on the Move
Interaction on the MoveDavid Parsons
 

Más de David Parsons (11)

Planning Poker
Planning PokerPlanning Poker
Planning Poker
 
Creating game like activities in agile software engineering education
Creating game like activities in agile software engineering educationCreating game like activities in agile software engineering education
Creating game like activities in agile software engineering education
 
Localizing mobile learning policy for maximum return on investment and stakeh...
Localizing mobile learning policy for maximum return on investment and stakeh...Localizing mobile learning policy for maximum return on investment and stakeh...
Localizing mobile learning policy for maximum return on investment and stakeh...
 
Cloud Analytics - Using cloud based services to analyse big data
Cloud Analytics - Using cloud based services to analyse big dataCloud Analytics - Using cloud based services to analyse big data
Cloud Analytics - Using cloud based services to analyse big data
 
M learning Devices in Education
M learning Devices in EducationM learning Devices in Education
M learning Devices in Education
 
Jam today - Embedding BYOD into Classroom Practice
Jam today - Embedding BYOD into Classroom PracticeJam today - Embedding BYOD into Classroom Practice
Jam today - Embedding BYOD into Classroom Practice
 
The Java Story
The Java StoryThe Java Story
The Java Story
 
Naked Objects and Groovy Grails
Naked Objects and Groovy GrailsNaked Objects and Groovy Grails
Naked Objects and Groovy Grails
 
Designing mobile games for engagement and learning
Designing mobile games for engagement and learningDesigning mobile games for engagement and learning
Designing mobile games for engagement and learning
 
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
 
Interaction on the Move
Interaction on the MoveInteraction on the Move
Interaction on the Move
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

An Introduction to MusicXML

  • 1. Dr David Parsons David Parsons - May 31st 2013
  • 2.  MusicXML files are the standard format for sharing interactive sheet music  More than 160 applications include MusicXML support ◦ Including Cubase, Sibelius and Myriad David Parsons - May 31st 2013
  • 3.  “I feel that MIDI is an outdated standard for music education. I believe that MusicXML is the proper standard for music education …import/export with notation accuracy is a world of hurt with MIDI and much improved with MusicXML”  Christopher J. Russell, Ph.D. - Technology in Music Education Blog, May 2012 David Parsons - May 31st 2013
  • 4.  XML ◦ eXtensible Markup Langauge  XML is ◦ Semi-structured ◦ Self describing ◦ Fundamental to the web, web services, RSS feeds etc. ◦ Provides a common way for any two applications to communicate with one another  XML is a meta language – you can create your own languages from it David Parsons - May 31st 2013
  • 5.  Elements and attributes  What do you notice about this data structure? <element1> <element2 attribute1=“value”> some data </element2> <element3> some more data </element3> </element1> David Parsons - May 31st 2013
  • 6.  Why can‟t I just use MIDI? ◦ Musical scores need to know about keys ◦ MIDI doesn‟t know if your note is an A# or a B♭ ◦ MIDI doesn‟t know about much beyond the notes themselves  You can create a MIDI file from MusicXML, or a notation file David Parsons - May 31st 2013
  • 7.  What do you need to specify if you want to represent a note like this middle C semibreve? David Parsons - May 31st 2013
  • 8.  MusicXML includes „note‟ elements  Nested elements inside this specify the pitch and the length of the note <note> <pitch> <step>C</step> <octave>4</octave> </pitch> <duration>4</duration> <type>whole</type> </note> David Parsons - May 31st 2013
  • 9. the key the clef  The key is defined using the circle of fifths ◦ Zero+major is C Major  The clef has a sign, and the stave line it appears on <key> <fifths>0</fifths> <mode>major</mode> </key> <clef> <sign>G</sign> <line>2</line> </clef> David Parsons - May 31st 2013
  • 10.  4/4 time?  Easy enough David Parsons - May 31st 2013 <time> <beats>4</beats> <beat-type>4</beat-type> </time>
  • 11.  These are typically used for metadata ◦ Not the actual music data, but things that tell us about it  Here‟s an example: ◦ Each musical part is given a unique id  so we can refer to it from other elements ◦ Each measure needs a number  we are in the first measure of the first part David Parsons - May 31st 2013 <part id="P1"> <measure number="1">
  • 12.  Including stuff we haven‟t talked about  Just for one note, right?  Sure, but you don‟t do this stuff by hand  Software reads and/or writes MusicXML <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd"> <score-partwise version="3.0"> <part-list> <score-part id="P1"> <part-name>Music</part-name> </score-part> </part-list> <part id="P1"> <measure number="1"> <attributes> <divisions>1</divisions> <key> <fifths>0</fifths> </key> <time> <beats>4</beats> <beat-type>4</beat-type> </time> <clef> <sign>G</sign> <line>2</line> </clef> </attributes> <note> <pitch> <step>C</step> <octave>4</octave> </pitch> <duration>4</duration> <type>whole</type> </note> </measure> </part> </score-partwise> David Parsons - May 31st 2013
  • 13.  Here‟s our file in Myriad Melody Player  We can see it, and hear it David Parsons - May 31st 2013
  • 14.  Understand how different applications communicate musical data  Use MusicXML to transfer data between them  Write software that can generate MusicXML ◦ so you music can be scored ◦ e.g. write a mobile composition app that streams MusicXML to the cloud)  Write software that can read MusicXML ◦ so you can present it how you like ◦ e.g. create sound driven animations in HTML 5 David Parsons - May 31st 2013
  • 15.  You could utilise any or all of the following…  Technologies for processing XML ◦ XPath / XSLT / XQuery ◦ SAX (serial access) parsers ◦ DOM (document object model) parsers  XML data Streams ◦ File streaming ◦ Web services  Tools that understand MusicXML ◦ e.g. Java Music Specification Language David Parsons - May 31st 2013