music21.stream.filter¶
ClassFilter¶
-
class
music21.stream.filter.
ClassFilter
(classList=())¶ >>> s = stream.Stream() >>> s.append(note.Note('C')) >>> s.append(note.Rest()) >>> s.append(note.Note('D')) >>> sI = s.__iter__() >>> sI <music21.stream.iterator.StreamIterator object at 0x...> >>> for x in sI: ... print(x) <music21.note.Note C> <music21.note.Rest rest> <music21.note.Note D>
>>> sI.filters.append(stream.filter.ClassFilter('Note')) >>> sI.filters [<music21.stream.filter.ClassFilter object at 0x...>] >>> for x in sI: ... print(x) <music21.note.Note C> <music21.note.Note D>
ClassFilter
bases
ClassNotFilter¶
-
class
music21.stream.filter.
ClassNotFilter
(classList=())¶ Returns elements not of the class.
>>> s = stream.Stream() >>> s.append(note.Note('C')) >>> s.append(note.Rest()) >>> s.append(note.Note('D')) >>> sI = s.__iter__()
>>> sI.filters.append(stream.filter.ClassNotFilter('Note')) >>> sI.filters [<music21.stream.filter.ClassNotFilter object at 0x...>] >>> for x in sI: ... print(x) <music21.note.Rest rest>
ClassNotFilter
bases
GroupFilter¶
-
class
music21.stream.filter.
GroupFilter
(groupFilterList)¶ Returns elements with a certain group.
>>> n1 = note.Note("C") >>> n1.groups.append('trombone') >>> n2 = note.Note("D") >>> n2.groups.append('trombone') >>> n2.groups.append('tuba') >>> n3 = note.Note("E") >>> n3.groups.append('tuba') >>> s1 = stream.Stream() >>> s1.append(n1) >>> s1.append(n2) >>> s1.append(n3) >>> GF = stream.filter.GroupFilter
>>> for thisNote in s1.__iter__().addFilter(GF("trombone")): ... print(thisNote.name) C D >>> for thisNote in s1.__iter__().addFilter(GF("tuba")): ... print(thisNote.name) D E
GroupFilter
bases
OffsetFilter¶
-
class
music21.stream.filter.
OffsetFilter
(offsetStart, offsetEnd=None, includeEndBoundary=True, mustFinishInSpan=False, mustBeginInSpan=True, includeElementsThatEndAtStart=True)¶ see iterator.getElementsByOffset()
OffsetFilter
bases
StreamFilter¶
-
class
music21.stream.filter.
StreamFilter
¶ A filter is an object that when called returns True or False about whether an element in the stream matches the filter.
A lambda expression: lambda el, iterator: True if EXP else False can also be used as a very simple filter.
Filters can also raise StopIteration if no other elements in this Stream can possibly fit.