Программа для переноса плейлистов из Spotify и текстовых треклистов в VK Музыку.
Преимущества:
- Позволяет быстро импортировать плейлисты из Spotify в VK Музыку
- Импортирует даже неточные по названию треки
- Имеет доступ только к аудиозаписям, данные никуда не "утекают"
- Поддерживает большие плейлисты (более 1000 треков)
- Позволяет импортировать также обычные текстовые списки треков в VK Музыку
- Умеет обходить капчу
Инструкция по использованию на Windows:
- Скачайте и распакуйте архив (vk-music-import-vX.X_win32.zip) в любую папку
- Запустите исполняемый файл и следуйте инструкциям:
Более подробная инструкция на DTF: Переносим плейлисты из Spotify в VK Музыку (подробное руководство) .
- Убедитесь, что у вас установлен Python 3.8 (или 3.9).
- Установите зависимости:
pip install -r requirements.txt
- Запустите скрипт и следуйте инструкциям:
python vk-music-import.py
- После переноса треков, скрипт сгенерирует отчет и выведет ссылку на плейлисты с импортированными треками.
- В приложении Музыка на Mac выберите плейлист в боковом меню, затем выберите «Файл» > «Медиатека» > «Экспортировать плейлист». Выберите формат «Простой Текст».
- В файле настроек (
config.env
, лежит в папке с программой) с помощью блокнота выключите режим spotify:SPOTIFY_MODE="0"
- Аналогично предыдущему шагу включите режим Apple Music:
APPLE_MODE="1"
- Запустите скрипт указав в аргументах файл с экспортированным плейлистом (удобно заранее положить файл в директорию со скриптом):
python vk-music-import.py example.txt
Чтобы перенести музыку из сторонних сервисов (YouTube, Apple Music, Яндекс Музыка и т.д.), вам необходимо будет экспортировать оттуда треклист (текстовой файл с названиями треков). Это можно сделать с помощью стороннего сервиса TuneMyMusic:
- Перейдите на сайт TuneMyMusic и нажмите кнопку «Давайте приступим».
- Выберите сервис, из которого вы хотите перенести музыку, и авторизуйтесь в нем.
- Выберите плейлист для переноса, нажав кнопку «Загрузить из вашей учетной записи».
- На странице «Выберите целевую платформу» нажмите кнопку «Файл» и скачайте его в формате .txt.
- Нажмите «Начать перенос музыки».
- Сохраните файл на свой компьютер, а затем переместите его в папку с данной программой и переименуйте в
tracklist.txt
. - В файле настроек (
config.env
, лежит в папке с программой) с помощью блокнота выключите режим spotify:SPOTIFY_MODE="0"
- Готово, запускайте скрипт!
Инструкция частично заимствована отсюда.
- Яндекс Музыка: расширение для Google Chrome (могут быть неточности из-за формата экспорта #5).
- YouTube Музыка: сервис yt.spotya.ru.
- Apple Music, Deezer, Amazon и другие: вместо TuneMyMusic можете воспользоваться конкурентом - Soundiiz.
По-умолчанию треки переносятся в плейлист без добавления в раздел "мои аудиозаписи". Чтобы включить добавление музыки в свою
медиатеку ВКонтакте, в config.env
включите соответственный пункт: ADD_TO_LIBRARY="1"
.
Используйте с осторожностью: ВКонтакте не проверяет трек на наличие в аудиозаписях, так что при импорте возможны дубликаты.
По-умолчанию включен импорт треков из плейлиста Spotify, чтобы перейти в режим импорта из треклиста, в config.env
отключите режим Spotify: SPOTIFY_MODE="0"
. Теперь скрипт будет искать треки из файла tracklist.txt
(его нужно
создать самостоятельно в папке со скриптом), который должен содержать список треков, разделенных переносом, например:
Khalid - Better
Billie Eilish - i love you
Если дефисы не проставлены, скрипт проставит их автоматически после первого слова.
По-умолчанию все плейлисты добавляются в обратном порядке (от новых к старым). Чтобы это отключить, в config.env
отключите режим обратного порядка: REVERSE="0"
.
По-умолчанию скрипт ищет неточные совпадения для треков и также их переносит, побочный эффект этого: в вашу медиатеку
могут попасть ремиксы и bassboosted-версии. Чтобы разрешить перенос только точных совпадений по исполнителю,
в config.env
включите строгий режим: STRICT_SEARCH="1"
.
Это происходит из-за проблем с установкой onnx-runtime.
- Решение 1: запустите скрипт через Python x64 с помощью Rosetta.
- Решение 2: отключить распознавание капчи и вводить ответы вручную. Для этого закомментируйте строчку
импорта
import onnxruntime as rt
вvk-music-import.py
и выключите распознавание капчи в файлеconfig.env
:BYPASS_CAPTCHA="0"
.
Вы можете скомпилировать данную утилиту самостоятельно, в том числе для своей операционной системы (в инструкции пример для Windows).
- Создайте виртуальное окружение и установите зависимости и Pyinstaller:
python -m virtualenv venv venv\Scripts\activate pip install -r requirements.txt pip install pyinstaller
- Запустите компиляцию (да, это больно):
pyinstaller --onefile --icon=app.ico --hidden-import=tkinter --hidden-import=tkinter.filedialog --hidden-import=tkinter.font --hidden-import=darkdetect --hidden-import=ctypes.wintypes --hidden-import=tkinter.ttk --add-binary="venv\Lib\site-packages\onnxruntime\capi\onnxruntime_providers_shared.dll;.\onnxruntime\capi" --add-binary="venv\Lib\site-packages\darkdetect;darkdetect/" --add-binary="venv\Lib\site-packages\customtkinter;customtkinter/" .\vk-music-import.py
- Скопируйте в папку
dist
файл с моделями капчи (models
) и файл конфигурации (config.env
):cp -r .\models\ .\dist\models cp .\config.env .\dist
- Айти заметки - телеграм-канал автора сервиса.
- Spotya - сервис для переноса музыки из Spotify в Яндекс Музыку, некоторые метаданные о плейлистах я собираю с его API.
- vkCaptchaBreaker - модель для решения капчи ВК взята из данного репозитория
- VK API Reference - описание методов VK API для доступа к аудиозаписям.
- Официальный сервис "Перенос Музыки" - Умеет переносить пользовательскую библиотеку из резервных копий Spotify
Автор не несет ответственности за любые действия, которые предпринимаете с данным ПО, вы делаете всё на свой страх и риск. Учитывайте, что данный метод импортирования музыки не является официальным, но банов за его использования пока не было.