def test_tonalanalysistools_RomanNumeral__initialize_by_symbolic_string_03(): tonal_function = tonalanalysistools.RomanNumeral('V7/4-3') correct = tonalanalysistools.RomanNumeral(5, 'dominant', 7, 0, (4, 3)) assert tonal_function == correct tonal_function = tonalanalysistools.RomanNumeral('V6/5/4-3') correct = tonalanalysistools.RomanNumeral(5, 'dominant', 7, 1, (4, 3)) assert tonal_function == correct
def test_tonalanalysistools_RomanNumeral_bass_scale_degree_01(): roman_numeral = tonalanalysistools.RomanNumeral(5, 'major', 5, 0) assert roman_numeral.bass_scale_degree == tonalanalysistools.ScaleDegree(5) roman_numeral = tonalanalysistools.RomanNumeral(5, 'major', 5, 1) assert roman_numeral.bass_scale_degree == tonalanalysistools.ScaleDegree(7) roman_numeral = tonalanalysistools.RomanNumeral(5, 'major', 5, 2) assert roman_numeral.bass_scale_degree == tonalanalysistools.ScaleDegree(2)
def test_tonalanalysistools_RomanNumeral_symbolic_string_01(): roman_numeral = tonalanalysistools.RomanNumeral(5, 'dominant', 7, 0, (4, 3)) assert roman_numeral.symbolic_string == 'V7/4-3' roman_numeral = tonalanalysistools.RomanNumeral(2, 'minor', 7, 1) assert roman_numeral.symbolic_string == 'ii6/5' roman_numeral = tonalanalysistools.RomanNumeral(1, 'major', 5, 1) assert roman_numeral.symbolic_string == 'I6'
def test_tonalanalysistools_RomanNumeral___repr___01(): harmony = tonalanalysistools.RomanNumeral(1, 'major', 5, 0) assert repr(harmony) == 'IMajorTriadInRootPosition' harmony = tonalanalysistools.RomanNumeral(5, 'dominant', 7, 2) assert repr(harmony) == 'VDominantSeventhInSecondInversion' harmony = tonalanalysistools.RomanNumeral(('flat', 2), 'major', 5, 1) assert repr(harmony) == 'FlatIIMajorTriadInFirstInversion' harmony = tonalanalysistools.RomanNumeral(1, 'minor', 5, 0) assert repr(harmony) == 'iMinorTriadInRootPosition'
def test_tonalanalysistools_RomanNumeral_suspension_01(): roman_numeral = tonalanalysistools.RomanNumeral(5, 'major', 5, 0, (4, 3)) assert roman_numeral.suspension == tonalanalysistools.ChordSuspension(4, 3) assert roman_numeral.suspension.start == tonalanalysistools.ScaleDegree(4) assert roman_numeral.suspension.stop == tonalanalysistools.ScaleDegree(3)
def test_tonalanalysistools_RomanNumeral__initialize_by_symbolic_string_02(): tonal_function = tonalanalysistools.RomanNumeral('V7') correct = tonalanalysistools.RomanNumeral(5, 'dominant', 7, 0) assert tonal_function == correct tonal_function = tonalanalysistools.RomanNumeral('V6/5') correct = tonalanalysistools.RomanNumeral(5, 'dominant', 7, 1) assert tonal_function == correct tonal_function = tonalanalysistools.RomanNumeral('V4/3') correct = tonalanalysistools.RomanNumeral(5, 'dominant', 7, 2) assert tonal_function == correct tonal_function = tonalanalysistools.RomanNumeral('V4/2') correct = tonalanalysistools.RomanNumeral(5, 'dominant', 7, 3) assert tonal_function == correct
def test_tonalanalysistools_RomanNumeral__initialize_by_symbolic_string_01(): tonal_function = tonalanalysistools.RomanNumeral('bII') correct = tonalanalysistools.RomanNumeral(('flat', 2), 'major', 5, 0) assert tonal_function == correct tonal_function = tonalanalysistools.RomanNumeral('bII6') correct = tonalanalysistools.RomanNumeral(('flat', 2), 'major', 5, 1) assert tonal_function == correct tonal_function = tonalanalysistools.RomanNumeral('bII6/4') correct = tonalanalysistools.RomanNumeral(('flat', 2), 'major', 5, 2) assert tonal_function == correct
def _analyze_incomplete_tonal_function(expr, key_signature): from abjad.tools import tonalanalysistools if isinstance(expr, tonalanalysistools.RootedChordClass): chord_class = expr else: selection = tonalanalysistools.select(expr) chord_classes = selection.analyze_incomplete_chords() assert len(chord_classes) == 1 chord_class = chord_classes[0] root = chord_class.root scale = tonalanalysistools.Scale(key_signature) scale_degree = scale.named_pitch_class_to_scale_degree(root) quality = chord_class.chord_quality.quality_string extent = chord_class.extent inversion = chord_class.inversion return tonalanalysistools.RomanNumeral( scale_degree, quality, extent, inversion, )
def test_tonalanalysistools_RomanNumeral__initialize_by_symbolic_string_04(): tonal_function = tonalanalysistools.RomanNumeral('vi6/5') correct = tonalanalysistools.RomanNumeral(6, 'minor', 7, 1) assert tonal_function == correct