Pull to refresh
0
0
Send message
Уже реализовано: www.jukedeck.com. Покупают для ТВ заставок как фон.
И это тоже: www.aiva.ai
1) Я не использовал Magenta и что конкретно там в коде не знаю. Я писал свое решение. Keras для сетки и библиотека mido для обработки midi файлов.
2) Абсолютно во всех статьях в интернете при создании последовательности (sequence) для обучения, используют только код ноты. Но в midi файле больше информации. И одна и та же нота может проигрываться по разному. Если не учитывать это, то результат получается монотонный. К сожалению такой подход увеличивает время обучения и требует большего количества midi файлов. Обратите внимание также на temp мелодии и отбирайте midi файлы с приблезительно одинаковым значением. И конечно же одного стиля музыки. Для тренировки я арендовал сервер с видеокартой NVIDIA Tesla-100 у Google.

Более наглядно:
block = ""
if msg.type == 'note_off':
    block = "0"
elif msg.type == 'note_on':
    block = "1"
else:
    continue

block += " " + str(msg.channel)
block += " " + str(msg.note)
block += " " + str(msg.velocity)
block += " " + str(msg.time)

sequence.append(block)
Обратите внимание еще и на длительность ноты, ускорение, канал.

Information

Rating
Does not participate
Registered
Activity