class_docstr: Stores a polyphonic sequence as a stream of single-note events.
  
  Events are PolyphonicEvent tuples that encode event type and pitch.
class_docstr_tok: ["Stores","a","polyphonic","sequence","as","a","stream","of","single-note","events",".","Events","are","PolyphonicEvent","tuples","that","encode","event","type","and","pitch","."]
code: def __str__(self):
      strs = []
      for event in self:
          if event.event_type == PolyphonicEvent.START:
              strs.append("START")
          elif event.event_type == PolyphonicEvent.END:
              strs.append("END")
          elif event.event_type == PolyphonicEvent.STEP_END:
              strs.append("|||")
          elif event.event_type == PolyphonicEvent.NEW_NOTE:
              strs.append("(%s, NEW)" % event.pitch)
          elif event.event_type == PolyphonicEvent.CONTINUED_NOTE:
              strs.append("(%s, CONTINUED)" % event.pitch)
          else:
              raise ValueError(
                  "Unknown event type: %s" % event.event_type
              )
      return "\n".join(strs)
  
imports: from __future__ import division
  import collections
  import copy
  from magenta.pipelines import statistics
  from note_seq import constants
  from note_seq import events_lib
  from note_seq import sequences_lib
  from note_seq.protobuf import music_pb2
  from six.moves import range
  import tensorflow.compat.v1
label_desc: Use image node_id 12 for calling the PolyphonicSequence obj's underlying member method code with example usage: obj.__str__() and returns: str