Создает музыкальное видео .mp4 в стиле замедления и реверберации на основе заданного URL-адреса любой музыки на YouTube Music и любого выбранного GIF-файла с помощью блокнота Jupyter.
Для достижения цели данного проекта были использованы следующие источники:
Эта работа выполнена в Python 3.10.5
. Чтобы установить зависимости, запустите pip install -r requirements.txt
на терминале PowerShell. Сохраните textclipfonts.txt
в том же месте, где хранится snr-generator.ipynb
, чтобы можно было изменить шрифт текста в окончательно сгенерированном видео.
Чтобы разрешить добавление текстового заголовка в видео, ImageMagick должен быть установлен на локальном компьютере. Загрузите ImageMagick здесь. В окне установки ImageMagick отметьте следующие два параметра:
Откройте файл snr-generator.ipynb
в блокноте Jupyter. Скрипту требуется определенный каталог для сохранения окончательного выходного файла .mp4
. Для этого запустите первый блок кода, как показано ниже, и вставьте каталог файла в поле без в конце адреса каталога. Например, C:UsersuserDownloads
вместо C:UsersuserDownloads
.
Запустите второй блок. Вам будет предложено вставить ссылку на любую музыку YouTube (или любое видео YouTube) ниже. Сценарий сначала загрузит расширение .webm
указанной URL-ссылки, затем преобразует его в .mp3
, а затем удалит файл .webm
во вновь созданной папке temp
в назначенном каталоге.
После загрузки аудио блок кода изменит загруженный звук со speed = 0.85
и reverb_rate = 0.1
. Изменение значений этих двух переменных приведет к повторному запуску блока кода. Установка переменных speed = 1.0
и reverb_rate = 0
покажет исходный немодифицированный файл .mp3
. Чтобы замедлить звук, используйте ползунок и уменьшите значение speed
меньше 1.0
. Чтобы ускорить звук, используйте ползунок и увеличьте значение speed
более 1.0
. Если для reverb_rate
установлено значение 0, эффект реверберации удаляется из звука. Присвоение ненулевого значения reverb_rate
применяет к звуку эффект размера комнаты.
Нравятся настройки скорости и реверберации звука? Перейдите к следующему блоку кода ниже. Вам будет предложено выбрать GIF-файл, который будет повторяться на протяжении всего видео. Обратите внимание, что в окне выбора файла будет отображаться место сохранения snr-generator.ipynb
. Следующий блок совершенно необязателен. Запустив его, вы просто отобразите GIF-файл, который вы выбрали в предыдущем блоке, и его пропуск не повлияет на остальную часть процесса.
Запустите следующий блок после блока кода (Optional) ...
чтобы назначить шрифт видео. Шрифт по умолчанию в этом блокноте установлен на Brush-Script-MT-Italic
но его можно изменить на другие шрифты.
По умолчанию текст окончательного файла .mp4
будет содержать {YouTube video title from URL}
+ (Slowed & Reverb)
. Чтобы вручную добавить текст в видео, измените строку
name_caption = filename_abbrv.replace(PATH + '\', "") + ' (slowed & Reverbed)'
во что-то другое. Например, видео с произвольным заголовком будет иметь name_caption = 'Symphony No. 5 (speed up version)''. The apostrophe must be wrapped around the name or else
name_caption` не передаст входные данные в виде строки.
Наконец, запустите этот блок и получите окончательный выходной файл .mp4
. Выходной файл будет сохранен в каталоге, назначенном из первого блока кода, а папка temp
будет удалена.
Массачусетский технологический институт