@libraz/libcantus - v1.1.0
    Preparing search index...

    Function availableTensions

    • List a scale's available tensions over a chord.

      Available tensions are scale tones that are neither chord tones nor avoid notes, i.e. the usable color tones (typically the 9/11/13 region). The scale is rooted on the chord root. If the scale does not contain the chord, there are no available tensions.

      A tension's availability also depends on what the chord is doing. Pass resolvesTo to say which chord this one resolves to: a dominant seventh resolving down a fifth to a minor tonic takes its flat ninth, sharp ninth and flat thirteenth, which read on their own would each be an avoid note. Only scale tones are ever added, so the result stays within the scale.

      Parameters

      Returns number[]

      The available-tension pitch classes, sorted ascending in [0, 11].

      If scaleName is not a built-in scale, as avoidNotes does.

      import { makeChord, availableTensions } from '@libraz/libcantus';
      availableTensions(makeChord(0, 'maj7'), 'ionian'); // [2, 9] — color tones over Cmaj7
      availableTensions(makeChord(7, 'dom7'), 'phrygianDominant', { resolvesTo: makeChord(0, 'min') });
      // [3, 8] — the b13 and b9 the resolution to C minor makes available