kb: add rock guitar pack; schema gains declared omit3 (power chords)
5 progressions (Mixolydian vamp, I-IV-V, minor descent, axis, Dorian riff cell) x 2 plays: open-chord Malcolm hits, second-guitar triads, Keith sus figure, power-chord chug, Police add9 arpeggios, thumb-over embellishments. omit3 is a declared omission like rootless - the pitch-class check still applies. Validator and build green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -72,7 +72,10 @@ function checkGuitarShape(where, chordStep, quality) {
|
||||
})
|
||||
for (const pc of sounded)
|
||||
if (!allowed.has(pc)) return err(where, `sounded pc ${pc} is not in ${quality} (+ext) — shape misspells the chord`)
|
||||
const required = iv.filter(i => i !== PERFECT_FIFTH && !(chordStep.rootless && i === 0))
|
||||
const required = iv.filter(i =>
|
||||
i !== PERFECT_FIFTH
|
||||
&& !(chordStep.rootless && i === 0)
|
||||
&& !(chordStep.omit3 && (i === 3 || i === 4)))
|
||||
for (const pc of required)
|
||||
if (!sounded.has(pc)) return err(where, `defining tone pc ${pc} of ${quality} missing from shape`)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user