The semitone offsets above the root a spec sounds, ascending.
The library's single derivation of chord tones: a name contributes nothing here, so a combination of alterations no name covers yields its intervals the same way a maj7 does.
maj7
The chord spec.
Semitone offsets above the root, ascending and deduplicated.
If any part of the spec is not one the model defines (InvalidInputError), exactly as chordFromSpec rejects it.
import { chordSpecIntervals } from '@libraz/libcantus';chordSpecIntervals({ rootPc: 0, base: 'maj', seventh: 'min7', alterations: [{ degree: 9, alter: -1 }, { degree: 11, alter: 1 }], additions: [], omissions: [],});// [0, 4, 7, 10, 13, 18] — the C7(b9,#11) no quality name covers Copy
import { chordSpecIntervals } from '@libraz/libcantus';chordSpecIntervals({ rootPc: 0, base: 'maj', seventh: 'min7', alterations: [{ degree: 9, alter: -1 }, { degree: 11, alter: 1 }], additions: [], omissions: [],});// [0, 4, 7, 10, 13, 18] — the C7(b9,#11) no quality name covers
The semitone offsets above the root a spec sounds, ascending.
The library's single derivation of chord tones: a name contributes nothing here, so a combination of alterations no name covers yields its intervals the same way a
maj7does.