Open Source and Learning

Picture for Open Source and Learning blog post

It was never easier in the history of mankind to acquire new knowledge and abilities due to the vast access of information in the internet. You can watch and learn from the best of the best, listen to zillions of musicians, download humongous numbers of books and all for free.

With Open Sheet Music Display (OSMD) we created a library to display MusicXML sheets on your webpage or application. The next logical step is to wrap things up and create a learning format for music. Something that can be exchanged freely and be used by everyone.

We recently implemented the world famous Boomwhacka coloring scheme to OSMD which is perfect for kids to make identifying and reading the notes by color easy for them. So whenever somebody wants to create a kids music learning page he can use our tools for that.

The nature of practice

If talking about education and practice it is mandatory to understand the very nature of what makes a good exercise. Some say it takes 10000 hours to master a skill, some say it’s talent. So where to start? When I was learning to play the piano my teacher used to give me small portions of pieces, only some measure, that I should repeat very slow until I was able to play them flawlessly for 20 times in a row. Then I had to increase the speed and repeat.

Although quite tedious that technique was remarkably effective.

So what are the keys here:

  1. Only bite what you can chew. Take only small parts of the piece
  2. Repeat, repeat, repeat
  3. Leave your comfort zone. Start easy on you and then increase the challenge

I also commute a lot. From my home to work it takes about 40 minutes. Just enough time to play some of these highly addictive mini games on my smartphone. Now if we also want to leverage the addictive effect of those games into our practice we’ll have a look at what makes us return to play:

  1. Short rounds that defy boredom
  2. Each level is just so hard that you can beat it if you concentrate a little
  3. Rewards for accomplishing more than average
  4. Easy rules

Okay we have some basic understanding now about practices and smartphone games. Now how can we combine them?

Practice data format

We can write down some requirements now (using ISO 29148 requirement syntax). These requirements do not reflect any implementation but are merely an orientation towards a clear specification.

  1. The format shall contain multiple pieces of MusicXML
    1. The format shall define lists of pieces
  2. The format shall contain practice instructions in easy wording
  3. The instructions shall contain goals that need to be achieved
    1. On accomplishing a goal the user should get rewarded
  4. The practice shall include difficulty levels
  5. The practice should contain repetitions
  6. The format may contain images that can be embedded
  7. The format may contain links to other services like Spotify or Youtube

Well that’s quite something. Now what might be usable for this?


So from our first requirement we can rule out standard plain text formats like XML or JSON. We need something that can hold multiple files. That’s were containers come into play. MusicXML itself has a container version (MXL compressed format) for large sheets. It uses a JAR derivative that is basically a zip file with standardized meta information. So not too bad already, but not enough for our other requirements as it mostly used for java programs.

Then we have ISO 29500, the Open Data Format (ODF) for Office applications. Which contains multiple documents, images, meta information, versioning, and any kind of media.

Last but not least the EPub Open Container Format (OCF) 3.1 by W3C which is a native web format und used as a exchange format for ebooks in ePaper readers and smarphones. It comes with all the features of ODF but with additional layers of encryption which might come in handy for some other use cases we didn’t yet think of.

Meta informationyesyesyes
Multi Documentyesyesyes

Next steps

Now where to go from here? This was more or less a brainstorming blog and there is still a lot of work to do. Because if the format is defined and no one is using it, it will not have much use. Therefore the next logic thing is to invite people that have interest in that topic and ask them to help.

That reaches from developers that want to create content for their users to teachers that want to get a taste of the digital world and want to share their prepared lessons with their students. Also software companies that create MusicXML could be interested in this to offer tools to simplify the composition of pieces into a practice.

Speaking of composition. If the format is based on something like EPub it’s not too far fetched to also define it in a way that multiple sheets can be combined into an assembly and send to your end device. For example Beethoven Sonata books could be formatted in a digital container and distributed using the encryption in the containers. But that’s still a long way to go.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.