# Stave Trainer

## Situation:

Your browser does not support the HTML canvas tag.

# Session

• Time Spent on Situation:
• Situations solved:
• Average time per situation:
• Time Remaining:

# Description

• Situation Format:
• You are on a string at a certain fret, the current note that is found here represents an interval with respect to some root tone which isn't specified (we will call this the current interval, [CI]). Additionally the is a string offset which specifies where a new note is found (on the same fret)
• Your goal is to determine what this new notes interval is with respect to the unspecified root.
• S:[L4̚,9̚, 2̚, 7̚, 11̚, H4̚], CI: [0, ... , 12], SO: [+,-][-5, ..., +5]
• Sample Situation:
• S: H4̚, CI: 3, SO: -3

## Shortcuts with proof

• If SO = +-3 then if the string is L4̚ or 7̚ the interval difference is +-3, otherwise it is +-2
• We observe the contiguous subsets of 5 5 5 4 5, which are 5 5 5, 5 5 4, 5 4 5. The only time you get 5 5 5 is if the string is L4̚ with SO: 3 or 7̚ with SO: -3, otherwise you will have two 5's and one 4' so your sum is 14 which is the same as 2.
• If SO = +-4 then the interval change must be +-7
• Proof: By enumeration the only contiguous subsets of 5 5 5 4 5 are 5 5 5 4 and 5 5 4 5, both contain three 5's and one 4, so the sum of these subsets is 19 which is the same as 7 mod 12.
• If SO = +-5 then the interval stays the same
• Proof: If SO = +-5, then the string is either low E or high E (inspect the code that generates string and string offset), therefore since these strings have the same notes in the same position and therefore intervals as well, then the interavl stays the same