RootedChordClass

digraph InheritanceGraph { graph [bgcolor=transparent, color=lightsteelblue2, fontname=Arial, fontsize=10, outputorder=edgesfirst, overlap=prism, penwidth=2, rankdir=LR, splines=spline, style="dashed, rounded", truecolor=true]; node [colorscheme=pastel19, fontname=Arial, fontsize=10, height=0, penwidth=2, shape=box, style="filled, rounded", width=0]; edge [color=lightslategrey, penwidth=1]; subgraph "cluster_abjad.pitch" { graph [label="abjad.pitch"]; node [color=1]; "abjad.pitch.PitchClassSet.PitchClassSet" [URL="../api/abjadext/tonality/../../abjad/pitch/PitchClassSet.html#abjad.pitch.PitchClassSet.PitchClassSet", label="Pitch\nClass\nSet", target=_top]; "abjad.pitch.Set.Set" [URL="../api/abjadext/tonality/../../abjad/pitch/Set.html#abjad.pitch.Set.Set", label=Set, shape=oval, style=bold, target=_top]; "abjad.pitch.Set.Set" -> "abjad.pitch.PitchClassSet.PitchClassSet"; } subgraph "cluster_abjad.system" { graph [label="abjad.system"]; node [color=2]; "abjad.system.AbjadObject.AbjadObject" [URL="../api/abjadext/tonality/../../abjad/system/AbjadObject.html#abjad.system.AbjadObject.AbjadObject", label="Abjad\nObject", target=_top]; } subgraph "cluster_abjad.utilities" { graph [label="abjad.utilities"]; node [color=3]; "abjad.utilities.TypedCollection.TypedCollection" [URL="../api/abjadext/tonality/../../abjad/utilities/TypedCollection.html#abjad.utilities.TypedCollection.TypedCollection", label="Typed\nCollection", shape=oval, style=bold, target=_top]; "abjad.utilities.TypedFrozenset.TypedFrozenset" [URL="../api/abjadext/tonality/../../abjad/utilities/TypedFrozenset.html#abjad.utilities.TypedFrozenset.TypedFrozenset", label="Typed\nFrozenset", target=_top]; "abjad.utilities.TypedCollection.TypedCollection" -> "abjad.utilities.TypedFrozenset.TypedFrozenset"; } subgraph "cluster_abjadext.tonality" { graph [label="abjadext.tonality"]; node [color=4]; "abjadext.tonality.RootedChordClass.RootedChordClass" [URL="../api/abjadext/tonality/RootedChordClass.html#abjadext.tonality.RootedChordClass.RootedChordClass", color=black, fontcolor=white, label="Rooted\nChord\nClass", target=_top]; } subgraph cluster_builtins { graph [label=builtins]; node [color=5]; "builtins.object" [URL="https://docs.python.org/3.6/library/functions.html#object", label=object, target=_top]; } subgraph "cluster_collections.abc" { graph [label="collections.abc"]; node [color=6]; "collections.abc.Collection" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Collection", label=Collection, shape=oval, style=bold, target=_top]; "collections.abc.Container" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Container", label=Container, shape=oval, style=bold, target=_top]; "collections.abc.Iterable" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Iterable", label=Iterable, shape=oval, style=bold, target=_top]; "collections.abc.Set" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Set", label=Set, shape=oval, style=bold, target=_top]; "collections.abc.Sized" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Sized", label=Sized, shape=oval, style=bold, target=_top]; "collections.abc.Collection" -> "collections.abc.Set"; "collections.abc.Container" -> "collections.abc.Collection"; "collections.abc.Iterable" -> "collections.abc.Collection"; "collections.abc.Sized" -> "collections.abc.Collection"; } "abjad.pitch.PitchClassSet.PitchClassSet" -> "abjadext.tonality.RootedChordClass.RootedChordClass"; "abjad.system.AbjadObject.AbjadObject" -> "abjad.utilities.TypedCollection.TypedCollection"; "abjad.utilities.TypedFrozenset.TypedFrozenset" -> "abjad.pitch.Set.Set"; "builtins.object" -> "abjad.system.AbjadObject.AbjadObject"; "builtins.object" -> "collections.abc.Container"; "builtins.object" -> "collections.abc.Iterable"; "builtins.object" -> "collections.abc.Sized"; "collections.abc.Set" -> "abjad.utilities.TypedFrozenset.TypedFrozenset"; }

class abjadext.tonality.RootedChordClass.RootedChordClass(root=None, quality_string='major', extent='triad', inversion='root')

Rooted chord class.

Initializes from pair:

>>> abjadext.tonality.RootedChordClass('g', 'major')
GMajorTriadInRootPosition

Initializes from triple:

>>> abjadext.tonality.RootedChordClass('g', 'dominant', 7)
GDominantSeventhInRootPosition

G dominant seventh represents a class of chords because there are many different spacings of a G dominant seventh.


Attributes Summary

__eq__ Is true when argument is a rooted chord-class with root, chord quality and inversion equal to those of this rooted chord-class.
__hash__ Hashes rooted chord-class.
__repr__ Gets interpreter representation of rooted chord-class.
bass Gets bass.
cardinality Gets cardinality.
cardinality_to_extent Change cardinality to extent.
chord_quality Gets chord quality.
extent Gets extent.
extent_to_cardinality Changes extent to cardinality.
extent_to_extent_name Changes extent to extent name.
figured_bass Gets figured bass.
inversion Gets inversion.
markup Markup of rooted chord-class.
quality_pair Gets quality pair.
root Gets root.
root_string Gets root string.
transpose Transposes rooted chord-class.

Special methods

(TypedFrozenset).__and__(argument)

Logical AND of typed frozen set and argument.

Returns new typed frozen set.

(PitchClassSet).__contains__(argument)

Is true when pitch-class set contains argument.

Initializes numbered pitch-class set:

>>> set_ = abjad.PitchClassSet(
...     items=[-2, -1.5, 6, 7, -1.5, 7],
...     item_class=abjad.NumberedPitchClass,
...     )
>>> set_
PitchClassSet([6, 7, 10, 10.5])
>>> abjad.NamedPitch('fs') in set_
True
>>> abjad.NamedPitch('f') in set_
False
>>> 6 in set_
True
>>> 5 in set_
False

Returns true or false.

__eq__(argument)

Is true when argument is a rooted chord-class with root, chord quality and inversion equal to those of this rooted chord-class.

Returns true or false.

(AbjadObject).__format__(format_specification='')

Formats Abjad object.

Set format_specification to '' or 'storage'. Interprets '' equal to 'storage'.

Returns string.

(TypedFrozenset).__ge__(argument)

Is true when typed frozen set is greater than or equal to argument.

Returns true or false.

(TypedFrozenset).__gt__(argument)

Is true when typed frozen set is greater than argument.

Returns true or false.

__hash__()

Hashes rooted chord-class.

Returns integer.

(PitchClassSet).__illustrate__()

Illustrates pitch-class set.

Illustrates numbered segment:

>>> setting = abjad.PitchClassSet([-2, -1.5, 6, 7, -1.5, 7])
>>> abjad.show(setting) 

Illustrates named set:

>>> items = ['c', 'ef', 'bqs,', 'd']
>>> setting = abjad.PitchClassSet(
...     items=items,
...     item_class=abjad.NamedPitchClass,
...     )
>>> abjad.show(setting) 

Returns LilyPond file:

>>> prototype = abjad.LilyPondFile
>>> isinstance(setting.__illustrate__(), prototype)
True
(TypedCollection).__iter__()

Iterates typed collection.

Returns generator.

(TypedFrozenset).__le__(argument)

Is true when typed frozen set is less than or equal to argument.

Returns true or false.

(TypedCollection).__len__()

Gets length of typed collection.

Returns nonnegative integer.

(TypedFrozenset).__lt__(argument)

Is true when typed frozen set is less than argument.

Returns true or false.

(TypedFrozenset).__or__(argument)

Logical OR of typed frozen set and argument.

Returns new typed frozen set.

(Set).__rand__(other)
__repr__()

Gets interpreter representation of rooted chord-class.

Returns string.

(Set).__ror__(other)
(Set).__rsub__(other)
(Set).__rxor__(other)
(PitchClassSet).__str__()

Gets string representation of pitch-class set.

Gets string of set sorted at initialization:

>>> pc_set = abjad.PitchClassSet([6, 7, 10, 10.5])
>>> str(pc_set)
'PC{6, 7, 10, 10.5}'

Gets string of set not sorted at initialization:

>>> pc_set = abjad.PitchClassSet([10.5, 10, 7, 6])
>>> str(pc_set)
'PC{6, 7, 10, 10.5}'

Returns string.

(TypedFrozenset).__sub__(argument)

Subtracts argument from typed frozen set.

Returns new typed frozen set.

(TypedFrozenset).__xor__(argument)

Logical XOR of typed frozen set and argument.

Returns new typed frozen set.


Methods

(TypedFrozenset).copy()

Copies typed frozen set.

Returns new typed frozen set.

(TypedFrozenset).difference(argument)

Typed frozen set set-minus argument.

Returns new typed frozen set.

(PitchClassSet).get_normal_order()

Gets normal order.

Gets normal order of empty pitch-class set:

>>> pc_set = abjad.PitchClassSet()
>>> pc_set.get_normal_order()
PitchClassSegment([])

Gets normal order:

>>> pc_set = abjad.PitchClassSet([0, 1, 10, 11])
>>> pc_set.get_normal_order()
PitchClassSegment([10, 11, 0, 1])

Gets normal order:

>>> pc_set = abjad.PitchClassSet([2, 8, 9])
>>> pc_set.get_normal_order()
PitchClassSegment([8, 9, 2])

Gets normal order of pitch-class set with degree of symmetry equal to 2:

>>> pc_set = abjad.PitchClassSet([1, 2, 7, 8])
>>> pc_set.get_normal_order()
PitchClassSegment([1, 2, 7, 8])

Gets normal order of pitch-class set with degree of symmetry equal to 4:

>>> pc_set = abjad.PitchClassSet([0, 3, 6, 9])
>>> pc_set.get_normal_order()
PitchClassSegment([0, 3, 6, 9])

Returns pitch-class segment.

(PitchClassSet).get_prime_form(transposition_only=False)

Gets prime form.

Gets prime form of empty pitch-class set:

>>> pc_set = abjad.PitchClassSet()
>>> pc_set.get_prime_form()
PitchClassSet([])
>>> pc_set = abjad.PitchClassSet()
>>> pc_set.get_prime_form(transposition_only=True)
PitchClassSet([])

Gets prime form:

>>> pc_set = abjad.PitchClassSet([0, 1, 10, 11])
>>> pc_set.get_prime_form()
PitchClassSet([0, 1, 2, 3])
>>> pc_set = abjad.PitchClassSet([0, 1, 10, 11])
>>> pc_set.get_prime_form(transposition_only=True)
PitchClassSet([0, 1, 2, 3])

Gets prime form:

>>> pc_set = abjad.PitchClassSet([2, 8, 9])
>>> pc_set.get_prime_form()
PitchClassSet([0, 1, 6])
>>> pc_set = abjad.PitchClassSet([2, 8, 9])
>>> pc_set.get_prime_form(transposition_only=True)
PitchClassSet([0, 1, 6])

Gets prime form of pitch-class set with degree of symmetry equal to 2:

>>> pc_set = abjad.PitchClassSet([1, 2, 7, 8])
>>> pc_set.get_prime_form()
PitchClassSet([0, 1, 6, 7])
>>> pc_set = abjad.PitchClassSet([1, 2, 7, 8])
>>> pc_set.get_prime_form(transposition_only=True)
PitchClassSet([0, 1, 6, 7])

Gets prime form of pitch-class set with degree of symmetry equal to 4:

>>> pc_set = abjad.PitchClassSet([0, 3, 6, 9])
>>> pc_set.get_prime_form()
PitchClassSet([0, 3, 6, 9])
>>> pc_set = abjad.PitchClassSet([0, 3, 6, 9])
>>> pc_set.get_prime_form(transposition_only=True)
PitchClassSet([0, 3, 6, 9])

Gets prime form of pitch-class that is not inversion-equivalent:

>>> pc_set = abjad.PitchClassSet([0, 4, 6, 7])
>>> pc_set.get_prime_form()
PitchClassSet([0, 1, 3, 7])
>>> pc_set = abjad.PitchClassSet([0, 4, 6, 7])
>>> pc_set.get_prime_form(transposition_only=True)
PitchClassSet([0, 4, 6, 7])

Gets prime form of inversionally nonequivalent pitch-class set:

>>> pc_set = abjad.PitchClassSet([0, 4, 7])
>>> pc_set.get_prime_form()
PitchClassSet([0, 3, 7])
>>> pc_set = abjad.PitchClassSet([0, 4, 7])
>>> pc_set.get_prime_form(transposition_only=True)
PitchClassSet([0, 4, 7])

REGRESSION:

>>> pc_set = abjad.PitchClassSet([0, 1, 2, 5, 8, 9])
>>> pc_set.get_prime_form()
PitchClassSet([0, 1, 2, 5, 6, 9])

REGRESSION:

>>> pc_set = abjad.PitchClassSet([0, 1, 2, 3, 6, 7])
>>> pc_set.get_prime_form()
PitchClassSet([0, 1, 2, 3, 6, 7])

Returns new pitch-class set.

(TypedFrozenset).intersection(argument)

Set-theoretic intersection of typed frozen set and argument.

Returns new typed frozen set.

(PitchClassSet).invert(axis=None)

Inverts pitch-class set.

>>> abjad.PitchClassSet(
...     [-2, -1.5, 6, 7, -1.5, 7],
...     ).invert()
PitchClassSet([1.5, 2, 5, 6])

Returns numbered pitch-class set.

(PitchClassSet).is_transposed_subset(pcset)

Is true when pitch-class set is transposed subset of pcset.

>>> pitch_class_set_1 = abjad.PitchClassSet(
...     [-2, -1.5, 6, 7, -1.5, 7],
...     )
>>> pitch_class_set_2 = abjad.PitchClassSet(
...     [-2, -1.5, 6, 7, -1.5, 7, 7.5, 8],
...     )
>>> pitch_class_set_1.is_transposed_subset(pitch_class_set_2)
True

Returns true or false.

(PitchClassSet).is_transposed_superset(pcset)

Is true when pitch-class set is transposed superset of pcset.

>>> pitch_class_set_1 = abjad.PitchClassSet(
...     [-2, -1.5, 6, 7, -1.5, 7],
...     )
>>> pitch_class_set_2 = abjad.PitchClassSet(
...     [-2, -1.5, 6, 7, -1.5, 7, 7.5, 8],
...     )
>>> pitch_class_set_2.is_transposed_superset(pitch_class_set_1)
True

Returns true or false.

(TypedFrozenset).isdisjoint(argument)

Is true when typed frozen set shares no elements with argument.

Returns true or false.

(TypedFrozenset).issubset(argument)

Is true when typed frozen set is a subset of argument.

Returns true or false.

(TypedFrozenset).issuperset(argument)

Is true when typed frozen set is a superset of argument.

Returns true or false.

(PitchClassSet).multiply(n)

Multiplies pitch-class set by n.

>>> abjad.PitchClassSet(
...     [-2, -1.5, 6, 7, -1.5, 7],
...     ).multiply(5)
PitchClassSet([2, 4.5, 6, 11])

Returns new pitch-class set.

(PitchClassSet).order_by(segment)

Orders pitch-class set by pitch-class segment.

>>> set_ = abjad.PitchClassSet(['c', 'e', 'b'])
>>> segment = abjad.PitchClassSegment(['e', 'a', 'f'])
>>> set_.order_by(segment)
PitchClassSegment("b e c")

Returns pitch-class segment.

(TypedFrozenset).symmetric_difference(argument)

Symmetric difference of typed frozen set and argument.

Returns new typed frozen set.

transpose()

Transposes rooted chord-class.

Not yet implemented.

Will return new rooted chord-class.

(TypedFrozenset).union(argument)

Union of typed frozen set and argument.

Returns new typed frozen set.


Class & static methods

static cardinality_to_extent(cardinality)

Change cardinality to extent.

>>> abjadext.tonality.RootedChordClass.cardinality_to_extent(3)
5
>>> abjadext.tonality.RootedChordClass.cardinality_to_extent(4)
7
>>> abjadext.tonality.RootedChordClass.cardinality_to_extent(5)
9
>>> abjadext.tonality.RootedChordClass.cardinality_to_extent(6)
11
>>> abjadext.tonality.RootedChordClass.cardinality_to_extent(7)
13

Returns integer.

static extent_to_cardinality(extent)

Changes extent to cardinality.

>>> abjadext.tonality.RootedChordClass.extent_to_cardinality(5)
3
>>> abjadext.tonality.RootedChordClass.extent_to_cardinality(7)
4
>>> abjadext.tonality.RootedChordClass.extent_to_cardinality(9)
5
>>> abjadext.tonality.RootedChordClass.extent_to_cardinality(11)
6
>>> abjadext.tonality.RootedChordClass.extent_to_cardinality(13)
7

Returns integer.

static extent_to_extent_name(extent)

Changes extent to extent name.

>>> abjadext.tonality.RootedChordClass.extent_to_extent_name(5)
'triad'
>>> abjadext.tonality.RootedChordClass.extent_to_extent_name(7)
'seventh'
>>> abjadext.tonality.RootedChordClass.extent_to_extent_name(9)
'ninth'
>>> abjadext.tonality.RootedChordClass.extent_to_extent_name(11)
'eleventh'
>>> abjadext.tonality.RootedChordClass.extent_to_extent_name(13)
'thirteenth'

Returns string.

classmethod (PitchClassSet).from_selection(selection, item_class=None)

Makes pitch-class set from selection.

>>> staff_1 = abjad.Staff("c'4 <d' fs' a'>4 b2")
>>> staff_2 = abjad.Staff("c4. r8 g2")
>>> selection = abjad.select((staff_1, staff_2))
>>> abjad.PitchClassSet.from_selection(selection)
PitchClassSet(['c', 'd', 'fs', 'g', 'a', 'b'])

Returns pitch-class set.


Read-only properties

bass

Gets bass.

>>> abjadext.tonality.RootedChordClass('g', 'major').bass
NamedPitchClass('g')

Returns named pitch-class.

cardinality

Gets cardinality.

>>> abjadext.tonality.RootedChordClass('g', 'dominant', 7).cardinality
4

Returns nonnegative integer.

chord_quality

Gets chord quality.

>>> abjadext.tonality.RootedChordClass('g', 'dominant', 7).chord_quality
DominantSeventhInRootPosition('P1', '+M3', '+P5', '+m7')

Returns chord quality.

extent

Gets extent.

>>> abjadext.tonality.RootedChordClass('g', 'dominant', 7).extent
ChordExtent(7)

Returns chord extent.

figured_bass

Gets figured bass.

>>> abjadext.tonality.RootedChordClass('g', 'dominant', 7).extent
ChordExtent(7)

Returns string.

inversion

Gets inversion.

>>> abjadext.tonality.RootedChordClass('g', 'dominant', 7).inversion
0

Returns nonnegative integer.

(TypedCollection).item_class

Gets item class of collection.

Collection coerces items according to item_class.

Returns class.

(TypedCollection).items

Gets items in collection.

Returns list.

markup

Markup of rooted chord-class.

>>> markup = abjadext.tonality.RootedChordClass('g', 'dominant', 7).markup
>>> abjad.show(markup) 

Returns markup.

quality_pair

Gets quality pair.

>>> chord_class = abjadext.tonality.RootedChordClass(
...     'c',
...     'major',
...     'triad',
...     'root',
...     )
>>> chord_class.quality_pair
('major', 'triad')
>>> chord_class = abjadext.tonality.RootedChordClass(
...     'g',
...     'dominant',
...     7,
...     'second',
...     )
>>> chord_class.quality_pair
('dominant', 'seventh')

Returns pair.

root

Gets root.

>>> chord_class = abjadext.tonality.RootedChordClass(
...     'c',
...     'major',
...     'triad',
...     'root',
...     )
>>> chord_class.root
NamedPitchClass('c')
>>> chord_class = abjadext.tonality.RootedChordClass(
...     'g',
...     'dominant',
...     7,
...     'second',
...     )
>>> chord_class.root
NamedPitchClass('g')

Returns named pitch-class.

root_string

Gets root string.

>>> chord_class = abjadext.tonality.RootedChordClass(
...     'c',
...     'major',
...     'triad',
...     'root',
...     )
>>> chord_class.root_string
'C'
>>> chord_class = abjadext.tonality.RootedChordClass(
...     'g',
...     'dominant',
...     7,
...     'second',
...     )
>>> chord_class.root_string
'G'

Returns string.