Skip to content

Commit

Permalink
Merge pull request music-encoding#1553 from rettinghaus/dev/inth
Browse files Browse the repository at this point in the history
schema: refine `data.INTERVAL.HARMONIC`
  • Loading branch information
musicEnfanthen authored Nov 22, 2024
2 parents 20c1a86 + b3e381e commit 1404440
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 12 deletions.
2 changes: 1 addition & 1 deletion source/docs/10-analysisharm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@
<egXML xmlns="http://www.tei-c.org/ns/Examples" rend="code" xml:space="preserve"><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../examples/harmony/harmony-sample261.txt" parse="text"/></egXML>
</figure>
</p>
<p>The preceding encoding possibilities provide the detailed information necessary to create playable chord annotations. For more generic uses, however, the encoding can be taken one step further; that is, it can be reduced to its minimum intervallic content by eliminating octave duplications and expressing all chord members, including the bass note, using intervals above the bass. Of course, the <att>inth</att> attribute for the bass note itself should be set to 0. For example:</p>
<p>The preceding encoding possibilities provide the detailed information necessary to create playable chord annotations. For more generic uses, however, the encoding can be taken one step further; that is, it can be reduced to its minimum intervallic content by eliminating octave duplications and expressing all chord members, including the bass note, using intervals above the bass. Of course, the <att>inth</att> attribute for the bass note itself should be set to P1. For example:</p>
<p>
<figure>
<head/>
Expand Down
8 changes: 4 additions & 4 deletions source/examples/harmony/harmony-sample261.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<chordDef xml:id="harmonychordA2">
<chordMember oct="2" pname="a"/>
<chordMember inth="7"/>
<chordMember inth="16"/>
<chordMember inth="19"/>
<chordMember inth="24"/>
<chordMember inth="P5"/>
<chordMember inth="M10"/>
<chordMember inth="P12"/>
<chordMember inth="P15"/>
</chordDef>
6 changes: 3 additions & 3 deletions source/examples/harmony/harmony-sample262.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<chordDef xml:id="harmonychordA3">
<chordMember inth="0"/>
<chordMember inth="4"/>
<chordMember inth="7"/>
<chordMember inth="P1"/>
<chordMember inth="M3"/>
<chordMember inth="P5"/>
</chordDef>
4 changes: 2 additions & 2 deletions source/modules/MEI.harmony.xml
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,8 @@
<p>The <att>string</att>, <att>fret</att>, and <att>fing</att> attributes are provided in
order to create displayable chord tablature grids. The <att>inth</att> (harmonic interval)
attribute may be used to facilitate automated performance of a chord. It gives the number of
1/2 steps above the bass. Of course, for the bass note itself, <att>inth</att> should be set
to <val>0</val>.</p>
diatonic steps above the bass. Of course, for the bass note itself, <att>inth</att> should be set
to <val>P1</val>.</p>
</remarks>
</elementSpec>
<elementSpec ident="chordTable" module="MEI.harmony">
Expand Down
16 changes: 14 additions & 2 deletions source/modules/MEI.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1668,14 +1668,26 @@
</content>
</macroSpec>-->
<macroSpec ident="data.INTERVAL.HARMONIC" module="MEI" type="dt">
<desc xml:lang="en">A token indicating diatonic interval quality and size.</desc>
<desc xml:lang="en">A token indicating diatonic interval quality and size in shorthand notation.</desc>
<content>
<rng:choice>
<rng:data type="token">
<rng:param name="pattern">[AdMmP][0-9]+</rng:param>
<rng:param name="pattern">[AdMmP][1-9][0-9]*</rng:param>
</rng:data>
</rng:choice>
</content>
<remarks xml:lang="en">
<p>
<list>
<head>Interval qualities:</head>
<item>A = augmented,</item>
<item>d = diminished,</item>
<item>M = major,</item>
<item>m = minor,</item>
<item>P = perfect</item>
</list>
</p>
</remarks>
</macroSpec>
<macroSpec ident="data.INTERVAL.MELODIC" module="MEI" type="dt">
<desc xml:lang="en">A token indicating direction of the interval but not its precise value, a diatonic
Expand Down

0 comments on commit 1404440

Please sign in to comment.