Support XF MIDI for MIDI import (chord symbols, rehearsal mark)

• Nov 19, 2014 - 12:23
Reported version
S5 - Suggestion

Hi there,
it would be great it MuseScore could also recognize the chords in an imported midifile and is able to show it in score like the lyrics.
Please see attachment!
Much thanks! :-)

Attachment Size
Chord+Lyric-Test-Midi.mid 2.01 KB


You mean chord symbols right? Why do you believe the MIDI file contains chord symbols? Which software has been used to create the MIDI file?

Yes I mean the chord symbols.

I produce midifiles with Yamaha keyboards and use them as well from other software producers.

The here uploaded midifile was quickly recorded by keyboard, and in this case I set the chords by sequencer programme (by hand) cause I did't record the chord accompaniment with the rhythm.

Sibelius has no problems to show chords and lyrics in the score after midi file import.

But both events (lyrics and chords) have to be written/recorded in the midi files. This is not automatically included in each one.

Looks like Sibelius knows something about Yamaha Keyboards MIDI file format that we don't know :) The file contains a lot of information marked as "sequencer specific".

Title Midifile import with chord recognition Support XF MIDI for MIDI import (chord symbols, rehearsal mark)

Ok. Cool stuff. This file is not a general MIDI file but apparently use a proprietary format from Yamaha named XF MIDI. It's used by Yamaha's Performance Assistant Technology (PAT)...

Attached the XF midi spec, archived from

Lots of songs to test here

On top of chord symbols, there are some support for lyrics, including char encoding, rehearsal marks, etc..

Attachment Size 879.33 KB

Hi folks,

and now - after one week without further answer:

Will there be someone who will programme such a XF Midi Import?

There are worldwide many many musicians that play Yamaha Keyboards and would be really happy to have such a freeware score programme.

That would be really great! :-)

Kind regards, Marion

Sorry, I didn't want to be too pushy!

Simply wanted to know if there is a little chance at all that someone will do it... ;-)

Kind regards, Marion

Hello Trig-ger,

what a surprise that you really implemented it!

But... am I blind - or where can I test it?
Is there a new programme version now?

Sorry, my English is perhaps not so good to understand all what is written on your sites.

Kind regards, Marion

Hi folks,

that's great now! Thank you very very much for developement!

I just would have one more question.

In XF midifiles the lyrics and chords are usually stored in midi track 1 - so far as i know. ;-).

My midi files are built that I use track 1 for my life played piano right hand, track two for live played left hand (both are playback tracks to listen to the live played music on keyboard).

And track 6 and 7 are responsible for the optimal score view, these notes are properly set by hand and the tracks usually muted on keyboard.

If I open such a file now in MuseScore, I do only need track 6 and 7 for the optimal notation.
I can select them properly in the midi import pult.

But now I try to find a way to copy the lyrics from the 1. track into the 6. or 7. track, cause I don't need track 1 for the score.

Unfortunately I am not experienced enough with your programme to find a way how to manage this.
Copy/paste did not work - or have I made something wrong?

It would be great to have a function that allows to copy the lyrics from one track to another.

Hope you understand what I mean!

Thank you very much!

Kind regards, Marion

P.S. - Edit:
Ok, Copy/paste works, I've checked that I have to mark a note before pasting.
But although it would be fine if the whole lyrics could be copied from one track to another.
Is this already possible somehow?

You can assign lyrics to (any) specific track via the drop-down list in the "Lyrics" column on the MIDI import panel (see small triangular arrow near the right side of the cell). To remove lyric from track select empty item in the list.
The destination track is only required to contain notes on word time positions, otherwise some words may be missing.
And, as you probably know, uncheck 'Import' checkboxes in the tracks you don't want to show in the score.
Hope it will help!

You can copy lyrics by selecting them only (right click one, Select / All similar elements), then Ctrl+C, then click the destination and Ctrl+V to paste. MuseScore will do its best to match syllables. You can also use the Selection Filter (F6) to control what gets copied and what does not, although I think in this case, the method I described is the way to go.

There are no rehearsal marks currently, yes. But I didn't see example MIDI files, when it is really helpful. At least, compared to chord names. Of course, it's open for discussion.

Hi trig-ger, that's great, I found it!

Will this function one day also be part of the official version?

It is a bit complicating for the people I know with your nightly version, the 7z Zip file and the further installation.

So it would be great to find it there as well.

Kind regards, Marion

Hi. Chord names functionality was merged into 'master' branch of the MuseScore repository, so very likely it will be in the final 2.0 version.

Hi trig-ger,

I am still testing and found out that new notes (that are set after opening the midi file) are deleted in this bar when you add the lyrics via Midi import pult.

These notes should be kept and not deleted - and the lyrics should only be added if there are already notes or breaks in this bar.

But perhaps there is already a solution in another programme version?
Cause this has nothing to do with the XF chords.

Here I am really happy. :-)

Kind regards, Marion

If I understand the issue correctly, you imported a MIDI file, enter some notes manually and then change something in the MIDI import panel and apply it. Then it asks you to save changes, and after that reloads the score without your new notes. That's the only case when notes may completely disappear. If it's the case, then you should apply all MIDI import operations before typing something in that score.

The problem is that you have no chance to show the (old) lyrics in bars where first no notes were written in.

Cause lyrics coming from a midifile are not shown in a bar without notes.
So you write notes in - and if you add the lyrics to that track the new notes are deleted and the lyrics again can't be shown.

The solution could be that lyrics are also shown in bars without notes. In this case there would be the need of added breaks in the lenght of the lyrics.

... or the final help is to set lyrics and notes by hand - if it works together with the old lyrics I've to check.

It does not. Lyrics need to be attached to notes. Internally, it is possible to attach them to individual rests, although I don't know that there is a supported way to make that happen. But still, it needs to be one rest per syllable - you can't have lyrics in any empty measure. There needs to be explicit indication of exactly which beat each syllable falls on, and in the case of a syllable that extends for several notes (melisma), there needs to be an explicit indication of the *length* (in beats) of the melisma.

So I guess I'm still not quite undersdanding the problem. This format has some way of entering lyrics in a way that does *not* make it clear which notes correspond to which lyrics? If so I don't understand what can be done about it, except to try to guess which notes go with which lyric. I guess that must be what is happening> But I don't what is meant by notes being deleted if you try to add lyrics - that should never happen. In fact it's the standard way that lyrics are entered in MuseScore - first you enter notes, then you add lyrics. Adding lyrics doens't remove notes; if it did, lyric entry would be impossible. And as I mentioned before, if you have lyrics in one staff and you want to copy them to another, you can do that, and this does not replace the notes in the destination staff either.

So I'm not understanding something.

MarionH, apparently the quick answer is to import MIDI, apply all necessary MIDI settings (to show lyrics, etc.), input notes by hand and then manually copy lyrics, without updating MIDI anymore on that score.

@ Marc:
Ok, let's give you an idea what I mean.

Just imagine you have imported a midifile - with chords and lyrics on midi track one.

The first two tracks you will find the live played piano, track one is right hand, track two is left hand.
These two tracks are responsible to hear a live played piano on the keyboard.

Track 3 and 4 are manually set in a sequencer programme.
They are responsible that a optimal score is shown in the keyboard for right and left hand.
Cause this they are muted.

But there's another track, let's say, track 5.
Here you find a 16 bars lasting string intro with changing chords.
During this intro bars there are different instructions written in the lyrics on track 1.

And now you want to mix up the chords, lyrics, AND the notes of the intro in the two score tracks 3 and 4:
The intro and the chords should added to track 3 and the lyrics to track4.
This, because you want to print all with your printer.

Ok, you first open the midifile and copy the intro notes from track 5 to track 3.
If you want to lead the lyrics now from track 1 to track 3, the intro notes you've just pasted will be deleted!

And now?

;-) Kind regards, Marion

P.S - @ trig-ger: Surely all is possible by hand. But perhaps there is also another way? ;-)

It would be easier for me to help if you posted the actual score you are having problems with. All I can do for now is again point you to my previous response: you *can* copy and paste without overwriting the notes. yu jsut have to follow the instructions I gave previously: first select the lyrics only (not the notes,), then copy, then the first ntoe you want to paste those lyrics to, then paste. It will copy the lyrics but leave the notes intact. Again, if you need further help, please post the actual score you are having trouble with. But at this point, it's really better suited for the Support forum, which is specifically intended for helping people figure out how tio do things.

Hi Marc,

that you can copy and paste by hand is clear for me.

But I struggled with the function that sets automatically the lyrics in another track and deletes new notes.
I attached a little testfile.

Track 1 Right hand live piano - begins to play in bar 6 (Verse)
Track 2 Left hand live piano - begins to play in bar 6 (Verse)
Track 3 Right hand piano for score - begins to play in bar 6 (Verse)
Track 4 Left hand piano for score - begins to play in bar 6 (Verse)
Track 5 String Intro - begins to play in bar 2

Lyrics are set in intro AND verse.

The string intro shall be copied to track 3, beginning in the second bar. No problem with copy/paste.
But now please try to root the lyrics as well to this track.
The intro will be deleted!

In my opinion this is nothing for the support forum.

Kind regards, Heidrun

Attachment Size
5-TrackTestsong.MID 1.57 KB