Exemple #1
0
def lookback_melody_encoder_decoder(min_note, max_note):
    """Return a LookbackEventSequenceEncoderDecoder for melodies.

  Args:
    min_note: The minimum midi pitch the encoded melodies can have.
    max_note: The maximum midi pitch (exclusive) the encoded melodies can have.

  Returns:
    A melody LookbackEventSequenceEncoderDecoder.
  """
    return note_seq.LookbackEventSequenceEncoderDecoder(
        note_seq.MelodyOneHotEncoding(min_note, max_note))
                  list(range(39, note_seq.MAX_MIDI_PITCH + 1))])),
         contrib_training.HParams(
             batch_size=128,
             rnn_layer_sizes=[128, 128],
             dropout_keep_prob=0.5,
             clip_norm=5,
             learning_rate=0.001),
         steps_per_quarter=2),
 'drum_kit':
     events_rnn_model.EventSequenceRnnConfig(
         generator_pb2.GeneratorDetails(
             id='drum_kit',
             description='Drums RNN with multiple drums and binary counters.'
         ),
         note_seq.LookbackEventSequenceEncoderDecoder(
             note_seq.MultiDrumOneHotEncoding(),
             lookback_distances=[],
             binary_counter_bits=6),
         contrib_training.HParams(
             batch_size=128,
             rnn_layer_sizes=[256, 256, 256],
             dropout_keep_prob=0.5,
             attn_length=32,
             clip_norm=3,
             learning_rate=0.001)),
 'reduced_drum_kit':
      events_rnn_model.EventSequenceRnnConfig(
         generator_pb2.GeneratorDetails(
             id='reduced_drum_kit',
             description='Drums RNN without toms, rides and crashes (toms reinterpreted as snares, rides/crashes - as open hats).'
         ),
         note_seq.LookbackEventSequenceEncoderDecoder(
    events_rnn_model.EventSequenceRnnConfig(
        generator_pb2.GeneratorDetails(
            id='one_drum', description='Drums RNN with 2-state encoding.'),
        note_seq.OneHotEventSequenceEncoderDecoder(
            note_seq.MultiDrumOneHotEncoding(
                [[39] +  # use hand clap as default when decoding
                 list(range(note_seq.MIN_MIDI_PITCH, 39)) +
                 list(range(39, note_seq.MAX_MIDI_PITCH + 1))])),
        contrib_training.HParams(batch_size=128,
                                 rnn_layer_sizes=[128, 128],
                                 dropout_keep_prob=0.5,
                                 clip_norm=5,
                                 learning_rate=0.001),
        steps_per_quarter=2),
    'drum_kit':
    events_rnn_model.EventSequenceRnnConfig(
        generator_pb2.GeneratorDetails(
            id='drum_kit',
            description='Drums RNN with multiple drums and binary counters.'),
        note_seq.LookbackEventSequenceEncoderDecoder(
            note_seq.MultiDrumOneHotEncoding(),
            lookback_distances=[],
            binary_counter_bits=6),
        contrib_training.HParams(batch_size=128,
                                 rnn_layer_sizes=[256, 256, 256],
                                 dropout_keep_prob=0.5,
                                 attn_length=32,
                                 clip_norm=3,
                                 learning_rate=0.001))
}
                                                      max_note=128)),
                    contrib_training.HParams(batch_size=128,
                                             rnn_layer_sizes=[128, 128],
                                             dropout_keep_prob=0.5,
                                             clip_norm=5,
                                             learning_rate=0.001),
                    min_note=0,
                    max_note=128,
                    transpose_to_key=None),
    'lookback_rnn':
    MelodyRnnConfig(
        generator_pb2.GeneratorDetails(
            id='lookback_rnn',
            description='Melody RNN with lookback encoding.'),
        note_seq.LookbackEventSequenceEncoderDecoder(
            note_seq.MelodyOneHotEncoding(min_note=DEFAULT_MIN_NOTE,
                                          max_note=DEFAULT_MAX_NOTE)),
        contrib_training.HParams(batch_size=128,
                                 rnn_layer_sizes=[128, 128],
                                 dropout_keep_prob=0.5,
                                 clip_norm=5,
                                 learning_rate=0.001)),

    #ここに独自モデル追加
    'midi500_8bars_rnn':
    MelodyRnnConfig(generator_pb2.GeneratorDetails(
        id='midi500_8bars_rnn',
        description=
        'midi500_8bars_rnn RNN with lookback encoding and attention.'),
                    note_seq.KeyMelodyEncoderDecoder(min_note=0, max_note=128),
                    contrib_training.HParams(batch_size=128,