In an earlier question, I asked for a resource of playable files for 4-part dictations, and alephzero kindly pointed me towards 5000 generated chorales. These are great, but unfortunately, they only come as midi files. I would prefer to play them at the piano for my students. That means conversion. And with 5000 files, this currently seems impractical.

I have a Windows machine (though I can install a *nix emulator). I also have access to Finale 2012 and MuseScore. Is there any way to mass-convert midi files to any form of notated file? (XML is fine)

I am perfectly willing to accept such imperfections as a lack of a key-signature (though I suppose having no time signature would be more taxing while playing)

  • 1
    You can run musescore from the command line, so you should be able to write a Windows batch file that converts all the MIDIs into musescore files or PDFs without any user interaction. Cope's web page says "Some sequencers may not" load key signatures etc but Musescore should read them if they are defined in the MIDI files - but "pickup bars" are often cause problems because MIDI doesn't have a good way specify them. If you aren't familiar with writing batch files etc I'll turn this comment into an answer later (I'm currently using my sound card for something that's not interruptible!) – user19146 Sep 10 '17 at 19:51

It looks like you are going to have to do some work on each file yourself. The first problem is that the file names don't have the suffix .mid or .midi, so notation software doesn't recognize what they are.

Musescore does a reasonable job importing the MIDI, but the end result is four separate staves not a piano score. Maybe you can read that easily, or maybe not!

You get time signatures and key signatures, but the pickup bars aren't recognized so the bar lines are in the wrong place.

There is the usual problem with accidentals - MIDI only defines the pitch of the note, not whether it should be written as F# or a Gb, etc.

For example the first Cope chorale is in D major and modulates to B minor, but Musescore writes F naturals instead of E sharps.

To add the .mid extension to all Cope's files in a directory, open the Windows command prompt, change to the directory, and type

for %f in (bach-*) do ( rename %f %f.mid )

To convert them all to MuseScore files, you probably want to create a batch command file called say "convert.bat" containing

for %%f in (*.mid) do (
  "C:\Program Files (x86)\MuseScore 2\bin\MuseScore.exe" -o %%~nf.mscz %%~nf.mid

(Note, this is three lines, and the parentheses after "do" must be at the end of the first line otherwise it won't work!

Save this in the same directory as the MIDI, files and run it.

The MuseScore command line options are described in https://musescore.org/en/handbook-appendix/command-line-options.

If you want to create .xml files, just change the "mscz" to "xml".

There are many tutorials on the Web (of varying quality!) on writing Windows batch files.

This is what the first page of Cope looks like, cleaned up (but not in Musescore or Finale!)

enter image description here Good luck!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.