This tool writes harmonic progressions in four voices (SATB) from Roman numerals as music students are taught to do in harmony courses. It is an educational tool for visualizing the many ways chord progressions can be expressed in music. The results are free of a number of conventional errors such as parallel perfect intervals, voice-crossing, and poor leading-tone treatment.
DISCLAIMER: There is plenty of variation in part-writing rules. Accordingly, there is no guarantee that the productions of this tool are error-free from everyone's perspective, nor that they include all settings which might be considered acceptable. No claim is made as to the quality of melodic writing—though it is hoped that the user will find appealing results among the possibilities!
Read more about the part-writing guidelines followed by the program.
The musical notation seen on this page is created with the music notation engraving library Verovio. Music to be typeset is encoded as a MEI string, which is then passed to the Verovio JavaScript toolkit. No modifications have been made to the toolkit. Other versions of the toolkit may be substituted by changing the link in the main HTML file. Verovio is licensed under the LGPL v3; see also the GPL v3. MEI is licensed under the ECL-2.0.
This program can produce output in MusicXML format. MusicXML 3.1 is licensed under the W3C Community Final Specification Agreement.
This program also exports output readable by the program LilyPond. LilyPond is licensed under the GPL v3.
The piano samples used in playback are adapted from the FreePats Upright Piano KW soundbank. These samples are licensed under the Creative Commons CC0 1.0
Copyright ©2018-2024 by David Nalesnik.
Roman-numeral entry tool.
Show multiple settingsis selected. Finally, click Go
Get more settingsbuttons will let you page through them.
Change openingbuttons to see them.
M: IVM7, IM65. Without the
M,a Mm7 (dominant seventh) chord is assumed: IV7 will always refer to a Mm7 chord.
See all available realizations of your progression.
Options.
Options.
See simple spellings of the chords in your progression.
Create your own setting by choosing from alternatives.
Build your own setting,followed by Go You will see a single chord representing a possible voicing for the first harmony.
show selectedunder
Options.
Playmenu. Available settings are tempo and the volume of individual voices.
Change default part-writing guidelines, filter the results, and control presentation.
keyboard stylewill output results with three-note chords in the right hand against single notes in the left. Note: tessitura settings will be ignored.
outliersat the opening, select
First chord within tessitura.Set this with or without
Comfortable average range (tessitura).
smoothestto the least smooth. This may be turned off.
Show settings with the least movementto discover ways to write your progression in the most economical way possible. Settings are shown from all available openings. Finding the
shortest distance between two pointshas the effect of flattening lines, so don't look for melodically interesting results here!
lead-sheetsymbol for the chord
Musical output can be saved as a simple text file in three formats.
This type of file can be opened as musical notation with a number of other music notation programs, allowing you to modify, play, and print the results.
The music notation in this application is created by feeding MEI output to the software library Verovio.
LilyPond is a powerful program with beautiful typography and a marvelous online community.
Including Roman numeral functionality allows you to add analysis symbols to the LilyPond output. Save it to the same directory as your LY file. Several lines will need to be uncommented in your LY file for the symbols to show. documentation for more information.
Different subsets of the available solutions may be saved to file.
Settings which correspond to visual display.
Use this with Options→Separate by initial voicing
to export all settings with the current opening.
Output the measures you have clicked on. They appear with a blue background in the visual display, but normally in the file output.
Output can easily overwhelm music notation software, so this option is only recommended for short progressions (perhaps no more than four chords long).