Harmonia is a music theory application that combines notation, automatic analysis and grading, word processing, and multimedia playback. The goal of Harmonia is to replace paper-based music theory — textbooks, workbooks, handouts, homework and tests — with enriched PDF documents that allow music content to be created, edited, searched, annotated, automatically analyzed and automatically graded, all within an elegant, user-friendly interface.
To learn more about our project and goals you can view an introductory presentation.
E-mail email@example.com for questions and comments.
Harmonia is a brand-new application. In the coming weeks we will be posting more materials that explain how to use the app and its automated theory teaching features (new tutorials will appear automatically in the Help menu when you start the app.) Harmonia will be used to teach two theory courses here in Fall '13; if you are interested in automating your own materials or have materials and scores that you are willing to share please feel free to contact us. Additionally, we are looking for individuals who would be willing translate Harmonia's English menu text into other languages; we can provide a simple a text file to facilitate this process if you are interested in helping (it would require an hour or two of work).
The current release (1.0.0) contains the main functionality of Harmonia. We anticipate a 1.1 release in May, with important updates along the way. The next update (March) will address the following issues:
- Adding notation spanners such as beams, tuples, ties and slurs.
- More score editing features, including operations on measures and multi-notes selection.
- Mixed automated homeworks that combine analysis and compositional problems in a single assignment.
- Controls for customizing analysis behavior.
We are interested in working with other theory teachers, incorporating different homework designs and grading strategies at use in other schools. We would also like build a database of homework templates, excerpts and complete pieces that teachers could use in their own courses.
The complete Bach Chorales in Harmonia originate from the excellent JSBChorales.net, curated by Margaret Greentree and released "free" with no formal license. We edited this score data by (1) adding fermatas to all parts at fermata points according to the Remienschneider edition (2) replacing implicit (written-out) repeated sections with repeat bars, and (3) saving short score and full score versions.
Harmonia is a large project containing a number of different libraries and some 100,000 lines of C++ code. We release the majority of the code — core features of the application including its music representation, notation library and automatic music analysis engine — as open-source libraries. Please consult the licensing and README files in the downloads for more information.
- Belle, Bonne, Sage, C++ vector-graphics library for music notation.
- MENC, C++ library for efficient symbolic music encoding.
- MICA, C++ library for encoding musical concepts.
- Music Theory Workbench (MTW), C++ library for tonal music analysis.
- prim.cc, C++ library of primitives (strings, arrays, rationals, etc).