Interval direction only: u = up/higher, d = down/lower, s = same, n = neutral/unknown, sd = same or lower (but not higher), su = same or higher (but not lower) Interval direction, quality, and size: optional sign, optional quality indicator: A = augmented, d = diminished, M = major, m = minor, P = perfect integer value Interval in half steps: optional sign, decimal value "hs"
<macroSpec ident="data.INTERVAL.MELODIC" module="MEI" type="dt">
<desc>A token indicating direction of the interval but not its precise value, a diatonic
interval (with optional direction and quality), or a decimal value in half steps.
Decimal
values are permitted to accommodate micro-tuning.</desc>
<content>
<rng:choice>
<rng:data type="token">
<rng:param name="pattern">u|d|s|n|sd|su</rng:param>
</rng:data>
<rng:data type="token">
<rng:param name="pattern">(\+|\-)?([AdMmP])?[0-9]+</rng:param>
</rng:data>
<rng:data type="token">
<rng:param name="pattern">(\+|\-)?\d+(\.\d+)?hs</rng:param>
</rng:data>
</rng:choice>
</content>
<remarks>
<p part="N">
<list>
<head>Interval direction only:</head>
<item>u = up/higher,</item>
<item>d = down/lower,</item>
<item>s = same,</item>
<item>n = neutral/unknown,</item>
<item>sd = same or lower (but not higher),</item>
<item>su = same or higher (but not lower)</item>
</list>
</p>
<p part="N">
<list>
<head>Interval direction, quality, and size:</head>
<item>optional sign,</item>
<item>
<list>
<head>optional quality indicator:</head>
<item>A = augmented,</item>
<item>d = diminished,</item>
<item>M = major,</item>
<item>m = minor,</item>
<item>P = perfect</item>
</list>
</item>
<item>integer value</item>
</list>
</p>
<p part="N">
<list>
<head>Interval in half steps:</head>
<item>optional sign,</item>
<item>decimal value</item>
<item>"hs"</item>
</list>
</p>
</remarks>
</macroSpec>