Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed: Expand duration group prose #127

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 55 additions & 6 deletions v2/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2122,10 +2122,48 @@ <h5>Repeated measures</h5>
</aside>
</section>
<section>
<h5>Rhythmic sequence</h5>
<h5>Duration Group</h5>
<p>
When the same rhythmic sequence is repeated, the sequence of rhythmic values can be stated once
before the note names.
Multiple duration values MAY be declared together. These values form a Duration Group, and MAY be
used to indicate repeating rhythmic patterns for a sequence of notes.
</p>
<p>
The number and order of duration values MUST apply to an equivalent number in the sequence of notes.
If the number of notes in the sequence exceeds the number of duration values given in the Duration
Group, the duration values MUST repeat from the first.
</p>
<p>
A duration group MUST remain in effect until another duration value is declared. A new duration value
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A duration group MUST remain in effect until another duration value is declared. A new duration value
A duration group remains in effect until another duration value is declared. A new duration value

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you remove this requirement? Without it, there is no requirement that a duration value interrupts the repetition of the group.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above. I find this confusing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you suggest some other wording that keeps the normative requirement that a duration group remains in effect until cancelled?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something like `"A duration group indicates that the note names following it have a duration as given in the group and in that order. When the number of notes reaches the number of durations given in the group, the durations applies again from the beginning of the group. Any duration given in the notes following the duration group cancels it."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we still need the MUST in there to indicate the requirement.

MAY be given at any point in the note sequence, and will cancel the duration group.
</p>
<p>
Alterations to pitch, octave, beaming, and trills, and fermata MAY occur on successive repeats of the
note sequence. A rest MAY occur within the note sequence, with the appropriate duration value applied.
</p>
<p>
A tie MAY be indicated to join two or more notes in the note sequence. The duration of each member note
in the tie MUST follow the duration order in the Duration Group.
</p>
<p>
A measure rest MAY occur within the notes that follow. The notes following the measure rest MUST
continue the application of the durations in sequence.
</p>
<p>
Changes to Clef, Key Signature, and Time Signature MAY occur within the note sequence. The notes
following the change MUST continue the application of the durations in sequence.
</p>
<p>
A chord MAY be used within the notes that follow a Duration Group. All notes in the chord MUST have
a single value from the Duration Group.
Comment on lines +2156 to +2157
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The second sentence is not very clear. Chords have a single value anyway, haven't they?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's never explicitly stated.

Copy link
Contributor

@lpugin lpugin Jun 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking about this

</p>
<p>
A tuplet MUST NOT be used in a duration group declaration. Use of a tuplet in the note sequence MUST
cancel the Duration Group sequence.
</p>
<p>
Appogiatura and appogiatura groups MUST NOT occur within a Duration Group. Use of these ornaments
MUST cancel the Duration Group. Acciaccatura MAY occur with the notes of the group, but the
durations in the Duration Group MUST NOT apply to any note marked as acciaccatura.
</p>
<aside class="example" title="Encoding Rhythmic Sequences">
<table class="simple" style="width: 100%">
Expand All @@ -2149,10 +2187,21 @@ <h5>Rhythmic sequence</h5>
<code>'8.68{AB''C}{DEF}</code>
</td>
<td class="notation-result"></td>
<td>
instead of <code>{'8.A6B''8C}{8.D6E8F}</code> the code can be <code>'8.68{AB''C}{DEF}</code>.
The rhythmic sequence ends when a new rhythmic value appears.
<td></td>
</tr>
<tr class="notation-example">
<td class="notation-code">
<script type="application/json">
{
"clef": "F-4",
"timesig": "c",
"data": "4444,D,,ABF/GDGA/,D,,ABF/GDGA"
}
</script>
<code>4444,D,,ABF/GDGA/,D,,ABF/GDGA</code>
</td>
<td class="notation-result"></td>
<td></td>
</tr>
</tbody>
</table>
Expand Down
Loading