Программа для переноса плейлистов из Spotify и текстовых треклистов в VK Музыку.
Преимущества:
- Позволяет быстро импортировать плейлисты из Spotify в VK Музыку
- Импортирует даже неточные по названию треки
- Имеет доступ только к аудиозаписям, данные никуда не "утекают"
- Поддерживает большие плейлисты (более 1000 треков)
- Позволяет импортировать также обычные текстовые списки треков в VK Музыку
- Умеет обходить капчу
![](https://private-user-images.githubusercontent.com/15357833/291958646-0e0832cf-03a4-44d3-a082-a781458a5a87.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMxNzc3MjYsIm5iZiI6MTcyMzE3NzQyNiwicGF0aCI6Ii8xNTM1NzgzMy8yOTE5NTg2NDYtMGUwODMyY2YtMDNhNC00NGQzLWEwODItYTc4MTQ1OGE1YTg3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDA0MjM0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2NzBmMDU5ZWFiYzM5ZTMwYjdkMDgxZDZjZTdiOTA5ZmY2NjdhN2NhM2QwOTc5ZjYyZGNiMzk0YTI5ZjRkYzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.1BqH65egvB0HQ7KTU2diIpylxMiMTD0_AgXykE9uqa8)
![](https://private-user-images.githubusercontent.com/15357833/291958687-9c06eb70-61f1-440e-83fd-50d3234b73a2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMxNzc3MjYsIm5iZiI6MTcyMzE3NzQyNiwicGF0aCI6Ii8xNTM1NzgzMy8yOTE5NTg2ODctOWMwNmViNzAtNjFmMS00NDBlLTgzZmQtNTBkMzIzNGI3M2EyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDA0MjM0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQwZjc0NzQxZDdkMjJmYTk2NTJjNDRmMmNjZWM4ODQzNDllYWNkMTI1MTRjMmQ4N2VjZmJmN2NhZDgzYjhjNzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.kdMwzjX9RobkSbF8ZJ6LK6fDpxAoGE2falzzzBXkgsE)
![](https://private-user-images.githubusercontent.com/15357833/291958666-30db41d3-6886-49c9-a711-9a2b04a44954.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMxNzc3MjYsIm5iZiI6MTcyMzE3NzQyNiwicGF0aCI6Ii8xNTM1NzgzMy8yOTE5NTg2NjYtMzBkYjQxZDMtNjg4Ni00OWM5LWE3MTEtOWEyYjA0YTQ0OTU0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDA0MjM0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgyYWMwOWE1YTQ1YzA5MzM0MDdjMTMxMTJmMzYzNjJlMmRiZjNjZDZjM2ZmNzIzYjlkM2NkOGQ5Y2Q5YzBkNTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.wMOV6JkQpHJ3t0jy6ZbdGmGFEHm9aN96qekW2rCkUZ8)
Инструкция по использованию на Windows:
- Скачайте и распакуйте архив (vk-music-import-vX.X_win32.zip) в любую папку
- Запустите исполняемый файл и следуйте инструкциям:
Более подробная инструкция на DTF: Переносим плейлисты из Spotify в VK Музыку (подробное руководство) .
- Убедитесь, что у вас установлен Python 3.8+.
- Установите зависимости:
pip install -r requirements.txt
- Запустите скрипт и следуйте инструкциям (если некоторые библиотеки не устанавливаются - игнорируйте это, часть библиотек
используется только для компиляции win32 с помощью pyinstaller - об этом в другом разделе):
python vk-music-import.py
- После переноса треков, скрипт сгенерирует отчет и выведет ссылку на плейлисты с импортированными треками.
- В приложении Музыка на Mac выберите плейлист в боковом меню, затем выберите «Файл» > «Медиатека» > «Экспортировать плейлист». Выберите формат «Простой Текст».
- В файле настроек (
config.env
, лежит в папке с программой) с помощью блокнота выключите режим spotify:SPOTIFY_MODE="0"
- Аналогично предыдущему шагу включите режим Apple Music:
APPLE_MODE="1"
- Запустите скрипт, поместив экспортированный файл в папку со скриптом (ВАЖНО: файл должен называться
tracklist.csv
):
python vk-music-import.py
Важно: данный режим экспериментальный и может не поддерживаться полностью.
Чтобы перенести музыку из сторонних сервисов (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.
На любой трек во ВКонтакте можно получить прямую ссылку, если вы создадите список таких ссылок, то их также можно будет добавить в плейлист с помощью данной утилиты. Это может быть полезно, если вы создаете плейлисты в стороннем приложении для прослушивания музыки, например, в AIMP с использованием плагина VK Plugin.
Чтобы перейти в режим импорта из списка ссылок, в config.env
отключите режим Spotify: SPOTIFY_MODE="0"
и включите
режим VK_LINKS_MODE="1"
. Теперь скрипт будет добавлять треки по ссылкам из файла tracklist.txt
минуя поиск. Вот как
должен выглядеть этот список:
https://vk.com/audio570484580_456249918_30a6c863d7cb56d834
https://vk.com/audio570484580_456245588_3c170a3340106a374a
https://vk.com/audio570484580_456245614_4bb21fb36173e3c61b
https://vk.com/audio570484580_456254608_7784e1bddd07c3289f
- Установить VK Plugin в AIMP
- Правой кнопкой мыши по списку треков "Экспорт треклиста"
- Появится окошко с настройками экспорта, в поле "Форматная строка" написать
%Link
и кликнуть "ОК" - Готово! Треклист можно сохранять как
tracklist.txt
, предварительно удалив из него лишние строки в самом начале файла.
Параметр | Описание | Значение по умолчанию |
---|---|---|
VK_TOKEN |
Токен для доступа к VK API** | "" |
BYPASS_CAPTCHA |
Включить обход капчи автоматически (если отключить, будет предложено вводить капчу каждый раз вручную) | 1 |
SPOTIFY_MODE |
Включить режим импорта из Spotify | 1 |
APPLE_MODE |
Включить режим импорта из Apple Music | 0 |
VK_LINKS_MODE |
Включить режим импорта из списка ссылок на треки во Вконтакте (ссылки должны быть в файле tracklist.txt ) |
0 |
REVERSE |
Добавлять треки в обратном порядке (от новых к старым) | 1 |
STRICT_SEARCH |
Искать только точные совпадения по исполнителю | 0 |
ADD_TO_LIBRARY |
Добавлять треки в мои аудиозаписи | 0 |
ADD_TO_GROUP_ID |
Добавлять треки в сообщество с указанным ID. Если пусто, то опция выключена. | `` |
TIMEOUT_AFTER_ERROR |
Задержка после ошибки (в секундах)* | 10 |
TIMEOUT_AFTER_CAPTCHA |
Задержка после капчи (в секундах)* | 30 |
TIMEOUT_AFTER_SUCCESS |
Задержка после успешного импорта (в секундах)* | 1 |
*Только для beta-версии. ** Ссылка для получения токена здесь.
По-умолчанию треки переносятся в плейлист без добавления в раздел "мои аудиозаписи". Чтобы включить добавление музыки в свою
медиатеку ВКонтакте, в 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"
.
Чтобы добавить треки в сообщество (группу), вы должны быть её администратором. В config.env
добавьте строчку:
ADD_TO_GROUP_ID="123456789"
. Вместо123456789
укажите ID сообщества (как узнать id группы в VK),
в которое вы хотите добавить треки.
Это происходит из-за проблем с установкой onnx-runtime.
- Решение 1: запустите скрипт через Python x64 с помощью Rosetta.
- Решение 2: отключить распознавание капчи и вводить ответы вручную. Для этого закомментируйте строчку
импорта
import onnxruntime as rt
вvk-music-import.py
(можете удалить строчки, где эта библиотека используется) и выключите распознавание капчи в файлеconfig.env
:BYPASS_CAPTCHA="0"
.
- Увеличьте значение
CAPTCHA_TIMEOUT
вconfig.env
(по-умолчанию 30 секунд)*. - Отключите автоматический обход капчи в
config.env
:BYPASS_CAPTCHA="0"
и вводите ответы вручную. - Повторите попытку через некоторое время, возможно ВКонтакте временно заблокировал ваш аккаунт.
Все настройки хранятся в файле config.env
, если он был удален или повредился, то его можно восстановить вручную, вставив настройки по умолчанию из файла в репозитории.
Вы можете скомпилировать данную утилиту самостоятельно, в том числе для своей операционной системы (в инструкции пример для Windows).
- Создайте виртуальное окружение и установите зависимости и Pyinstaller:
python -m virtualenv venv venv\Scripts\activate pip install -r requirements.txt pip install pyinstaller
- Запустите компиляцию (да, это больно):
pyinstaller --onefile --icon=app.ico --add-binary="venv\Lib\site-packages\onnxruntime\capi\onnxruntime_providers_shared.dll;.\onnxruntime\capi" --windowed --hidden-import=PySide2 --hidden-import=tkinter .\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
Автор не несет ответственности за любые действия, которые предпринимаете с данным ПО, вы делаете всё на свой страх и риск. Учитывайте, что данный метод импортирования музыки не является официальным, но банов за его использования пока не было.