def testExtractPerformances(self): testing_lib.add_track_to_sequence(self.note_sequence, 0, [(60, 100, 0.0, 4.0)]) quantized_sequence = sequences_lib.quantize_note_sequence_absolute( self.note_sequence, steps_per_second=100) perfs, _ = performance_lib.extract_performances(quantized_sequence) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances(quantized_sequence, min_events_discard=1, max_events_truncate=10) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances(quantized_sequence, min_events_discard=8, max_events_truncate=10) self.assertEqual(0, len(perfs)) perfs, _ = performance_lib.extract_performances(quantized_sequence, min_events_discard=1, max_events_truncate=3) self.assertEqual(1, len(perfs)) self.assertEqual(3, len(perfs[0])) perfs, _ = performance_lib.extract_performances(quantized_sequence, max_steps_truncate=100) self.assertEqual(1, len(perfs)) self.assertEqual(100, perfs[0].num_steps)
def testExtractPerformancesRelativeQuantized(self): self.note_sequence.tempos.add(qpm=60.0) testing_lib.add_track_to_sequence(self.note_sequence, 0, [(60, 100, 0.0, 4.0)]) quantized_sequence = sequences_lib.quantize_note_sequence( self.note_sequence, steps_per_quarter=100) perfs, _ = performance_lib.extract_performances(quantized_sequence) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances(quantized_sequence, min_events_discard=1, max_events_truncate=10) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances(quantized_sequence, min_events_discard=8, max_events_truncate=10) self.assertEqual(0, len(perfs)) perfs, _ = performance_lib.extract_performances(quantized_sequence, min_events_discard=1, max_events_truncate=3) self.assertEqual(1, len(perfs)) self.assertEqual(3, len(perfs[0])) perfs, _ = performance_lib.extract_performances(quantized_sequence, max_steps_truncate=100) self.assertEqual(1, len(perfs)) self.assertEqual(100, perfs[0].num_steps)
def testExtractPerformancesRelativeQuantized(self): self.note_sequence.tempos.add(qpm=60.0) testing_lib.add_track_to_sequence( self.note_sequence, 0, [(60, 100, 0.0, 4.0)]) quantized_sequence = sequences_lib.quantize_note_sequence( self.note_sequence, steps_per_quarter=100) perfs, _ = performance_lib.extract_performances(quantized_sequence) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances( quantized_sequence, min_events_discard=1, max_events_truncate=10) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances( quantized_sequence, min_events_discard=8, max_events_truncate=10) self.assertEqual(0, len(perfs)) perfs, _ = performance_lib.extract_performances( quantized_sequence, min_events_discard=1, max_events_truncate=3) self.assertEqual(1, len(perfs)) self.assertEqual(3, len(perfs[0])) perfs, _ = performance_lib.extract_performances( quantized_sequence, max_steps_truncate=100) self.assertEqual(1, len(perfs)) self.assertEqual(100, perfs[0].num_steps)
def testExtractPerformances(self): testing_lib.add_track_to_sequence( self.note_sequence, 0, [(60, 100, 0.0, 4.0)]) quantized_sequence = sequences_lib.quantize_note_sequence_absolute( self.note_sequence, steps_per_second=100) perfs, _ = performance_lib.extract_performances(quantized_sequence) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances( quantized_sequence, min_events_discard=1, max_events_truncate=10) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances( quantized_sequence, min_events_discard=8, max_events_truncate=10) self.assertEqual(0, len(perfs)) perfs, _ = performance_lib.extract_performances( quantized_sequence, min_events_discard=1, max_events_truncate=3) self.assertEqual(1, len(perfs)) self.assertEqual(3, len(perfs[0])) perfs, _ = performance_lib.extract_performances( quantized_sequence, max_steps_truncate=100) self.assertEqual(1, len(perfs)) self.assertEqual(100, perfs[0].num_steps)
def testExtractPerformancesNonZeroStart(self): testing_lib.add_track_to_sequence( self.note_sequence, 0, [(60, 100, 0.0, 4.0)]) quantized_sequence = sequences_lib.quantize_note_sequence_absolute( self.note_sequence, steps_per_second=100) perfs, _ = performance_lib.extract_performances( quantized_sequence, start_step=400, min_events_discard=1) self.assertEqual(0, len(perfs)) perfs, _ = performance_lib.extract_performances( quantized_sequence, start_step=0, min_events_discard=1) self.assertEqual(1, len(perfs))
def testExtractPerformancesSplitInstruments(self): testing_lib.add_track_to_sequence( self.note_sequence, 0, [(60, 100, 0.0, 4.0)]) testing_lib.add_track_to_sequence( self.note_sequence, 1, [(62, 100, 0.0, 2.0), (64, 100, 2.0, 4.0)]) quantized_sequence = sequences_lib.quantize_note_sequence_absolute( self.note_sequence, steps_per_second=100) perfs, _ = performance_lib.extract_performances( quantized_sequence, split_instruments=True) self.assertEqual(2, len(perfs)) perfs, _ = performance_lib.extract_performances( quantized_sequence, min_events_discard=8, split_instruments=True) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances( quantized_sequence, min_events_discard=16, split_instruments=True) self.assertEqual(0, len(perfs))
def testExtractPerformancesMultiProgram(self): testing_lib.add_track_to_sequence( self.note_sequence, 0, [(60, 100, 0.0, 4.0), (64, 100, 0.0, 3.0), (67, 100, 1.0, 2.0)]) self.note_sequence.notes[0].program = 2 quantized_sequence = sequences_lib.quantize_note_sequence_absolute( self.note_sequence, steps_per_second=100) perfs, _ = performance_lib.extract_performances(quantized_sequence) self.assertEqual(0, len(perfs))
def testExtractPerformancesSplitInstruments(self): testing_lib.add_track_to_sequence(self.note_sequence, 0, [(60, 100, 0.0, 4.0)]) testing_lib.add_track_to_sequence(self.note_sequence, 1, [(62, 100, 0.0, 2.0), (64, 100, 2.0, 4.0)]) quantized_sequence = sequences_lib.quantize_note_sequence_absolute( self.note_sequence, steps_per_second=100) perfs, _ = performance_lib.extract_performances(quantized_sequence, split_instruments=True) self.assertEqual(2, len(perfs)) perfs, _ = performance_lib.extract_performances(quantized_sequence, min_events_discard=8, split_instruments=True) self.assertEqual(1, len(perfs)) perfs, _ = performance_lib.extract_performances(quantized_sequence, min_events_discard=16, split_instruments=True) self.assertEqual(0, len(perfs))