Муберт. Нейросеть, которая пишет музыку.
Вы знакомы с Мубертом? Нет? Не знаете, кто это?
Оно и понятно, ведь Муберт — это не кто, а что. Это нейросеть, которая умеет сочинять довольно недурственные композиции по запросу. Вы придумываете какую-нибудь фразу, несущую немножко смысла и настроения, а Муберт придумывает на эту фразу музыку.
Звучит волшебно, не правда ли?
О, да! Это то, чего мне так не хватало! Дайте два! Стоп, а сколько стоит этот самый Муберт?
На самом деле тестовая версия абсолютно бесплатна и количество сочиняемых ею композиций не ограниченно (насколько я могу судить). Однако, чтобы воспользоваться Мубертом, придётся приложить немного усилий. Если вы программист, а ещё лучше питонист, вы легко поставите себе эту нейросеть на компьютер и начнёте заказывать музыку уже через десять минут.
Если вы не питонист, и не программист... что ж. Придётся попотеть. Но оно того стоит.
Во-первых, вам понадобится Windows 10, или любая другая операционка того же уровня свежести (данная инструкция будет ориентирована на пользователей Windows). Уж извините семёрошники, но разработчики ПО кладут свой вычислительный прибор на поддержку устаревших программ. Хотите пользоваться современными программами, платите бабки. Если не за сами программы, то за железо, которое эти программы потянет. Нейросети, между прочим, неплохо так ресурсов кушают.
Во-вторых, вам нужно установить Python. Это не сложно, достаточно зайти на python.org и скачать последнюю версию.

Важно! В начале установки, на самом первом диалоговом окне не забудьте поставить галочку вот здесь, чтобы python прописался в специальную системную переменную, и вы могли его вызывать простой командой из командной строки.

Все знают, что такое командная строка, и как её открыть? Отлично, тогда после установки откройте командную строку и запустите команду "py". Если увидите в ответ подобное сообщение, значит python установлен верно:

В-третьих, вам нужно установить Microsoft Visual Studio Code. Или другое IDE, работающее аналогичным образом. MS Visual Studio Code можно скачать отсюда: https://code.visualstudio.com. Здесь вообще никаких сложностей не должно возникнуть. Эта зараза, кстати, и требует версию Windows чуть менее разложившуюся на плесень и на липовый мёд, чем Windows 7, так что примите к сведению.

Ну и, в-четвёртых. Идём на гитхаб. Как всегда, всё самое вкусное там: https://github.com/MubertAI/Mubert-Text-to-Music. Качаем файл "Mubert_Text_to_Music.ipynb" и открываем в Visual Studio Code.

При этом, если у вас не установлено расширение для Python, VS Code сам предложит его установить.

После чего наверху "страницы" должна появиться кнопка "Run all". Можете нажать её, но я рекомендую нажимать последовательно кнопку "Run" рядом с каждым блоком, начиная сверху вниз. Ждёте, когда блок выполнится, запускаете следующий.

И вот тут могут начать вылезать ошибки. Если не установлен jupyter, об этом сообщит сам VS Code, но его диалоговое окно лучше сразу закрыть, и открыть командную строку, а уже из командной строки запустить установку jupyter командой:
- py-m pip install jupyter

Все пакеты Юпитера могут устанавливаться долго, но в конце вы увидите примерно следующее.

Дальше снова запускаете блоки, начиная с первого и смотрите, какую ошибку выдаёт вам программа. Всё это должны быть ошибки о не установленных в системе пакетах. Поэтому смотрите на название пакета в ошибке, и устанавливаете его той же командой:
- py-m pip install
Когда все пакеты будут установлены, и каждый блок кода отработает, как надо, вы окажетесь перед двумя последними блоками. И вот они-то как раз и отвечают за конечный процесс ввода текста и получения музыки.
В первом блоке вы видите три переменные, которые можно и нужно менять, чтобы сгенерировать собственную уникальную композицию.

prompt -это строка текста. Можно писать и по-русски, но английский Муберт понимает лучше.
duration - продолжительность трека в секундах. Рекомендую не ставить слишком большие значения, композиция может попросту не подгрузиться.
loop - этот параметр принимает значение True или False. Делаете True, если хотите, чтобы композицию можно было циклить. И делаете False, если хотите, чтобы композиция имела логический финал.
Всё. Запускаете блок и он генерирует вам одну мелодию.
Если хотите генерировать сразу несколько мелодий, переходите к последнему блоку.

Здесь у вас есть две переменные:
duration - длина генерируемых треков
prompts - список строчек. По одной строке на каждый трек. Список должен помещаться в квадратные скобки, каждая строка должна быть обрамлена в кавычки, и строки должны отделяться друг от друга запятыми. Образец уже встроен в Муберт.
Меняете строчки на свои, меняете длительность и запускаете. Я забиваю в список 5-8 одинаковых строк, жду пока Муберт сгенерит сразу несколько треков на одинаковую тему и затем выбираю из этих сгенерированных треков тот, который мне больше подходит. Я уже штук пятьсот композиций так нагенерил, и многие из них неплохие.
Вот такая потрясающая магия.
Поскольку здесь нельзя прикреплять аудио, вместо приведения примера композиций я отправлю вас к видео Ваганыча, где он запускает и тестирует Муберта.
Или можете таки зайти в мой плейлист треков Муберта в вк
https://vk.com/music/playlist/40090736_8_05fcebf6d4037d0f48
До чего наука дошла? Скоро роботы будут за нас всё делать))
Забодался ставить модули питона, не смог одолеть ошибку:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
Note: you may need to restart the kernel to use updated packages.
ERROR: Cannot install sentence-transformers==0.1.0, sentence-transformers==0.2.0, sentence-transformers==0.2.1, sentence-transformers==0.2.2, sentence-transformers==0.2.3, sentence-transformers==0.2.4, sentence-transformers==0.2.4.1, sentence-transformers==0.2.5, sentence-transformers==0.2.5.1, sentence-transformers==0.2.6.1, sentence-transformers==0.2.6.2, sentence-transformers==0.3.0, sentence-transformers==0.3.1, sentence-transformers==0.3.2, sentence-transformers==0.3.3, sentence-transformers==0.3.4, sentence-transformers==0.3.5, sentence-transformers==0.3.5.1, sentence-transformers==0.3.6, sentence-transformers==0.3.7, sentence-transformers==0.3.7.1, sentence-transformers==0.3.7.2, sentence-transformers==0.3.8, sentence-transformers==0.3.9, sentence-transformers==0.4.0, sentence-transformers==0.4.1, sentence-transformers==0.4.1.1, sentence-transformers==0.4.1.2, sentence-transformers==1.0.0, sentence-transformers==1.0.1, sentence-transformers==1.0.2, sentence-transformers==1.0.3, sentence-transformers==1.0.4, sentence-transformers==1.1.0, sentence-transformers==1.1.1, sentence-transformers==1.2.0, sentence-transformers==1.2.1, sentence-transformers==2.0.0, sentence-transformers==2.1.0, sentence-transformers==2.2.0, sentence-transformers==2.2.1 and sentence-transformers==2.2.2 because these package versions have conflicting dependencies.
Может, подскажете, как победить, чтобы уж инструкция была полностью актуальной?
Идёт какой-то конфликт зависимостей. Сложно сказать, в чём именно конфликт. Может быть установлен python 32 битной версии, а пакеты загружаются для 64 битной. Может и правда нужно удалить sentence-transformers и попытаться установить снова.
Сестра, когда ставила jupyter, не видела никакой ошибки, но ей постоянно выдавалось сообщение, что jupyter не установлен. Оказалось, что в PATH прописаны два python, и jupyter ставился не на тот, которым она пользовалась.
Извините, больше даже не знаю, чем помочь.