humdrum-tools / verovio-humdrum-viewer

Verovio Humdrum Viewer
http://verovio.humdrum.org
37 stars 9 forks source link

chord symbols: dominant #85

Closed derkveen closed 6 years ago

derkveen commented 6 years ago

In the VHV a dominant 7 is displayed as Gdom. Even though this is - ofcourse - completely accurate, can I persuade you to have it displayed as G7? In my 25 years experience as a guitar teacher I can't remember having it ever seen symbolized by 'dom'. We used 'dom' when analysing classical music, but finale, sibelius etc all use G7 etc.

   <harmony default-y="40">
        <root>
          <root-step>G</root-step>
        </root>
        <kind halign="center" text="7">dominant</kind>
   </harmony>
craigsapp commented 6 years ago

Done. The conversion from MusicXML to Humdrum throws away the kind@text (which is 7 in your example), and I was conservative on interpreting the display of dominant. But in pop/jazz/rock repertories, a plain 7 after a pitch nearly always means a dominant seventh chord. In classical music "dominant" could be a major chord or a major-minor seventh chord (in this case dominant reverse to the root more than the chord quality). The translation from MusicXML remains "dominant", but the conversion to MEI converts dominant into 7:

screen shot 2018-05-16 at 11 57 12 pm

Also note that the transposition filter can now operate on **mxhm data. Here is how to transposed the music to C major:

!!!filter: transpose -k c
screen shot 2018-05-17 at 12 02 55 am

However, this is done by locating the *E: tag in the original data which means E major, and then calculating that the transposition of a major third down to get to C major. The MusicXML converter currently does not preserve the mode information of the key signature (because it is often wrong in MusicXML files). I could change that sometime, but I am currently being careful to not allow junk key designations in the converted data.

If you want to transpose in a more manual way to C major, you can calculate the transposition interval yourself and transpose by an interval:

!!!filter: transpose -t -M3

This means transpose down a major third, which has the same effect as transposing to C major in this case:

screen shot 2018-05-17 at 12 08 22 am

For -t option, minor intervals are prefixed with m, perfect intervals with P or p, diminished is d and augmented is a. Here is an example of transposing down an augmented unison, which means to transpose from E major to E-flat major in this example:

screen shot 2018-05-17 at 12 11 25 am

There is also base-40 transposition with the -b option. minor seconds are 5, and major seconds are 6. So a major third, which is two major thirds, is the value 12 (or -12 for down a major third):

screen shot 2018-05-17 at 12 12 16 am

Transposition down an augmented unison in base-40 is -1:

screen shot 2018-05-17 at 12 13 30 am