Music: Practice & Theory Stack Exchange is a question and answer site for musicians, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been learning voice leading with a mixture of on-line classes and some reading. Receiving feedback for exercises can be troublesome sometimes.

I was thinking if there is a way to cut that dependency, so I'm looking for a program that can do voice leading analysis, like looking for parallel octaves, octaves by contrary motion, leading tone duplication, hidden fifths, etc.

So far I've only found Harmony Builder, but it uses its own format, so it seems that it can't analyze external files. That's why I'm looking for a program that can handle MIDI or MusicXML formats, since those are supported by most notation software. I'm currently using MuseScore, so it would be also helpful that the program supports MuseScore format, but nor required.

Is there a program that can do voice leading check and supports any of those formats?

share|improve this question
Just a thought: The best tool for finding voice-leading errors is your ear. The Musescore plugin finds serious errors in Josquin dePrez's "Dominus Regnavit" that do not sound wrong at all. If it doesn't sound wrong it's not an error. Apologies if I'm off topic. --Hal – Hal Rodgers Mar 12 '14 at 2:18
up vote 4 down vote accepted

I recently created while attending the "Write Like Mozart" course on Coursera. I'm still planning to add more rules to it, such as hidden fifths/octaves, but it covers several basic rules already like parallel octaves, vocal range, etc. Perhaps you will find it useful.

share|improve this answer

The Musescore "Check harmony rules" plugin is made for this purpose.

share|improve this answer
Is it just me or that plugin is very buggy and throws a lot of false positives? It's spamming "MORE THAN ONE NOTE" messages everywhere, and calling for exposed or consecutive fifths where there are not, in a simple 4 voice file. – Archundia Jan 17 '14 at 21:39

If you're a little bit of a programmer, my music21 Python toolkit ( has been used to check for voiceleading errors, through its TheoryAnalysis package, but there isn't a one-line call or GUI to do such things without a bit of programming. As far as I know no other software supports MIDI and MusicXML that does such things.

share|improve this answer
That sounds promising! :D Is voice leading analysis built in into the TheoryAnalysis package, or do I need to program my own implementation? If I need to program my own implementation, in which way the TheoryAnalysis package help me do it? Where can I find the TheoryAnalysis package documentation? – Archundia Jan 17 '14 at 20:05
Also, do you know where can I find the implementations that check for voice leading errors that used your library? – Archundia Jan 17 '14 at 20:07

Just to add to the list of software that can do this, Harmony Assistant also has a script that will check for parallel octaves and fifths. I know it supports importing MIDI (and probably MusicXML).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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