Exemplo n.º 1
0
  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)
Exemplo n.º 2
0
 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)