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","."]
docstr: Returns how many steps long this sequence is.
  
  Does not count incomplete steps (i.e., steps that do not have a terminating
  STEP_END event).
  
  Returns:
    Length of the sequence in quantized steps.
docstr_tok: ["Returns","how","many","steps","long","this","sequence","is",".","Does","not","count","incomplete","steps","(","i.e.",",","steps","that","do","not","have","a","terminating","STEP_END","event",")",".","Returns",":","Length","of","the","sequence","in","quantized","steps","."]
code: def num_steps(self):
      """Returns how many steps long this sequence is.
  
      Does not count incomplete steps (i.e., steps that do not have a terminating
      STEP_END event).
  
      Returns:
        Length of the sequence in quantized steps.
      """
      steps = 0
      for event in self:
          if event.event_type == PolyphonicEvent.STEP_END:
              steps += 1
      return steps
  
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 14 for calling the PolyphonicSequence obj's underlying member method code with example usage: obj.num_steps() and returns: steps