Analysis options of a modern GUI

Continuing the locked topic Roman Numeral Analysis in Chord Track

Further to harmonic analysis with roman numerals and inversion numbers, I propose pattern analysis for music students.

A majority of notation software users need visual aids to understand what is there and help flesh out possibilities for further development of their piece.

I dream of notation software that can show and teach music theory as it is being used from hand holding grade 1s who don’t know note names to a great like John Williams who needs visual reminders of what he was doing at certain points in a piece.

I’m proposing to start an exploration of the ways your software could help us.

With a graphic layer atop the music notation or a whole different presentation of the data, Dorico could display what is happening in a piece:
-which notes are from which scale ( ex: Major, Hungarian minor, Blues, etc,
-which note(s) introduce(s) the modulation,
-show ghosted notes that could introduce a modulation after selecting a desired destination note and/or scale or show all the possible scales you could proceed with.

The layer could have descriptive text bubbles with arrows pointing to existing or proposed notes ghosting the rest of the page not being analyzed at the time. Or zoom in to the conventional notation to present extra information between notes.

More advanced users can turn off certain options in the Preferences. Or, at first run, the software can ask the user what they know and grow with individual users from then on ( with “do not show me this” check boxes). If the user forgets, they can restore certain options in their profile.

I’m learning music theory. I’m halfway through Revisiting Music Theory by Alfred Blatter after attempting Schoenberg’s Theory of Harmony, and Harmony and Voice Leading by Aldwell and Schachter. Blatter is clear, without wondering: “When will I get to what need to know?”

As a former programmer, I had started writing a Java desktop application to lock in the overwhelming amount of theory I was learning to help me analyze notation graphically. After the Model-View-Controller skeleton, I completed the scaling of objects and dragging of note’s vertical placement in/on the score lines/ledger lines. My wife stopped supporting that project after two years ( which was crazy project to do alone).

I got a university professor excited about my work, he said he needed such up-to-date tools to help his students.

Taken from the Model-View Controller design pattern ( data - GUI - glue for non-programmers ), if you keep your GUI open to adding other layers on top or adding totally new presentations, you guys could revolutionize music education. Your code base can leapfrog the competition in flexibility, going from being “slightly better at doing the same thing as them” to being the new killer app of this age ( the Creative age where everyone want to be a creative genius without spending big $ on a formal education ). You add many potential buyers if you include the option to educate us novices who are the majority.

You can also create a plugin API to access the said layers and presentations and give access to all object in the Model ( data). Let others program the education plugin.

Very exciting times for programmers! Right in this forum, the start of something big! I can’t believe I gave away all these ideas for free :wink:


Thanks for these suggestions, Alex. I hope that as Dorico matures we will be able to accommodate assistive tools like the ones you describe here. I’m afraid there won’t be anything like this in the first version, and possibly not for some time after that, as we have to build up Dorico’s functionality across the core areas of music notation, so that the program can be used to create scores for the types of music that our users want to write. However, once the core is fundamentally sound, we will be able to devote some time to both adding these kinds of features ourselves, and opening up the Lua scripting API to allow others to write them, too.

Awesome, thanks