MarkGotham / When-in-Rome

meta-corpus of and code library for the functional harmonic analysis of music
58 stars 12 forks source link

Fix all `54`s and discussion wrt inconsistencies e.g., suspensions #56

Closed MarkGotham closed 1 year ago

MarkGotham commented 1 year ago

There are several options (including in music21-compatible syntaxes) for expressing figures like suspensions.

WiR is currently not entirely consistent. That's hardly surprising as it's grown gradually over a long time, with many contributors, and even music21 has changed a lot during that time. In any case, the analyses would be visually clearer if there was consistency across the meta-corpus, and this should be possible without change / loss of information.

Suggestion:

E.g.,

Suspensions provide a slightly more complex case in point. Suggestion:

TODO:

Thanks as always for any input / suggestions / PRs.

MarkGotham commented 1 year ago

P.s.

malcolmsailor commented 1 year ago

My two cents:

To me, sus4 is more jazz/pop notation. 54 is the natural choice for a classically oriented corpus (which certainly describes this corpus at least as it presently stands). In any case it appears that music21 doesn't really parse sus4 in the way we would want at the moment.

As for [add4][no3], it gets printed out from the DCML conversions because it's part of a general solution for handling the DCML notation of added and substituted tones; it's not the prettiest, but (thanks to a good deal of testing and catching edge cases), it works reliably.

In any case, are you sure that removing these inconsistencies should be top priority, provided that music21 can parse everything that's in the corpus correctly? We run the risk of overcorrection (making things "the same" that aren't really the same). And there may be other issues that require more attention, e.g.,

used extensively in the corpus (I54).

I believe these I54's are holdovers from when music21 incorrectly parsed 54 chords, and need generally to be corrected to V54. This has been on my TODO list for quite a while.

MarkGotham commented 1 year ago

Thanks @malcolmsailor. All quite true.

And I think it best for this meta-corpus to stay 'classical', at least in the sense of limiting the remit to born-functional analysis (i.e., no deduction of Roman Numerals from key and chord). I am happy to expand on why, and welcome views as always.

Back to the immediate task at hand: is 54 as reliable as the long form in your experience?

MarkGotham commented 1 year ago

An example: https://github.com/MarkGotham/When-in-Rome/commit/80d9d309f89eac0062e2876be325b99b7f14fa64

MarkGotham commented 1 year ago

Done for the existing 54 cases https://github.com/MarkGotham/When-in-Rome/commit/02a60bcb2f8c95d136c2384e9f2aa5a4748be428

@malcolmsailor and @jacobtylerwalls, do you think 54 is solid enough to replace [addX][noY]. If so, we can expand the scope.

malcolmsailor commented 1 year ago

As far as I know 54 and [add4][no3] are equivalent. But there are many other possibilities for added/omitted tones in the DCML syntax ([addX][noY], as you put it), which don't necessarily have clear figured bass renditions. Getting these to parse properly was one of the delicate parts of implementing the DCML -> music21 conversion.

You can do a find/replace for [add4][no3] if you like, but keep in mind you'll have to redo it every time we update the DCML conversions.

MarkGotham commented 1 year ago

Hmm. Thanks. Yes, I think this is still worth pursuing, even if only for a few, identifiably robust cases.

We have a script for running the DCML converter, so no problem making sure this (replace [add4][no3] with 54 routine) happens each time, as long as it's included there, right?

Then what's the full list of replacements we'd like to check are robust and then see implemented:

p.s. Probably not worth trying to implement this at the level of the converter itself? @mscuthbert will never allow it ;)

jacobtylerwalls commented 1 year ago

No concerns about 54 if it's working/tested.

MarkGotham commented 1 year ago

No concerns about 54 if it's working/tested.

Great, thanks @jacobtylerwalls . What about other numbers in that format? Same confidence? ;)

MarkGotham commented 1 year ago

Had another look at this and am pretty such that rntxt syntax requires the full verbosity in all but the simplest cases.

Consider even a relatively simple case of the 754 in first inversion: V65[no3][add4]. What's the shorthand? And even if there's a clear answer to that, do people writing (or even reading) an rntxt analysis know it?

So if we can't aim to reduce all the suspensions the question is whether it's worth a few select mappings. 54 would be the obvious candidate.

No action for now. To consider for another time.

The parts of this discussion we should still are as follows:

  1. https://github.com/MarkGotham/When-in-Rome/issues/75. Low priority.
  2. https://github.com/MarkGotham/When-in-Rome/issues/76. Medium priority.
  3. Add some clarifying "how to" notes on the syntax.

Unclear exactly where to do 3 -- perhaps in music21? Something like "Some additional syntax hints":