Converting Sheet Music to a Yamaha XF MIDI File

Posted by: Tapas

Converting Sheet Music to a Yamaha XF MIDI File - 02/24/21 03:29 PM

I would like to have your expert tips on the simplest and most efficient way to convert a printed Score Sheet into a Yamaha XF MIDI file with chords and lyrics.

The end goal is to have an XF MIDI File that can be played back on a Yamaha Arranger while displaying the lyrics and the auto accompaniment following the chord changes embedded in the file.

It appears that converting a Sheet Music into a MIDI file is fairly easy using a music scanning software.

This YouTube video compares 3 Score to MIDI programs:

Sheet Music Scanner
iSee Notes Pro
NotateMe

https://www.youtube.com/watch?v=DN1RENjWnLU

Here is another YouTube video explaining how to use PlayScore2 to convert Sheet Music into a MIDI file.

https://www.youtube.com/watch?v=tBiFMJV1u7Q

I use SmartScore X Pro by Musitek. It is fast an accurate. It can read a Score Sheet in PDF format or a TIFF image and convert that to a Standard MIDI File.

This short video explains the process:

https://www.youtube.com/watch?v=XW7sUK_N27E

It transfers over the Lyrics and recognizes the Chord Symbols. It is intelligent enough to transpose the Chord Symbols when you transpose the Song to a simpler scale.

So far so good.

If this program was able to translate these Chord Symbols and insert the actual notes of the Chord in say MIDI Channel 16, then my problem will be solved.

During playback the Yamaha Arranger would reference MIDI Channel 16 to determine which Chords to play based on the 3 or more notes. Setting the arranger to fingered mode will get the job done.

So how do I take a Standard MIDI File created by SmartScore and add in the Chords?

I see two possibilities that involve manual editing.

1.

Use the PSRUTI (version 8.21) software:

https://www.heikoplate.de/psruti.html

This can convert any Standard MIDI File into an XF MIDI File.

The program is clever enough to analyze several tracks like the Melody Track, Bass Track and automatically generate the Chords.

However, they sometimes differ from the original score sheet. So you need to spend some time manually entering each Chord. This is frustrating.


2.

Use XGWorks 3.0.7E:

The last universal version can be downloaded from:

http://www.xg-central.com/xgc-software.php

It is under the Tools section.

This is free for personal use. It runs under Win XP and Win 7 (32-bit & 64-bit).

This program is a gem. It displays the Chords from an XF MIDI file. You can specify the Style with Intros, Endings, Fills and Variations. In a nutshell you can use this sequencer to edit your XF File to your exact liking.

Sadly, Yamaha dropped further development after it acquired Cubase.

It is possible to enter your chosen chords, but still this takes some manual effort.


Does anybody know of a better way to convert a score sheet into an XF MIDI file?

What would really help to streamline the workflow is to have a single Score to MIDI software that would read the chord symbols from the score sheet and insert a new MIDI Track containing the actual notes of the chord.
Posted by: TedS

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/24/21 07:32 PM

Did you see this review?

https://www.scoringnotes.com/reviews/a-review-of-optical-music-recognition-software/

I've struggled with some of these same issues-- trying to develop a "work flow" to convert my paper-based collection of scores to some kind of electronic format (MIDI preferred.) I would be grateful for any insight you're able to share.
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/24/21 08:58 PM

Originally Posted By TedS
Did you see this review?

https://www.scoringnotes.com/reviews/a-review-of-optical-music-recognition-software/

I've struggled with some of these same issues-- trying to develop a "work flow" to convert my paper-based collection of scores to some kind of electronic format (MIDI preferred.) I would be grateful for any insight you're able to share.


No, I had not seen this before.

Thank you so much for posting the link to this very comprehensive review of the following 4 Music Scanning Software:

PlayScore 2
ScanScore
PhotoScore Ultimate
SmartScore 64 Professional Edition

Anyone looking for a robust solution to convert their paper scores to MIDI files should read this entire article.

I am listening to the podcast now.

As I guessed, SmartScore 64 Professional Edition is the most feature rich product. After the image recognition is complete, you can play back the song with an optional rhythm track matched to the music genre of your choice.

This is far more elegant and pleasing than having a metronome to count the beat.

It recognizes a wide range of Chord Symbols and can translate them into Guitar Tabs. There are over 700 Guitar Tabs and you can add your own. So, it should be a simple enhancement to insert the notes of a given Chord inside a new MIDI track rather that displaying the Guitar Tab.

Inserting notes to represent Chords would not make it a bonafide XF MIDI file, but would work just fine for my purpose. I could set the MIDI volume for this new Chord Track to zero. This will trigger the chord changes during playback but not make any sound.

The Chords in a real XF MIDI File are short SysEx messages. Yamaha is secretive on their content. It is meant to work with Yamaha's Performance Assist Technology where the playback waits till the user hits the right keys.

There are many third party developers that make genuine XF MIDI files like BonMIDI, MIDISpot, etc. They contain Chords and Lyrics and special SysEx messages for individual instruments like the Genos, Tyros5, SX900, etc.

This means there must be tools out there to create these XF MIDI files. They are not available to the general public.

For your specific use case where all you want is to convert your paper sheet music into an electronic format, I think SmartScore 64 Pro would be your best bet.

I purchased my first Musitek product at Winter NAMM way back in 1998. It was called MidiScan version 2.5.1 and came in two 3.5" diskettes. Christopher Newell, President of Musitek was giving the demos. This company has been on the forefront of Music Scanning Technology.

Since then I upgraded to the SmartScore X Pro Edition. I have been happy with this product. This is certainly a professional's tool.

I would highly recommend trying out their demo to see if it fits your needs. It is expensive but it does the job right.
Posted by: Bernie9

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/25/21 01:21 AM

Very interesting, I will investigate further,
Posted by: TedS

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/25/21 09:03 AM

Re: XF chords... Do a search for names like "Paul Tumelty" and/or "Heiko Plate". A long time ago, one of these gents made a spreadsheet-based tool for adding Yamaha XF chords to a MIDI. It isn't as mysterious as it's made out to be- I recognized the relevant bytes the first time I looked at the data. If I recall, they are at the very end of the file.

If Yamaha ever finished developing the step chord editing capability promised by the "CHD" tab in their on-board editor, it would be a breeze. That whole tab and feature set are half-baked, IMO.

I totally agree with your sentiment about XG Works. I have 3.07 and it runs ok for me in Windows 10. I don't do anything with audio, so all of the newer DAWs are way overkill and frustrating to learn. Do you know of any other good basic sequencing softwares that are MIDI focused?
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/25/21 02:48 PM

Originally Posted By TedS
Re: XF chords... Do a search for names like "Paul Tumelty" and/or "Heiko Plate". A long time ago, one of these gents made a spreadsheet-based tool for adding Yamaha XF chords to a MIDI. It isn't as mysterious as it's made out to be- I recognized the relevant bytes the first time I looked at the data. If I recall, they are at the very end of the file.

If Yamaha ever finished developing the step chord editing capability promised by the "CHD" tab in their on-board editor, it would be a breeze. That whole tab and feature set are half-baked, IMO.

I totally agree with your sentiment about XG Works. I have 3.07 and it runs ok for me in Windows 10. I don't do anything with audio, so all of the newer DAWs are way overkill and frustrating to learn. Do you know of any other good basic sequencing softwares that are MIDI focused?



Hi Ted,

Thanks for the pointers.

Heiko Plate is the author of the PSRUTI software.

As you suggested, I did a search and found this useful thread with your participation:

http://www.synthzone.com/forum/ubbthreads.php/topics/218796/Chord_Data_In_Midi_Files

In addition to the PSRUTI Tool designed by Heiko Plate, one can also use the XFTool by Yamaha to step record the Chord Events and Lyrics into a MIDI file to create an XF MIDI File.

http://www.jososoft.dk/yamaha/psr_soft/xftool.zip

This will likely run on Windows 98 and Windows XP (32-bit).

I learned that GNMIDI authored by Gunter Nagler allows you to insert Chords into a MIDI File.

www.gnmidi.com


One could also record a performance in real time on a Yamaha Arranger. The saved MIDI file will be in XF Format containing the embedded Chord Events and Lyrics. However, the moment you load this into an external sequencer and try to save it, it will likely strip out all the sysex information and create a Standard MIDI File.

If all you need is a MIDI Sequencer, you can buy an old version of Sonar like version 3.1 off eBay. It is rock solid on Win XP and Win 7. It has a small footprint with an easy to follow interface.


You could also download Cakewalk by Bandlab for FREE:

https://www.bandlab.com/products/cakewalk

Just ignore the audio part and only use the MIDI functions.


You could also purchase Cubase Elements 11

https://www.sweetwater.com/store/detail/Cubase11E--steinberg-cubase-elements-11-download


You could also try out Master Tracks Pro.

http://www.passportmusic.com/products/master-tracks-pro/master-tracks-pro-specs/


You could also try PowerTracks Pro Audio and just use the MIDI functions.

https://powertracks-pro-audio.software.informer.com/12.0/
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/25/21 04:34 PM

Here is an Ebay listing for Cakewalk SONAR 4 Home Studio Edition CD.

https://www.ebay.com/itm/Cakewalk-Sonar-4-Home-Studio-Edition-cd/324451173588

$26 with free shipping

This will do the job as a simple MIDI sequencer.
It runs on Windows XP and Windows 7.

But then again why bother when you can download and install Cakewalk by BandLab for FREE that runs on Windows 10 and Windows 7.
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/25/21 05:59 PM

I just started playing with an old version of GNMIDI (version 2.54) that I had purchased fron Gunter Nagler in 2005.

l loaded in a Yamaha XF File and then used the Convert MIDI to (.csv) spreadheet Tool.

The output is like examining your MIDI file under a microscope.

Yes, I could see the Meta Events representing the embedded Chord Events.

Here are a few samples:

META;65280;1;;;;;;;;;;;;;;;;;;;;;;127;43 7B 01 32 08 7F 7F
META;67200;1;;;;;;;;;;;;;;;;;;;;;;127;43 7B 01 31 08 7F 7F
META;68160;1;;;;;;;;;;;;;;;;;;;;;;127;43 7B 01 34 13 7F 7F
META;69120;1;;;;;;;;;;;;;;;;;;;;;;127;43 7B 01 27 00 7F 7F


This means if I had a Table that translates Chords to these Meta Events, I could add them to the CSV output and then use the Convert (.csv) spreadsheet to MIDI File tool to create my own XF MIDI file.


So, this is not so much a mystery any more!

Next, I am going to play with the XFTool. It does not work with Windows 7. I have to use an old XP machine to test this.

You would think there would be a simple way to insert these Yamaha Chord Events into a standard MIDI File.
Posted by: TedS

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/25/21 07:30 PM

Here's how I would try to decode the bytes: Make a MIDI on your Yamaha machine by doing a step recording using the CHD tab. Save a copy both before and after you "expand" it. At least one of them will have the XF chord events present. Make a note of what chords you entered, and analyze the data to find a pattern.

It's been a very long time since I experimented like this. I think what I was doing was using a spreadsheet tool to manually create and edit the meta events. Then "concatenating" (appending) multiple cells together and pasting text onto the end of the MIDI file. Definitely possible, but awkward.

As I wrote in my original post 15 years ago, building a tool that does this shouldn't be too hard for a skilled GUI programmer (which I am not!) Good luck!
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/25/21 09:30 PM

Originally Posted By TedS
Here's how I would try to decode the bytes: Make a MIDI on your Yamaha machine by doing a step recording using the CHD tab. Save a copy both before and after you "expand" it. At least one of them will have the XF chord events present. Make a note of what chords you entered, and analyze the data to find a pattern.

It's been a very long time since I experimented like this. I think what I was doing was using a spreadsheet tool to manually create and edit the meta events. Then "concatenating" (appending) multiple cells together and pasting text onto the end of the MIDI file. Definitely possible, but awkward.

As I wrote in my original post 15 years ago, building a tool that does this shouldn't be too hard for a skilled GUI programmer (which I am not!) Good luck!



Hi Ted,

Thanks so much for your thoughtful tips!

Yes, your method will work. It is a brute force approach to reverse engineer Yamaha’s XF Chord Events to match a control set of known Chords.

Someone with a lot of patience would be able to set up an Excel Spreadsheet matching up every known Chord on very Scale to the corresponding Yamaha XF Chord Meta Event.

Luckily by chance I found an elegant solution that will solve my problem.

While I was playing with GNMIDI 2.54, I decided to download the latest version 3.25.

I see that Gunter had made a ton of improvements. The one enhancement that stood out was the Chord Editor. This was the answer to my prayers.

I loaded an XF MIDI File into GNMIDI 3.25. Upon playback I could see the Chord Symbols recognized as PSR Meta Events.

Next, I deleted all the Chords.

Then I allowed the software to compute the Chords based on all 16 MIDI Channels except the drum track on Channel 10.

Surprisingly, the auto generated Chords almost exactly mimicked the original. There was just a few that were slightly off. I launched the Chord Editor which brought up a matrix with every row representing a Measure and every column representing a Beat within that Measure.

With this Grid View, it was very easy to locate any chord and double click to replace that with some other chord from a drop down list.

It was a breeze to get all the chords just right.

Moreover, the program lets you transpose to a more playable Key Signature while transposing all the Chords as well.

I played the modified XF MIDI file on a Yamaha CVP-609 Clavinova. The Chord symbols appeared on the display and the Style followed the Chord changes.

This is exactly what I was looking for.

This means I can scan any sheet music using SmartScore X Pro and export that to a Standard MIDI File.

I could load that SMF into GNMIDI 3.25 and allow it to compute the Chords and insert the Yamaha XF meta events. Altering any mismatched chord is a 2 click process.

The resulting XF-MIDI file can now be played back on any Yamaha Arranger. The Style Play will honor the Chord changes.

The cost of this program is 36 Euros (about $44). You can install this on 5 PCs and enjoy 2 years of free updates.

I think this is a fair price and I will buy this.

http://www.gnmidi.com/

I still feel there is a golden opportunity for an App Developer to create a simple point and click Music Scanning program.

It would have to do 4 simple tasks.

1.
Scan the image of the score sheet captured by your smartphone or tablet.

2.
Translate the image into a MIDI File.

3.
Read the Chord Symbols and create a new MIDI Track containing the notes of the chord.

4.
Export the MIDI file.

This MIDI File, although not an XF-MIDI file, will still be able to work with all Arranger Keyboards from Korg, Roland, Yamaha and Casio.

The information on the Chord Track will trigger the Chord changes with the Arranger set to Fingered Mode.


All the music scanning apps already do steps 1, 2 and 4.

Someone has to figure out how to include step 3 and instantly become a runaway hit in the Arranger World.

Any Arranger would be able to play back the information from the thousands of Fake Books and faithfully follow the melody line and chord changes.

This makes music more accessible to the masses without having to learn how to read notes and play chords.



Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/26/21 09:24 PM

I discovered a nifty program that makes it a cakewalk to transform any GM, GS, XG MIDI File or even an MXL File into a genuine Yamaha XF MIDI File with a few mouse clicks.

The resulting MIDI File will display the Chords and Lyrics on your Yamaha Arranger and the Style will follow the Chord symbols.

This was exactly what I was hoping to find.

This program is called Notation Composer 4

https://www.notation.com/notation-software_musician_composer.php


To put this to the test, I used a few MXL Files that were generously provided as a zipped download by Scott Langholff.

http://www.synthzone.com/Files/Wikifonia/Wikifonia.zip

This contains an excellent collection of 6,675 Lead Sheets with Melody Lines and Chords.


Larry Hawk was kind enough to convert 6,233 of them into clear high resolution PDF Files that you can download here:

https://app.box.com/s/h4a8x8w01e70grijkaw0


You can use the FREE software MuseScore 3.6.2 to generate these PDF Files from the source MXL Files.

https://musescore.org/en


I loaded one of these source MXL Files into Notation Composer 4. The Staff Notation along with the Chords and Lyrics were displayed similar to what you see in the PDF.

I exported that as a MIDI File selecting XG as an option.

To my surprise, this program actually went a step ahead and embedded the XF Chord Events making this a bonafide Yamaha XF MIDI File!

I was not expecting this


When I played back this XF MIDI File on my CVP 609 Clavinova, the Lyrics and Chords showed up in the display.

I could play back the melody line backed by any appropriate style which faithfully followed the chord changes.

This hidden feature makes Notation Composer 4 an indispensible tool for Yamaha Arranger Players.


What about Standard MIDI Files with no Meta Chord Events?


I took a Tune 1000 General MIDI File which has Lyrics but no Chords.

As expected the Lyrics were displayed within Notation Composer. I ran the Transcribe Chord Function which analyzed the tracks and inserted the Chord symbols.

I could click on any of these Chord symbols and hear the sound.

When I exported the MIDI File, the software inserted the Yamaha Meta Chord Events turning this into an XF MIDI File.

Once again, the Clavinova displayed the Lyrics along with the Chords which triggered the chord changes during Style Play.

This program is not free. It costs $98.

However, it does this special trick which even the industry leaders Sibelius and Finale cannot do.

This is strictly a Notation program. It does not have any OCR capabilities.

If you have a score sheet in PDF format, Notation Composer would not be able read it. For this part, you still need to load the PDF File into SmartScore X Pro first and output that as an MXL File.

If you have a hard copy of a Score Sheet like a Fake Book, you would still need to capture the image as a TIFF or a PDF and load that into SmartScore X Pro.

Once you export that as an MXL File, you are golden. Notation Composer can take it from there and create a Yamaha XF MIDI File with Chords and Lyrics playable on any Yamaha Arranger.

I think I have found the optimal workflow. There is no need to use GNMIDI. Just these two programs will do the complete job:

1.
SmartScore X by Musitek

2.
Notation Composer 4

Your source can be a:

Printed Score Sheet
PDF File
MXL File
General MIDI File
GS MIDI File
XG MIDI File

If your source does not have the Lyrics, you can use the user friendly Lyrics Editor inside Notation Composer.

You can also add the Band In A Box plug-in for $69 to play back your melody lines with a full backing accompaniment within Notation Composer.

I would like to publicly thank the efforts of Scott Langholff and Larry Hawk for making this mega collection of Wikifonia Lead Sheets available as MXL and PDF Files.

Now I can sit back any enjoy listening to them on my Yamaha Arranger without having to play a single note laugh

You got to marvel at the advancement of technology.
Posted by: joso

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/28/21 10:51 AM

Hi
Very interesting subject.
Many years ago (2003) I created my "Lyrics Finder" software - check http://www.jososoft.dk/yamaha/software/lfind/index.htm
This was the "opposite" way of manipulation: Extract the XF embedded text to sheet song text.
But I have not met much interest in the XF format in past years untill now. Maybe I should take a look about what can be done!
Regards
Jørgen
Posted by: joso

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/28/21 10:59 AM

Hi
Sorry, did not see the message at page 2 before answering above.
Seems like the solution is found...
Jørgen
Posted by: Diki

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/28/21 01:48 PM

Personally, having to listen to sheet music converted to MIDI or styles is as painful as sticking needles in my eyes! And automatic analysis of chord structure from SMF’s or sheet music is still a LONG way from being perfect.

Sheet music is an abstraction, a shorthand, an imperfect way to express the inexpressible. To hear it interpreted literally only exposes how much is lost in the desire to notate it without it becoming unreadable. Even today, there is a huge gulf between what the sheet says and what a computer can interpolate from it and still sound human. While other systems have been cracked, and computers can fool humans reading text or writing as if human, the art of music still defies machine learning so far. Maybe a few more generational leaps forward in machine learning are needed, maybe it will never come.

But put the same sheet music in front of two different pianists, both will do something different. But put it into any sheet music to MIDI translator and it will always sound the same, and nothing like either pianist!

It’s a nice pipe dream, but I think it might be easier to learn how to play from the sheet than wait for a machine to do it well!
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 02/28/21 01:59 PM

Originally Posted By joso
Hi
Very interesting subject.
Many years ago (2003) I created my "Lyrics Finder" software - check http://www.jososoft.dk/yamaha/software/lfind/index.htm
This was the "opposite" way of manipulation: Extract the XF embedded text to sheet song text.
But I have not met much interest in the XF format in past years untill now. Maybe I should take a look about what can be done!
Regards
Jørgen




Hi Jørgen,


Thanks a million for all your excellent MIDI Tools and supporting the Yamaha Arranger Community for over 30 years!!

The XF Format is critical to Yamaha Arranger Players. This allows embedded meta Chord Events to drive the accompaniment. The Chord Symbols and Lyrics also show up on the display screen.

So far I have found 6 ways to convert a General MIDI File into the Yamaha XF MIDI Format.


1.

Yamaha XF Tool (FREE)

http://www.jososoft.dk/yamaha/psr_soft/xftool.zip

Thanks Jørgen for keeping this link alive!

This light weight MIDI Editor lets you add Chords to a MIDI File along a time line on every Measure or every Beat.

You can also enter Slash Chords like G/A, Bm/A

You can also enter Lyrics.

It saves to an XF MIDI File.

This program has the simplest interface.

The only downside is that Yamaha never published any updates to XF Tools. You can run XF Tools on Windows XP but not 7, 8 or 10.

I just verified this on an old desktop running Win XP (32-bit).

The XF Tool Manual can be downloaded from Heiko Plate's website.

https://www.heikoplate.de/xftool-manual.html




2.

XGWorks 3.0.7E (FREE)

This software can convert a Standard MIDI File into a Yamaha XF MIDI File.

You may also include meta events to control the Styles complete with Intros, Endings, Fills and Variations.

This software had the most potential. It runs on Windows XP, 7, 10.

Imagine if Yamaha released an update to XGWorks to work with the Yamaha GENOS.


3.

PSRUTI Tool by Heiko Plate (FREE)

This program analyzes the MIDI tracks and computes the Chords. The saved MIDI File contains the XF meta chords and lyrics.


4.

GNMIDI 3 by Dr. Gunter Nagler ($44)

This program computes the chords in a general MIDI File and inserts the XF meta events.
It saves to a true Yamaha XF MIDI format.

It comes with an elegant Chord Editor and Lyrics Editor for manual input if necessary.


5.

MuseScore 3.2.6 (FREE)

This software can import a Music XML File (MXL).

If the source contains Chords, they are displayed.

The nice part is that this program embeds the actual notes of each chord when saved as a MIDI File.

It does not make a true XF MIDI File. However you can see the chord notes being played on any keyboard. When the Arranger is set to full scanning mode, it picks up the chord changes. So in essence it still mimics the function of an XF MIDI File.


6.

Notation Composer 4 ($98)

This is the best solution.

This program reads an MXL File. When exported as an XG MIDI File, it embeds the XF Meta Chord Events as an added bonus.

It also reads standard MIDI Files and auto computes the Chords. When saved, you get an XF MIDI File.

You also get an elaborate Chord Editor and Lyrics Editor.

If you load a lead sheet in the MXL Format, it could also generate the backing tracks using any style you select from the Band-in-a-Box plugin ($69).

I think it is worthwhile purchasing Notation Composer. It opens up the world of General MIDI Files that can be played with chord changes on any Yamaha Arranger Keyboard with just a few mouse clicks.

Professionally developed Yamaha XF Files are expensive. They sell around $6.99 each.


Best regards,

David Das

Posted by: joso

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/01/21 03:42 AM

Hi David

Thanks for this great status report about the XF format tools.
For those more interested you can check the original format specifications found at my site - http://www.jososoft.dk/yamaha/docs_specs.htm
Regards
Jørgen
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/03/21 07:56 PM

Originally Posted By joso
Hi David

Thanks for this great status report about the XF format tools.
For those more interested you can check the original format specifications found at my site - http://www.jososoft.dk/yamaha/docs_specs.htm
Regards
Jørgen



Hi Jørgen,


Thanks for the link to the XF Format Specifications.

I thought you may like to add to your INS Files repository with some more Cakewalk Instrument Definition Files on your website:

http://www.jososoft.dk/yamaha/ins_files.htm

These are INS files for the following manufacturers.


  • Alesis
  • E-mu
  • Ensoniq
  • General Music
  • Roland
  • Korg
  • Kurzweil
  • Yamaha



Within each of these INS files there is a collection of keyboards and sound modules made by the manufacturer.

I have mailed you INS.zip

Your website has a treasure trove of information.

Thank you for sharing all of these useful tools with the Yamaha Arranger Community.

Best regards,

David Das
Posted by: joso

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/04/21 10:31 AM

Hi
No file has arrived yet...
Be sure to spell the mail address correct.
jo so so ft @ gm ail . com - WITHOUT spaces.
And no, I am not stammering, it reads "so" twice...
Address is short from my firm "Jørgen Sørensen Software Development". But as the Danish "ø" was not allowed I had to use "o" instead...
Jørgen
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/04/21 02:57 PM

Hi Jørgen,

I am so sorry the first email did not go through.

I have sent you a second email making sure I got your address right.

The size of INS.zip is 1,486KB

David
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/04/21 03:15 PM

Hi Jørgen,

I think the ZIP attachment is getting stripped off.

So, let's try another approach which will definitely work!

Please download INS.zip from here.

http://davidapps.net/INS.zip

David
Posted by: joso

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/05/21 07:10 AM

Hi David
Got the file now. Thanks.
Will upload in the next update - in a week probably!
Have a nice weekend - the sun is shining here today - spring is on its way
Jørgen
Posted by: Gunnar Jonny

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/05/21 09:51 AM

Originally Posted By joso

... - the sun is shining here today - spring is on its way
Jørgen


Hopefully you're right Jørgen, enough winter for now if anyone ask me. 😁
Only hope we'll get the opurtunity to visit Denmark again this year, if we're so lucky that "Queen Corona" lose the grip. 😷
🎵'Det er deilig å være Norsk i Danmark'🎵
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/29/21 01:40 PM

As I was researching into various ways to convert a printed Sheet Music into a Yamaha XF MIDI file I ended up taking notes and creating a User Guide that may be useful to others.

The process involves 3 components:


  • Flatbed Scanner
  • Music Scanning Software
  • Music Notation Software that can export to XF MIDI



If you want a dependable professional solution your best bet is to get the Epson Perfection V39 Photo Scanner, run the Image Recognition through SmartScore 64 Pro and export the Music XML file using Notation Composer 4.

This costs around $500.

There is a cheaper workaround that works on simple scores. Rather than purchasing the Epson Scanner and SmartScore 64 Pro, you can use the NoteReader App that installs on your iPhone.

This lets you take a snapshot of the score sheet using your iPhone camera and the NoteReader App instantly plays back the score on your iPhone. If you upgrade to the Premium version for $9.99, you get the added capability to download the MIDI file.

This Standard MIDI file will not contain any Lyrics or Chords. However, it is very easy to add them in Notation Composer 4 and finally export it as an XG MIDI file.

Notation Composer automatically inserts the Yamaha META Chord Events creating a true XF MIDI file that can be played back on any Yamaha Arranger Keyboard. They drive the chord changes when you select any Style.

This solution costs $109.

I have included all the steps in my User Guide with annotated screenshots.

GNMIDI 3.7 turned out to be the best utility to spit out the contents of an XF MIDI file into Excel and examine the short SysEx messages that constitute the META Chord Events.

I compared the free versions of various music notation programs – Crescendo, MuseScore, Dorico, Sibelius, Finale, Noteflight and StaffPad.

Dorico has the most modern User Interface. It offers a simple and intuitive workflow. Once Dorico adds the capability to handle the XF extensions to the Yamaha XG format, it would become the notation software of choice for creating XF MIDI files.

Until then, Notation Composer remains your only solution. You can import all the 6,675 Wikifonia Lead Sheets in MXL format and export them to create XF MIDI files that will play on your GENOS, Tyros, PSR or Clavinova driving the Chord changes as you select any Style.

Here is the User Guide for converting Sheet Music into a Yamaha XF MIDI file:

http://www.davidapps.net/xfmidi.pdf
Posted by: TedS

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/29/21 02:16 PM

Wow!! I asked about something like this years ago, and now here it is! I haven't had a chance to read it yet. But I did buy Notation Composer 4. So when I'm ready to roll up my sleeves I'll attempt to follow your instructions. Thank you!!!
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/29/21 09:09 PM

Originally Posted By TedS
Wow!! I asked about something like this years ago, and now here it is! I haven't had a chance to read it yet. But I did buy Notation Composer 4. So when I'm ready to roll up my sleeves I'll attempt to follow your instructions. Thank you!!!


Hi Ted,

If you have Notation Composer 4 you are all set!

It is very simple to convert any of the free 6,675 Lead Sheets in Music XML format into readily playable Yamaha XF MIDI files via and Import/Export operation in Notation Composer 4.

I was delighted to find how well this process works.

As a test I converted these 3 MXL files from the download link provided by Scott Langholff.

  • I Don’t’ Know How To Love Him.mxl
  • The Music Of The Night.mxl
  • The Phantom Of The Opera.mxl


Notation Composer 4 exported these 3 XF MIDI files:

  • I Don’t’ Know How To Love Him.mid
  • The Music Of The Night.mid
  • The Phantom Of The Opera.mid


Each one of them plays flawlessly on Yamaha Arrangers. The best part is that chords change automatically when you play the song with any Style of your choice.

This leaves both hands free to improvise and play along.

Notation Composer 4 is the only Music Notation Software that can do this neat trick!

I came across a few MXL files where the Chord Information was not correctly linked in the source. You can tell that easily by clicking on the Chord symbol in Notation Composer 4.

If you do not hear the sound of the Chord, then it has not been properly linked. It manifests itself as an ordinary Text object.

The solution is simple.

Activate the Chord Tool and enter the chords manually. Then delete the original text objects that were meant to be Chord symbols.

Now we have a sure and easy way to convert all of these 6,675 Lead Sheets into Yamaha XF MIDI files for a small investment of $98.99.

Cheers!

David
Posted by: Bernie9

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 12:58 AM

Great news

I have been using Notation Composer for years, including the new Composer 4. I am anxious to investigate this.
Thank you Tapas
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 08:46 AM

Hi Bernie,

Notation Composer 4 is all you need to convert the Music XML files to XF MIDI files. Just got to run them through an Import/Export cycle.

It can even create a Lead Sheet with Chords and Lyrics in PDF format.

You are all set.

I will post a few converted XF MIDI files later today.

You have so many Yamaha Arrangers plus the Korg Pa4X and the Ketron Audya 76 and the vArranger!

You are certainly having a good time.



Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 11:26 AM

Hi Bernie,

I have converted the following 8 songs into XF MIDI files:

  • Clocks.mid
  • How deep is your love.mid
  • I Don’t Know How To Love Him.mid
  • Mamma Mia.mid
  • Rivers of Babylon.mid
  • Spanish Eyese.mid
  • The Music Of The Night.mid
  • What A Wonderful World.mid


They are all under:

http://www.DavidApps.net/TestFiles.zip

I have included a ReadMe.pdf with full instructions on how to convert the Music XML files along with creating the Lead Sheets in PDF format.

David


Posted by: DAN.2000

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 04:00 PM

Do you know if it is possible to load such midifiles with XF chords in a Yamaha arranger, and that allow to drive the arranger with a style?
Posted by: Diki

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 04:38 PM

Maybe I’m missing something here, you know I’m a Roland man LOL, but can’t you just PLAY the chords into the chord sequencer on the newer Yamaha SX series, and save that as a file? That would give you the advantage of breaking it up into verse, chorus, solos etc., and allow you to restructure the whole thing at will….

The chord sequence still drives a style, so you can vary different styles when you feel like it, stick fills in where you feel like it, go to the ending when you feel like it etc. but it strikes me that this method you have doesn’t allow for restructuring the song unless I am missing some thing…

If you are one of the lucky Yamaha SX series owners or have a Genos, I have a feeling that using the chord sequencer may turn out to be a more flexible solution.
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 04:56 PM

Hi Dan,

Yes, absolutely!

I just verified the playback of the following XF MIDI files on a Yamaha Clavinova CVP-609

http://www.DavidApps.net/TestFiles.zip

I found the matching Styles from the Music Finder Database.

How Deep is Your Love.mid
Style = Boy Band Ballad
Tempo = 110


I Don’t Know How to Love Him.mid
Style = Love Song
Tempo = 110


Mamma Mia.mid
Style = Disco Teens
Tempo = 120


Rivers of Babylon.mid
Style = Disco Hands
Tempo = 120


Spanish Eyes.mid
Style = 8 Beat Adria
Tempo = 112


Music of the Night.mid
Style = Broadway Ballad
Tempo = 100


What a Wonderful World.mid
Style = 12-8 Ballad
Tempo = 86



After loading the XF MIDI file and selecting the appropriate Style you have to press these buttons in the following order:

1.
Under STYLE CONTROL
Press the SYNC/START button

2.
Under SONG CONTROL
While holding down the STOP button, press the PLAY/PAUSE button


3.
Under STYLE CONTROL
Press the START/STOP button


The selected Style will begin to play in sync with the melody line.
The Chords will change automatically as they appear in the display window.


This feature of following Chords in an XF MIDI file is built into every Yamaha Arranger Keyboard.
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 05:10 PM

Hi Diki,


Yes, it is certainly more natural to use the Chord Sequencer. As you said, this offers greater flexibility and spontaneity.

I would assume a professional player would prefer to exploit the advantages of a Chord Looper.

The auto tracking of Chords embedded within an XF MIDI file is more of a learning aid for beginners to help them learn a new song.

Now they don’t have to worry about playing the correct chords while trying to master the melody line.

Without the auto Chord Tracking, the beginner will be stuck on hearing their favorite Style play on the C Major chord which may sound rather discordant!
Posted by: DAN.2000

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 05:58 PM

This is incredible ! How do you know this feature?

With the vArranger software, I can select a style, enter few chords in a grid, and then export the song to midifile.

vArranger write XF chords too in the exported midifile

Can you try if my test midifile allows the following chords feature too?
Posted by: DAN.2000

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 05:59 PM

It seems we can't upload files here
Posted by: DAN.2000

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 06:00 PM

Here is it : Test.mid
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 06:47 PM

Hi Dan,

SUCCESS!!!

Your Test.mid file played back perfectly on the Yamaha Clavinova CVP-609.

I picked the 8 Beat Adria Style and your XF MIDI file changed the following 9 Chords:


Bb
Fm7
Ab7
C#Maj7
Ebm
F7
Bbm
A#


Your arrangement sounds very professional.

I see that you have the following Style Markers:


Main A
Fill In AA
Main B
Ending A


Thanks a million for sharing this.

I learned about this special capability of Yamaha Arrangers to track XF META Chord Events from the Yamaha XF Format Specs.
Please see Page 19 about Style Messages.


http://www.jososoft.dk/yamaha/pdf/xfspec.pdf


It appears Yamaha added these XF extensions to their original XG Format to allow Styles, Chords and Lyrics information to be included in a MIDI file.

This was to allow all Yamaha Arrangers to display the Chords and Lyrics and have the Chords change automatically.

The XGWorks MIDI Sequencer made it very easy to enter your Style Information with precise control over where you wanted to have the Main A, B, C, D sections and Fill-Ins including Intros and Endings.

This was the best MIDI Sequencer from Yamaha specifically targeted to help Yamaha Arranger Players sequence complete songs using the built-in styles of your instrument.

Yamaha stopped supporting this wonderful program once they took over Steinberg and began promoting Cubase.

I have doctored my 8 Test MIDI files to play back using the Piano Voice and the correct Tempo.

http://www.davidapps.net/testfiles.zip
Posted by: DAN.2000

Re: Converting Sheet Music to a Yamaha XF MIDI File - 03/31/21 07:27 PM

Thanks for testing, this is great. One of my users will be happy
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 04/01/21 10:51 PM

I believe we may have a Universal Solution thanks to MuseScore.

MuseScore can read the META Chord Events in any XF MIDI file and Export that out to a Standard MIDI file.

What is so special about this Standard MIDI file is that MuseScore automatically translates the META Chord Events into actual Notes of the Chord and inserts them into a separate MIDI Channel.

This means if you set your Arranger Keyboard to track for Chords on this MIDI Channel, the Chords will change automatically when you select any Style.

This should work on all Arranger Keyboards from Korg, Roland, Ketron, Casio, Wersi and other vendors. You are no longer limited to Yamaha Arranger Keyboards for auto chord tracking.

To run this test on your favorite Arranger, download this ZIP file from:


http://www.davidapps.net/testfiles.zip


The MuseScore folder has 8 Standard MIDI files:

  • Clocks.mid
  • How Deep Is Your Love.mid
  • I Don’t Know How to Love Him.mid
  • Mamma Mia.mid
  • Rivers Of Babylon.mid
  • Spanish Eyes.mid
  • The Music Of The Night.mid
  • What a Wonderful World.mid


The Melody Track is on MIDI Channel 1

The Chord Track is on MIDI Channel 2

If you set you Arranger Keyboard to track for Chords on MIDI Channel 2, you would most likely hear the Chords change as you play back any Style.

You can download MuseScore 3.6.2 for FREE from:


https://musescore.org/en


If this test is successful then we have found the cheapest way to create MIDI files that will automatically change your Chords during Style Play.

1.
If your source is a Music XML file, just open the file in MuseScore and export to a Standard MIDI file.

2.
If your source is an XF MIDI file, export that to a Standard MIDI file.

3.
You can manually write the melody line in MuseScore, add the Chord symbols and export that to a Standard MIDI file.

4.
You can use the NoteReader Premium App ($9.99) to take a picture of your printed Score Sheet, download the MIDI file, open that file in MuseScore, add the Chord symbols and export to a Standard MIDI file.


In each case, MuseScore will insert the notes of the Chords onto a separate MIDI Channel.
Posted by: Diki

Re: Converting Sheet Music to a Yamaha XF MIDI File - 04/02/21 07:41 AM

I wonder if there’s a market for software that could convert the chord metadata in XF files into the file format that drives the chord sequencers in Korg’s and Yamaha’s? I know that Korg can save the chord sequences, I’m not 100% sure if Yamaha can store them separately (anyone?) but some way of editing and saving in these formats might be of great use to owners of those arrangers...

Also, what about conversion from BIAB format files? There’s a huge and public resource of BIAB files (for instance, I’ve had the entire RealBook series in BIAB format for decades) that all contain the chords for thousands of songs. Surely some enterprising programmer could find a way to convert these to Yamaha and Korg’s chord sequencer file format?

With any luck, the designers of these chord sequencer formats didn’t stray too far from SMF norms (Yamaha at least stayed close to SMF for even its style format, you can simply change a Yamaha style’s suffix from STY to MID and most DAW’s will read it). Now that the trend is to chord sequencers with multiple sequences all linked (so you can restructure the song at will) it would be wonderful if you could import an XF file or a BIAB file and designate sections (like verse, chorus, solos, intros and endings etc) to export as different files (like I said, I’m not sure how Yamaha link up the different sections in their file format). As long as the format isn’t too proprietary, I doubt it’s an impossible task...

Each new innovation in arranger tech (or old innovation! The chord sequencer has been around for decades) seems to bring capabilities that allow us to leverage older resources. I hope designers of these new features take into account the vast existing resources for other related features, and make translation of old to new possible...
Posted by: Tapas

Re: Converting Sheet Music to a Yamaha XF MIDI File - 04/02/21 10:44 AM

Hi Diki,


I completely agree with your thoughts and observations.

Indeed, the various vendors of Auto-Accompaniment devices and programs would do us a big favor if they could get together and come up with a unifying standard or some exchange format so that Chord Data can be freely transported across different entities.

The Music Notation Programs have settled on the Music XML format to make their data portable across different programs. This was an excellent move.

We need something similar to move Chord data between Yamaha, Korg, Roland, Ketron, Wersi and of course Band-in-a-Box which has grown a large following.

Yamaha took the initiative early in the game when they published the XF Format Specs way back in 1999.

This made it possible to embed Chords, Lyrics and Styles into a MIDI file.

I am studying how Yamaha implemented the Chord META Events in an XF MIDI file.

It appears to be very straightforward and logical.

For example, this is how the following Chords are mapped to their Chord MetaData Values for C

MetaData________Chord
43 7B 01 31 00 7F 7F C
43 7B 01 31 01 7F 7F C6
43 7B 01 31 13 7F 7F C7
43 7B 01 31 07 7F 7F Caug
43 7B 01 31 08 7F 7F Cm
43 7B 01 31 09 7F 7F Cm6
43 7B 01 31 0A 7F 7F Cm7
43 7B 01 31 11 7F 7F Cdim
43 7B 01 31 12 7F 7F Cdim7
43 7B 01 31 20 7F 7F Csus4


This pattern keeps repeating itself for all the Keys.

For example, the only change is going from 31 to 32 for D


43 7B 01 32 00 7F 7F D
43 7B 01 32 01 7F 7F D6
43 7B 01 32 13 7F 7F D7
43 7B 01 32 07 7F 7F Daug
43 7B 01 32 08 7F 7F Dm
43 7B 01 32 09 7F 7F Dm6
43 7B 01 32 0A 7F 7F Dm7
43 7B 01 32 11 7F 7F Ddim
43 7B 01 32 12 7F 7F Ddim7
43 7B 01 32 20 7F 7F Dsus4


Here again, the only change is going from 32 to 33 for E


43 7B 01 33 00 7F 7F E
43 7B 01 33 01 7F 7F E6
43 7B 01 33 13 7F 7F E7
43 7B 01 33 07 7F 7F Eaug
43 7B 01 33 08 7F 7F Em
43 7B 01 33 09 7F 7F Em6
43 7B 01 33 0A 7F 7F Em7
43 7B 01 33 11 7F 7F Edim
43 7B 01 33 12 7F 7F Edim7
43 7B 01 33 20 7F 7F Esus4


Once again, the only change is going from 33 to 34 for F


43 7B 01 34 00 7F 7F F
43 7B 01 34 01 7F 7F F6
43 7B 01 34 13 7F 7F F7
43 7B 01 34 07 7F 7F Faug
43 7B 01 34 08 7F 7F Fm
43 7B 01 34 09 7F 7F Fm6
43 7B 01 34 0A 7F 7F Fm7
43 7B 01 34 11 7F 7F Fdim
43 7B 01 34 12 7F 7F Fdim7
43 7B 01 34 20 7F 7F Fsus4


It is easy to guess the MetaData value for any Chord in any Key once you understand this pattern.

It should be a very easy task for any developer to include XF capability given the simplicity of the mapping scheme.

The XF Format should be embraced by all vendors like the Music XML format, unless there is a licensing issue.
Posted by: TedS

Re: Converting Sheet Music to a Yamaha XF MIDI File - 04/02/21 03:00 PM

Did anyone answer Diki's question, as to whether it's possible to export and store Yamaha chord sequencer data? You can do this with Korg and Roland (although sadly IIRC, Roland's doesn't transpose, which greatly limits its usefulness.) A good question that merits an answer!
Posted by: Diki

Re: Converting Sheet Music to a Yamaha XF MIDI File - 04/02/21 06:02 PM

I think the difference between Yamaha’s XF sysex system and Roland is that Roland simply stores the actual notes. This way, you can still change from root chord to inversion in the style engine.

Looking at that XF metadata, all I see is root chords. Am I missing something?

One of my favorite tricks is to lay down the chords the first time using all inversions, but with root recognition on. So it all sounds straightforward. But you can turn on bass inversion recognition for one of the heads (if a jazz tune, for instance) you’ll get an alternate bass line and chords for some variety. You can even use a foot switch to change from root to inversion on the fly for even more variety...

Yes, Roland not updating the OS to have the CS follow local transposition was a right PITA, I love to shove the last chorus up a half step for a lift (as many songs do) but given they dropped the CS altogether for the VA and G/E series, I suppose it’s better than nothing... 🙄

I consider a CS a must have if you play in arranger mode at all, so Korg and Yamaha pinching the feature (and improving it) is fine with me! If my Roland goes tits up and I can’t find a replacement, at least I’m covered there. Now if only the file format had a translator!
Posted by: TedS

Re: Converting Sheet Music to a Yamaha XF MIDI File - 04/02/21 06:32 PM

Another, more "standard" approach to all this, is to record a block chord progression (in any desired inversion and rhythm) into a MIDI file. Then connect an outboard MIDI file player to drive the NTA, or even the "lower" voice. Bass inversion "off" or "on" for variety in real time. If the file player has "mark and jump" functionality, this would seem to be a pretty flexible setup. It's not exactly spontaneous. But ANY use of a C.S. means you're no longer 100% real-time. If you know that a song is part of your set, having a stored MIDI of the chord progression is no big deal. Great for practicing, and since many songs use similar chord progressions, it could be fun for jamming with a variety of styles and tempos.

To address your question about Yamaha's XF implementation... I don't think the list posted above by Tapas is complete. I'm pretty sure if you create a step recording using the CHD tab in Song Creator, you can specify slash chords. If you export from Song Creator before you "expand" it into a full MIDI, the sys-ex for the XF chords will be at the end of the file. Maybe someone here can take a look and see which byte specifies the bass note! Good discussion!!