.. _devTest_timespans: .. WARNING: DO NOT EDIT THIS FILE: AUTOMATICALLY GENERATED. PLEASE EDIT THE .py FILE DIRECTLY. Timespan Demos ============== Work in progress... .. code:: ipython3 from music21 import * .. code:: ipython3 luca = corpus.parse('luca/gloria').measures(1, 8) .. code:: ipython3 tsCol = luca.asTimespans() .. code:: ipython3 tsCol .. parsed-literal:: :class: ipython-result > .. code:: ipython3 for v in tsCol.iterateVerticalities(): print(v) .. parsed-literal:: :class: ipython-result .. code:: ipython3 v4 = list(tsCol.iterateVerticalities())[4] .. code:: ipython3 v4 .. parsed-literal:: :class: ipython-result .. code:: ipython3 v4.pitchSet .. parsed-literal:: :class: ipython-result {, , } .. code:: ipython3 f = sorted(v4.pitchSet)[0] .. code:: ipython3 f .. parsed-literal:: :class: ipython-result .. code:: ipython3 v4.startTimespans .. parsed-literal:: :class: ipython-result (>,) .. code:: ipython3 v4.stopTimespans .. parsed-literal:: :class: ipython-result (>,) .. code:: ipython3 v4.overlapTimespans .. parsed-literal:: :class: ipython-result (>, >) .. code:: ipython3 v35 = tsCol.getVerticalityAt(3.5) .. code:: ipython3 v35 .. parsed-literal:: :class: ipython-result .. code:: ipython3 v35.startTimespans .. parsed-literal:: :class: ipython-result (>, >) .. code:: ipython3 v35.stopTimespans .. parsed-literal:: :class: ipython-result (>, >) .. code:: ipython3 v35.overlapTimespans .. parsed-literal:: :class: ipython-result (>,) .. code:: ipython3 elTsC = v35.startTimespans[0] .. code:: ipython3 elTsC, elTsC.element .. parsed-literal:: :class: ipython-result (>, ) Test previousVerticality with Rest .. code:: ipython3 v22 = tsCol.getVerticalityAt(22.0) .. code:: ipython3 v22 .. parsed-literal:: :class: ipython-result .. code:: ipython3 v22.startTimespans .. parsed-literal:: :class: ipython-result (>, >) .. code:: ipython3 elTSfollowingRest = v22.startTimespans[1] elTSfollowingRest .. parsed-literal:: :class: ipython-result > .. code:: ipython3 v22.stopTimespans .. parsed-literal:: :class: ipython-result (>, >) .. code:: ipython3 elTSfollowingRest.part .. parsed-literal:: :class: ipython-result .. code:: ipython3 score = tree.makeExampleScore() score.show() .. image:: devTest_timespans_28_0.png :width: 674px :height: 115px .. code:: ipython3 tsColSmall = score.asTimespans() .. code:: ipython3 for v in tsColSmall.iterateVerticalities(): if v: print(v) print(v.getAllVoiceLeadingQuartets()) .. parsed-literal:: :class: ipython-result :: --------------------------------------------------------------------------- TimespanTreeException Traceback (most recent call last) Input In [30], in () 2 if v: 3 print(v) ----> 4 print(v.getAllVoiceLeadingQuartets()) File ~/git/music21base/music21/tree/verticality.py:988, in Verticality.getAllVoiceLeadingQuartets(self, includeRests, includeOblique, includeNoMotion, returnObjects, partPairNumbers) 928 ''' 929 >>> c = corpus.parse('luca/gloria').measures(1, 8) 930 >>> tsCol = tree.fromStream.asTimespans(c, flatten=True, (...) 985 Changed in v8: all parameters are keyword only. 986 ''' 987 from music21.voiceLeading import VoiceLeadingQuartet --> 988 pairedMotionList = self.getPairedMotion(includeRests=includeRests, 989 includeOblique=includeOblique) 990 allQuartets = itertools.combinations(pairedMotionList, 2) 991 filteredList = [] File ~/git/music21base/music21/tree/verticality.py:1089, in Verticality.getPairedMotion(self, includeRests, includeOblique) 1086 allPairedMotions = [] 1088 for startingTs in startTss: -> 1089 previousTs = self.timespanTree.findPreviousPitchedTimespanInSameStreamByClass( 1090 startingTs) 1091 if previousTs is None: 1092 continue # first not in piece in this part... File ~/git/music21base/music21/tree/timespanTree.py:317, in TimespanTree.findPreviousPitchedTimespanInSameStreamByClass(self, pitchedTimespan, classList) 315 if not isinstance(pitchedTimespan, spans.PitchedTimespan): 316 message = f'PitchedTimespan {pitchedTimespan!r}, must be an PitchedTimespan' --> 317 raise TimespanTreeException(message) 318 verticality = self.getVerticalityAt(pitchedTimespan.offset) 319 while verticality is not None: TimespanTreeException: PitchedTimespan >, must be an PitchedTimespan .. code:: ipython3 lucaAll = corpus.parse('luca/gloria') tsCol = lucaAll.asTimespans() .. code:: ipython3 for v in tsCol.iterateVerticalities(): vlqs = v.getAllVoiceLeadingQuartets() :: --------------------------------------------------------------------------- TimespanTreeException Traceback (most recent call last) /var/folders/mk/qf43gd_s5f30rzzbt7l7l01h0000gn/T/ipykernel_7366/2650510182.py in 1 for v in tsCol.iterateVerticalities(): ----> 2 vlqs = v.getAllVoiceLeadingQuartets() ~/git/music21base/music21/tree/verticality.py in getAllVoiceLeadingQuartets(self, includeRests, includeOblique, includeNoMotion, returnObjects, partPairNumbers) 975 ''' 976 from music21.voiceLeading import VoiceLeadingQuartet --> 977 pairedMotionList = self.getPairedMotion(includeRests=includeRests, 978 includeOblique=includeOblique) 979 allQuartets = itertools.combinations(pairedMotionList, 2) ~/git/music21base/music21/tree/verticality.py in getPairedMotion(self, includeRests, includeOblique) 1076 1077 for startingTs in startTss: -> 1078 previousTs = self.timespanTree.findPreviousPitchedTimespanInSameStreamByClass( 1079 startingTs) 1080 if previousTs is None: ~/git/music21base/music21/tree/timespanTree.py in findPreviousPitchedTimespanInSameStreamByClass(self, pitchedTimespan, classList) 302 if not isinstance(pitchedTimespan, spans.PitchedTimespan): 303 message = f'PitchedTimespan {pitchedTimespan!r}, must be an PitchedTimespan' --> 304 raise TimespanTreeException(message) 305 verticality = self.getVerticalityAt(pitchedTimespan.offset) 306 while verticality is not None: TimespanTreeException: PitchedTimespan >, must be an PitchedTimespan .. code:: ipython3 bach = corpus.parse('bwv66.6') .. code:: ipython3 meterCol = lucaAll.parts[0].asTimespans(classList=(meter.TimeSignature,)) .. code:: ipython3 meterCol .. parsed-literal:: :class: ipython-result > .. code:: ipython3 print(meterCol) .. parsed-literal:: :class: ipython-result > > > > > .. code:: ipython3 c = corpus.parse('7thRegimentReel') c.measures(0, 3).show() .. image:: devTest_timespans_37_0.png :width: 674px :height: 160px .. code:: ipython3 c.measures(0, 6).show('braille') .. parsed-literal:: :class: ipython-result ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠩⠩⠩⠼⠃⠲⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠼⠚⠀⠣⠃⠐⠊⠮⠉⠽⠯⠐⠊⠙⠋⠀⠮⠨⠽⠯⠮⠙⠾⠉⠮⠀⠿⠊⠋⠊⠨⠽⠋⠊⠛ ⠀⠀⠨⠯⠙⠚⠊⠿⠊⠋⠙⠀⠣⠃⠊⠐⠮⠉⠽⠯⠐⠊⠙⠋⠀⠮⠨⠽⠯⠮⠙⠾⠉⠮ ⠀⠀⠨⠿⠊⠋⠊⠨⠽⠋⠛⠋