Tool for converting sheet music to IFR notation

@jessevoostrum If you were to put in a sort option, maybe it would be only a little extra code to allow for 1 at the top too? Yes, there are some who think that way up! :wink:

I really like the “melody path” display, you can get a real feel for the underlying chords and how the melody picks out chord tones.

As for where to put the 1, does it not depend on where the melody is going and where the melody note is in the underlying chord? For example, if there was a high/upper register 1 in the melody then 1 would appear high up in a 1 chord, with 3 and 5 lower down. Or would you want a high 1 and a low 1?

@mem My assumption was that @jazzyotter what thinking along the lines of how Melody Paths charts are usually drawn?

I can’t talk for others, but I always do that when drawing melody path charts.

Yes, the thought is to always have the 1 start at the bottom, then 2-3, etc. going up to 7, then another 1 at top.
However, if the melody is such, I suppose the melody path could repeat further above or below that range in order to be able to highlight the melody note?

That’s an impressive load if songs you’ve converted, I was looking for Autumn Leaves, jazz standard but I didn’t see it. Did I miss it?

Blockquote That’s an impressive load if songs you’ve converted, I was looking for Autumn Leaves, jazz standard but I didn’t see it. Did I miss it?

It’s called “Les Feuilles Mortes - Autumn Leaves” and is in the list with All Sheets

My bad, should have used the search function!

Thanks @jessevoostrum

this is great jesse!! and team. thanks for sharing!

Hi everyone, @jessevoostrum that looks fantastic!

Unfortunately, I don’t understand how to handle the files downloaded from your github page. I have downloaded all the folders, have installed the latest version of python.
Then I open python and try to file, enter the commands you have given in your explanation, but python isn’t happy😂 and gives a bunch of error messages.

Should I move your folders inside the python folders, what am I doing wrong?
If anybody has an answer, your help would be much appreciated​:pray::wink:

@Olivvier Did you also add matplotlib & music21 using pip? I had to do web search to find out how to do that…

Hi all,
I am currently working on a web application to convert the sheets online, so that people don’t have to do any installations themselves. It is still under development but for the people who would already like to give it a try you can do so here:
it is important to note that only files with the extension .musicxml can be uploaded. if it is not yet in this format you can do so with e.g. musescore.
Please let me know if you run into any problems using the website.

PS @DavidW is there a way to edit my first message to incorporate this information, and maybe also my contact details and donation link? I actually created a new email address to contact me:

1 Like

@jessevoostrum I’ve made an “Edit To Add” addition to the top post to mention this development with a link direct to this post. How’s that?

1 Like

Hi, thanks for the reply, no i didn’t. I must confess that I did everything in “survival mode” , I didn’t really understand what was doing and hoped for the best😂. I’ll try that out!

By the way, do you know if the “melody path” visualisation has been implemented in the current version?

hi @Olivvier,
did you see my earlier comment on the existence of a web application for converting sheets? for people without programming knowledge, I would recommend first giving this a try. I plan to make this soon more advanced so that there is also optionality for the melody paths, etc.

In case you still would like to try to run the code yourself, I have updated the instruction on github, which hopefully make the installation process easier. Let me know how it goes.

Thank you! there is actually more edits I would like to make, since for example now it is also not necessary any more to download the github repository, since I now created a pypi package called integerbook and can simply use the script.
PS is there also a way of contacting you directly, (like a private message or email) so that I don’t have to clutter the conversation with questions about the forum itself.

See PM (that I’m about to write…)

Thank you very much for your response, I will try it out.
I look forward to try to do the installation of the program when I’ll be back at my place after the holidays.

Happy Easter to you

Hi Jesse,

thanks again for your excellent work with your tool for converting sheet music to ifr notation!
I’m currently using the IFR notation to teach melodies/improv/comping to my guitar students with huge results (not to mention that I am learning a lot too with that approach!)
Just to let you know, I have tried your web application, managed to create musicxml files properly with Musescore to get a good IFR lead sheet, that’s perfect!

On the python side, on the other hand, I keep trying to make it work, but even if I did some C++ programming back in the day, it’s really cumbersome for me, so I will have to investigate further to find out how it works (I’m not asking you to explain me further, don’t get me wrong, it’s my job to find out :wink: ).

I really hope to find how to work out the melody paths in order to implement that into the lead sheets.

By the way, I have one question: how does your tool handle upper extensions of the chords in the melody paths, does it include the added note, i.e. CMaj9 = 1 3 5 7 2’ (or 1 2 3 5 7)?

1 Like

update on webapp

I have just updated the webapp so that custom settings can be chosen for conversion (including melody paths, etc. ). Also my personal collection of musicxml files can now be used for conversion with custom settings.

update on melody paths / plotting chord tones

I have now made the plotting the chord tones so that the when there is no melody printed the lowest and the highest note is both the “1”. When the melody is printed the lowest and highest chord tone are simply determined by the lowest and highest melody tone.

By the way, I have one question: how does your tool handle upper extensions of the chords in the melody paths, does it include the added note, i.e. CMaj9 = 1 3 5 7 2’ (or 1 2 3 5 7)?

@Olivvier in both cases the ninth will be printed as (1, 2, 3, 5, 7)

1 Like

Hi @jessevoostrum, thank you for your response.

I’ve checked the updated online tool out and just wanted to give you some feedback. All functions seem to work, except for the “Show Chord notes”, which never seem to appear whatever the selections are.

With the following setting, (where I get the closest to what I look for):


The output looks like this:

I’ve noticed that:

  • if I click on “bass line: no” it shows me some additional unwanted vertical lines
  • if I click on “lyrics: yes/no” it shows the lyrics in both cases
  • if I click on “chord progression: yes/no” it shows only the chord progression notes in red, without melody in both cases