code: def testSplitMidi(self):
      sequence = music_pb2.NoteSequence()
      sequence.notes.add(pitch=60, start_time=1.0, end_time=2.9)
      sequence.notes.add(pitch=60, start_time=8.0, end_time=11.0)
      sequence.notes.add(pitch=60, start_time=14.0, end_time=17.0)
      sequence.notes.add(pitch=60, start_time=20.0, end_time=23.0)
      sequence.total_time = 25.0
  
      sample_rate = 160
      samples = np.zeros(sample_rate * int(sequence.total_time))
      splits = audio_label_data_utils.find_split_points(
          sequence, samples, sample_rate, 0, 3
      )
  
      self.assertEqual(
          splits,
          [0.0, 3.0, 6.0, 9.0, 12.0, 15.0, 18.0, 21.0, 24.0, 25.0],
      )
  
      samples[int(8.5 * sample_rate)] = 1
      samples[int(8.5 * sample_rate) + 1] = -1
      splits = audio_label_data_utils.find_split_points(
          sequence, samples, sample_rate, 0, 3
      )
  
      self.assertEqual(
          splits,
          [
              0.0,
              3.0,
              6.0,
              8.50625,
              11.50625,
              14.50625,
              17.50625,
              20.50625,
              23.50625,
              25.0,
          ],
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from magenta.models.onsets_frames_transcription import audio_label_data_utils
  from note_seq import audio_io
  from note_seq import constants
  from note_seq import testing_lib
  from note_seq.protobuf import music_pb2
  import numpy
  import tensorflow.compat.v1
label_desc: Use image node_id 4 for calling the SplitAudioTest obj's underlying member method code with example usage: obj.testSplitMidi() without return types