I then documented the format as best as I could. I mainly copy/pasted code from other repos with minimal changes and was up and running in no time. The main building blocks of the converter are:Īlthough the iReal Pro format is proprietary and officially undocumented, I was lucky enough to find previous work and functioning code to parse it. Building the moduleĪll right, enough justifications and let’s jump into the technical aspects of this work. Most importantly, perhaps, iReal Pro’s native MusicXML fails on some of its own leadsheets, including those that feature odd time signatures - more on that below. Further, the MusicXML export feature is only accessible via the app’s UI and cannot be automated or batched. ( I’ve posted about MusicXML validation before, because it is an integral part of my development process). The value of converting these leadsheets to a standard interchange format lies in the ability to rely on a wealth of supporting applications for further processing.Īlthough iReal Pro already features a MusicXML export function, the generated files refer to an obsolete version of the music standard, in addition to being non-compliant to its schema. It is in this spirit that I decided to write a conversion module from the iReal Pro song format to the standard music interchange format, MusicXML. A great deal of the iReal Pro’s value lies in its content, namely the thousands of royalty-free leadsheets that are community-driven, and therefore evolving with fixes and enhancements as they are being actively used. Unnecessary pressure! It would be much more useful for an app to show both the full chart (including the melodic theme) and to provide playback.Īll is not lost. During practice, I perform a complicated ritual on my tablet whereby I load up the PDF chart and the iReal Pro app, then click the Play button in iReal Pro before quickly switching to the PDF chart while iReal Pro is counting in. For example, one of my frustrations as a practicing musician, is that I still need to refer to a traditional (Real Book) chart in order to read a song’s melodic theme. It’s understandable, because how else could the app makers sustain their work by releasing their app in the open? Open source business models are still contentious.įurthermore, some limitations of iReal Pro are structural. Philosophical considerations aside, this means that its development is gated and that fixes and new features are up to the whims and fortunes of a single organization. Now that’s what I call a successful product!įor all its greatness, iReal Pro suffers from one big (but understandable) flaw: it is not open source. Because the app is flexible and easy to use, it has attracted a large community of users who have contributed the bulk of the leadsheets that are in active use today. It allows to specify a full chord progression and to play it back in a number of styles, from pop to jazz to latin. iReal Pro (source) MuseScore (via ireal-musicxml) OSMD (via ireal-musicxml) What’s the point?įor musicians, iReal Pro is an indispensable tool that captures the essence of practicing a tune. Click each thumbnail to see a larger image. In this post, I hope to summarize the challenges, lessons learned, as well as the context around this work.īut first, some pretty pictures! Following is the same iReal Pro leadsheet for Herbie Hancock’s Butterfly, as rendered by iReal Pro, then rendered by MuseScore and OpenSheetMusicDisplay (OSMD) after MusicXML conversion. Yesterday, I finally published an online demo of my iReal Pro to MusicXML converter (unimaginatively called ireal-musicxml), having spent around 300% of the time I had originally anticipated to reach the first release of this module. Further description of iReal Pro playback emulation
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |