def testEncodeNoteSequence(self): encoder = music_encoders.FlattenedTextMelodyEncoderAbsolute( steps_per_second=4, num_velocity_bins=127) ns = music_pb2.NoteSequence() ns.tempos.add(qpm=60) testing_lib.add_track_to_sequence( ns, 0, [(60, 127, 0.0, 0.25), (62, 15, 0.25, 0.75), (64, 32, 1.25, 2.0)]) ids = encoder.encode_note_sequence(ns) expected_ids = [ 130, # ON(vel=127) 18, # ON(vel=15) 2, # HOLD(62) 2, # REST 2, # REST 35, # ON(vel=32) 2, # HOLD(64) 2 # HOLD(64) ] self.assertEqual(expected_ids, ids)
def testVocabSize(self): num_vel_bins = 12 encoder = music_encoders.FlattenedTextMelodyEncoderAbsolute( steps_per_second=4, num_velocity_bins=num_vel_bins) expected = num_vel_bins + encoder.num_reserved_ids + 2 self.assertEqual(expected, encoder.vocab_size)