music21.figuredBass.rules¶
Rules¶
- class music21.figuredBass.rules.Rules¶
A Rules object is provided as an input to a
Segment
, and controls the application of methods designed to filter out undesired possibilities in a single Segment or undesired progressions between two consecutive Segments.The rules are categorized in an identical manner to methods in
possibility
:1) Single Possibility Rules. These rules apply to any possibility within a single Segment (possibA), and are applied in finding correct possibilities for a Segment in
allCorrectSinglePossibilities()
.2) Consecutive Possibility Rules. These rules apply between any correct single possibility in segmentA (possibA) and any correct single possibility in segmentB (possibB), segmentB coming directly after segmentA. They are applied in finding correct (possibA, possibB) pairs between two Segments in
allCorrectConsecutivePossibilities()
.3) Special Resolution Rules. These rules apply to Segments whose
segmentChord
is an augmented sixth, dominant seventh, or diminished seventh chord, and are applied as necessary inallCorrectConsecutivePossibilities()
.>>> from music21.figuredBass import rules >>> fbRules = rules.Rules() >>> fbRules <music21.figuredBass.rules.Rules> >>> fbRules.forbidParallelFifths = False >>> fbRules.upperPartsMaxSemitoneSeparation = None
Rules
bases
Rules
read-only properties
Read-only properties inherited from ProtoM21Object
:
Rules
methods
Methods inherited from ProtoM21Object
:
Rules
instance variables
- Rules.applyConsecutivePossibRulesToResolution¶
False by default. If True, consecutive possibility rules are applied between (specialPossib, resPossib) pairs.
- Rules.applySinglePossibRulesToResolution¶
False by default. If True, single possibility rules are applied to resolution possibilities.
- Rules.doubledRootInDim7¶
False by default. If True, Diminished seventh resolutions to the tonic will contain a doubled root, as opposed to a doubled third. Rule is ignored (determined in context) if
segmentChord
is in first inversion.
- Rules.forbidHiddenFifths¶
True by default. If True,
hiddenFifth()
is applied to all (possibA, possibB) pairs, and all those pairs for which the method returns False are retained.
- Rules.forbidHiddenOctaves¶
True by default. If True,
hiddenOctave()
is applied to all (possibA, possibB) pairs, and all those pairs for which the method returns False are retained.
- Rules.forbidIncompletePossibilities¶
True by default. If True,
isIncomplete()
is applied to all possibA, and all those possibilities for which the method returns False are retained.
- Rules.forbidParallelFifths¶
True by default. If True,
parallelFifths()
is applied to all (possibA, possibB) pairs, and all those pairs for which the method returns False are retained.
- Rules.forbidParallelOctaves¶
True by default. If True,
parallelOctaves()
is applied to all (possibA, possibB) pairs, and all those pairs for which the method returns False are retained.
- Rules.forbidVoiceCrossing¶
True by default. If True,
voiceCrossing()
is applied to all possibA, and all those possibilities for which the method returns False are retained.
- Rules.forbidVoiceOverlap¶
True by default. If True,
voiceOverlap()
is applied to all (possibA, possibB) pairs, and all those pairs for which the method returns False are retained.
- Rules.partMovementLimits¶
[] (empty list) by default. Contains (partNumber, maxSeparation) pairs provided as arguments to
partMovementsWithinLimits()
. Method is applied to all (possibA, possibB) pairs, and all those pairs for which the method returns True are retained.
- Rules.resolveAugmentedSixthProperly¶
True by default. If True, Segments whose
segmentChord
spells out an augmented sixth chord are resolved properly by usingresolveAugmentedSixthSegment()
.
- Rules.resolveDiminishedSeventhProperly¶
True by default. If True, Segments whose
segmentChord
spells out a fully-diminished seventh chord are resolved properly by usingresolveDiminishedSeventhSegment()
.
- Rules.resolveDominantSeventhProperly¶
True by default. If True, Segments whose
segmentChord
spells out a dominant seventh chord are resolved properly by usingresolveDominantSeventhSegment()
.
- Rules.restrictDoublingsInItalianA6Resolution¶
True by default. If True, then doublings in the It+6 chord are limited to the tonic, or fifth. Setting this to False allows doubling of the root or third, most likely through parallel unisons if
forbidParallelOctaves
is set to True.
- Rules.upperPartsMaxSemitoneSeparation¶
12 by default. A number, in semitones, representing the maxSemitoneSeparation argument provided to
upperPartsWithinLimit()
. Method is applied to all possibA, and all those possibilities for which the method returns True are retained.