コード例 #1
0
            indices = np.random.choice(88,
                                       chord_size,
                                       replace=False,
                                       p=[i / sum(preds) for i in preds])
            for index in indices:
                next.append(index)
                rounded_preds[index] = 1
            chord_size_and_preds = np.append(chord_size_zeroed, rounded_preds)
            p = np.array(
                [np.append(p[0], np.array([chord_size_and_preds]), axis=0)])
            p = np.delete(p, 0, 1)

            nexties.append([pno_pitcher(i) for i in next])

        print()
        # print(nexties)
# simple_pno_mari = simple_pno_mari[start_index:start_index+maxlen]
# simple_pno_mari=[[pno_pitcher(i[j]) for j in range(len(i))] for i in simple_pno_mari]

tot_music = nexties

notes = []
time = 0.0
for i in tot_music:
    dur = 2.0 / 16.0
    for j in i:
        notes.append([pno_numberer(j) * 2, time, dur, 30])
    time += dur

midi_generator(notes, 'feldman_dream_3.3.again.mid', sustain='yes')
コード例 #2
0
ファイル: dream_1.0.py プロジェクト: jon-myers/Feldman_dreams
import random
import sys
import pretty_midi
from data import midi_numberer, pno_numberer, grade_and_chorder, pno_pitcher
from algs import midi_generator

mari_287_to_310 = [['d4'],['g4','c5'],['f4'],['af3','ef5'],['d4'],['g4','c5'],['f4'],['af3','ef5'],['f4'],['g5','ef5'],\
                   ['df4'],['c6','ef5'],['f4'],['bf3','ef4'],['d4'],['gs5','a5','ef5'],['d4'],['b3','c5'],['ef4'],['c6','df5'],\
                   ['f5'],['bf4','ef6'],['df5'],['d4','c6'],['ef4'],['af4','df5'],['fs4'],['a3','e5'],['ef4'],['af4','df5'],\
                   ['fs4'],['a3','e5'],['fs4'],['af5','e5'],['d4'],['cs6','e5'],['fs4'],['b3','e5'],['ds4'],['a5','bf5','e5'],['ds4'],['c4','cs5'],\
                   ['e4'],['cs6','d5'],['fs5'],['b4','e6'],['d5'],['ef4','cs6']]
simple_pno_mari = []
for i in mari_287_to_310:
    partial = []
    for j in i:
        partial.append(pno_numberer(j))
    simple_pno_mari.append(partial)
simple_keyboard_mari = np.zeros((len(mari_287_to_310), 88), dtype=bool)
for i, item in enumerate(simple_pno_mari):
    for j in item:
        simple_keyboard_mari[i][j] = 1.0

print('score length:', len(simple_keyboard_mari))

# cut the text in semi-redundant sequences of maxlen characters

maxlen = 12
step = 1
phrases = []
next_notes = []
コード例 #3
0
def expander(set):
    g = [(i, 0.5) for i in set]
    return g


mari_pg_8_partial = [(16, [(i[0][0], 0)] + expander(i[1]))
                     for i in mari_pg_8_partial]

tot_length = len(mari_pg_8_partial) * 16 * 2
simple_pno_mari = []
for i in mari_pg_8_partial:
    for j in range(32):
        next = []
        for k in i[1]:
            if k[1] == j / 2.0:
                next.append(pno_numberer(k[0]))
        simple_pno_mari.append(next)

simple_keyboard_mari = np.zeros((len(simple_pno_mari), 88), dtype=bool)
for i, item in enumerate(simple_pno_mari):
    for j in item:
        simple_keyboard_mari[i][j] = 1.0

largest_chord = 4
chord_size = [len(i) for i in simple_pno_mari]
chord_size_nn = np.zeros([len(chord_size), largest_chord], bool)
for i, item in enumerate(chord_size):
    chord_size_nn[i][item] = 1

simple_keyboard_mari = np.concatenate((chord_size_nn, simple_keyboard_mari),
                                      axis=1)