Pull to refresh

Comments 6

Отличный проект, давно ждал следующего поколения автокомпозиторов! Первым успешным, который я видел, была программа AlgoMusic для компьютеров Amiga. Также интерес представляет одна из новых программ, cgMusic. Все они работают на «классическом» принципе — музыкальная теория + случайные числа. cgMusic интересна тем, что может генерировать в нескольких жанрах на выбор (рок, поп, марш и т.д.). Algomusic генерирует только техно, но некоторые его «произведения» мне так понравились, что попали в фонотеку.

Ваша система с ранжировщиком напоминает архитектуру GAN. Интересно, а можно ли здесь прикрутить GAN в чистом виде? Например, одна сеть создает музыку, а второй на вход приходит музыка, и она пытается классифицировать, человек ее сочинил или машина. И обе сети развиваются в гонке друг против друга. Одна пытается обмануть другую, а другая пытается найти более тонкие признаки, чтобы распознать обман.

На принципе GAN построены сетки, генерирующие фотографии людей с пугающе высокой правдоподобностью, что не каждый человек не всегда поймет, что перед ним «мираж».

Про применение GAN мы думали, но в нашей задаче использовать его будет достаточно проблематично. Кроме того, сложнее получится и процесс тренировки. Поэтому мы решили тренировать ранжировщик отдельно. Хотя в будущем вполне возможно, что мы перейдем на GAN архитектуру.

На AIVA смотрели, результаты у них действительно классные. Но насколько я понял, эта модель (или ансамбль моделей) генерирует небольшие отдельные партии, которые затем повторяются при сборке финального трека. И консистентность мелодии достигается как раз за счет принудительного повторения фрагментов. Наш подход отличается тем, что мы синтезируем трек одной моделью целиком за один "проход".

Раз уж обучение 2х этапное, почему не стали перформер у генерирующей модели учить выдавать latent space vector?

По моим прикидкам инференс будет "легче", если сначала репрезентацию такта генерить большой моделью, а потом уже превращать такт в токены для проигрывания (меньшей моделью).

Sign up to leave a comment.