SilentVoid13 / SyncDisBoi

Music streaming platforms (Youtube Music, Spotify, Tidal) synchronization tool
GNU Affero General Public License v3.0
9 stars 0 forks source link
music-library playlist playlist-manager spotify tidal youtube-music

SyncDisBoi

SyncDisBoi is a simple and efficient tool designed to synchronize playlists across different music streaming platforms. It currently supports:

It's the perfect solution for music enthusiasts who want to keep their playlists updated across different music streaming platforms and enjoy the various recommendations algorithms.

Disclaimer: While SyncDisBoi doesn't perform any deletion operations, it's always a good practice to backup your playlists. I am not responsible for any unintended changes to your playlists.

Accuracy

SyncDisBoi focuses on synchronization accuracy, ensuring that each song on the source playlist accurately matches the corresponding song on the destination playlist. This feature is particularly useful for users who prioritize maintaining the integrity of their playlists and avoid ending up with unexpected remixes during synchronization.

SyncDisBoi verifies the following properties to ensure that the two songs match:

Notes:

Usage

# convert your playlists from Youtube Music to Spotify
cargo run --release -- yt-music spotify --client-id "<CLIENT_ID>" --client-secret "<CLIENT_SECRET>"
# convert your playlists from Tidal to Youtube Music
cargo run --release -- tidal yt-music

To use SyncDisBoi, you need to set up account access for the API of the corresponding music platform.

Spotify API

You will then need to provide the client id and client secret as arguments for SyncDisBoi.

Notes:

Youtube Music API

The OAuth token will be cached in ~/.config/SyncDisBoi/ytmusic_oauth.json (on Linux) for future use.

Notes:

Tidal API

The OAuth token will be cached in ~/.config/SyncDisBoi/tidal_oauth.json (on Linux) for future use.

Notes:

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on how to contribute to this project.

License

SyncDisBoi is licensed under the GNU AGPLv3 license. Refer to LICENSE for more information.

Support

Your support helps me continue to maintain and improve this project. If you find SyncDisBoi useful and want to show your appreciation, consider sponsoring or donating:

Every bit of support is greatly appreciated!

GitHub Sponsors Paypal