「Spotifyの音楽をダウンロードしたい」
「無料で安心してMP3ファイルをダウンロードしたい」
このような場合には、spotDLがオススメです。
この記事では、spotDLについて解説しています。
本記事の内容
- spotDLとは?
- spotDLのシステム要件
- spotDLのインストール
- spotDLの動作確認
それでは、上記に沿って解説していきます。
spotDLとは?
spotDLは、Spotifyのプレイリストと音楽をダウンロードするためのツールです。
無料かつオープンソースであるため、安心して利用できます。
ただし、勘違いしないで欲しいことがあります。
spotDLは、Spotifyから音声ファイルをダウンロードしているわけではありません。
あくまで、Spotify上の情報をspotDLが参考にしているだけです。
その情報により、spotDLがYouTubeから音声ファイルをダウンロードしているのです。
だからこそ、Spotifyにログインする必要がありません。
Spotifyにログインしていないため、違法になる危険もないと言えます。
公開されているファイルをダウンロードして、私的に利用するだけです。
もちろん、それをアップロードなどしたら、著作権違反の問題になるでしょう。
とりあえず、言えることは法律を守りましょうということです。
あと、ログインしてのダウンロードは危険な行為になります。
以上、spotDLについて説明しました。
次は、spotDLのシステム要件を説明します。
spotDLのシステム要件
現時点(2022年7月)でのspotDLの最新バージョンは、3.9.6となります。
この最新バージョンは、2022年5月11日にリリースされています。
spotDLのシステム要件では、以下がポイントとなります。
- OS
- Pythonバージョン
- FFmpeg
それぞれを以下で説明します。
OS
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
なお、WindowsとLinux(Ubuntu)では実際に動作検証済みです。
macOSに関しては、試せる環境を持っていません。
Pythonバージョン
サポート対象となるPythonのバージョンは、以下となっています。
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
このサポート状況は、以下のPython公式開発サイクルには準拠していません。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
2022年以降は、Python 3.6はサポート対象外となっています。
その点からすると、Python 3.6のサポートは不要と言えます。
それであれば、spotDLはPython 3.10をサポートしておくべきしょう。
と言っても、Python 3.10でも問題なく動きますけどね。
FFmpeg
FFmpeg 4.2以降が必要となります。
かつ、パスが通っている必要があります。
FFmpegのインストールは、次の記事を参考にしてください。
以上、spotDLのシステム要件を説明しました。
次は、spotDLのインストールを説明します。
spotDLのインストール
検証は、次のバージョンのPythonで行います。
$ python -V Python 3.10.2
spotDLのインストールの際は、Pythonの仮想環境を利用することを推奨します。
理由は、spotDLの依存するパッケージ数が多すぎるからです。
簡単に言うと、環境がかなり汚れます。
そのため、Python仮想環境の利用をオススメします。
Python仮想環境については、次の記事で解説しています。
用意が整ったら、インストールを行います。
まずは、現状のインストール済みパッケージを確認しておきます。
$ pip list Package Version ---------- ------- pip 22.1.2 setuptools 63.2.0 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、spotDLのインストールです。
spotDLのインストールは、以下のコマンドとなります。
pip install spotdl
spotDLのインストールは、少しだけ時間がかかります。
終了したら、どんなパッケージがインストールされたのかを確認します。
$ pip list Package Version ------------------ ----------- async-timeout 4.0.2 beautifulsoup4 4.11.1 Brotli 1.0.9 certifi 2022.6.15 charset-normalizer 2.1.0 commonmark 0.9.1 Deprecated 1.2.13 idna 3.3 jarowinkler 1.2.0 mutagen 1.45.1 packaging 21.3 pip 22.1.2 pycryptodomex 3.15.0 Pygments 2.12.0 pyparsing 3.0.9 pytube 12.1.0 rapidfuzz 2.2.0 redis 4.3.4 requests 2.28.1 rich 12.5.1 setuptools 63.2.0 six 1.16.0 soupsieve 2.3.2.post1 spotdl 3.9.6 spotipy 2.20.0 Unidecode 1.3.4 urllib3 1.26.10 websockets 10.3 wheel 0.36.2 wrapt 1.14.1 yt-dlp 2022.7.18 ytmusicapi 0.22.0
spotDLが多くのパッケージに依存していることを確認できます。
だからこそ、Python仮想環境の利用を推奨しています。
以上、spotDLのインストールを説明しました。
次は、spotDLの動作確認を説明します。
spotDLの動作確認
spotDLの動作確認を行います。
まずは、Spotifyへアクセス。
トップ50(日本)画面に移動。
ここでダウンロードしたい曲のリンクをコピーします。
「…」→「シェア」→「曲のリンクをコピー」
上記の動作で該当曲のリンクをコピーできます。
コピーできた曲ページのリンクは、以下。
https://open.spotify.com/track/60ReNXcPcsVFd7nUuQw5HZ
このURLを利用して、mp3をダウンロードします。
その前に、まずはspotdlコマンドが機能するかをチェック。
$ spotdl --version 3.9.6
上記のようにインストールしたspotDLのバージョンが表示されたら、OKです。
spotdlコマンドは、次のようにして曲をダウンロードします。
spotdl SpotifyのURL
今回は、曲をピンポイントでダウンロードします。
だから、SpotifyのURLは曲ページのリンクを指定することになります。
もしアルバムの曲すべてをダウンロードする場合は、アルバムページのリンクとなります。
プレイリスト、アーティストなどのページも指定可能です。
では、実際に曲をダウンロードしてみましょう。
コマンドを実行した結果は、以下。
$ spotdl https://open.spotify.com/track/60ReNXcPcsVFd7nUuQw5HZ Fetching Song... Found YouTube URL for "Official HIGE DANdism - ミックスナッツ" : https://www.youtube.com/watch?v=Jus-NnYJ6Ss Official HIGE DANdism - ミックスナッツ Done ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
ここで注目すべきは、次の行です。
Found YouTube URL for "Official HIGE DANdism - ミックスナッツ" : https://www.youtube.com/watch?v=Jus-NnYJ6Ss
このメッセージは、YouTube Music上で「ミックスナッツ」を見つけたことを意味しています。
処理が完了すると、「Official HIGE DANdism – ミックスナッツ.mp3」というファイルを確認できます。
この音声ファイルは、問題なくプレーヤーで再生することが可能です。
以上、spotDLの動作確認について説明しました。
追記 2022年7月27日
spotDLのインストールに失敗する場合は、次の記事をご覧ください。