概要#
spotify-downloader(以下、spotDL と略します)は、コマンドラインツールで、提出された Spotify リンクを通じて YouTube Music で対応する曲をマッチングし、ダウンロードします。その後、Spotify が提供する曲のメタ情報をダウンロードしたファイルに付与します。この方法でダウンロードされたファイルのアルバムカバーは明確で正確であり、曲名、アーティスト、アルバム、年、スタイルなどの情報が完全で、ほとんどの場合、歌詞も含まれています。私のようにオフライン音楽ライブラリの音質に過度な要求がないが、音楽ソフトウェアで空白のアルバムカバーや「未知のアーティスト」などの強迫観念的な不快感を避けたい場合、このツールは完璧にニーズを満たすと言えます。
準備作業#
注意すべきは、spotDLはコマンドラインツールであり、すべての操作はターミナル内で行う必要があるということです。しかし、実際には非常に簡単で、全くの初心者でも手順に従って行えば難しくありません。
条件#
spotDLを使用するには、以下の条件を満たす必要があります:
- Spotify アカウントを持っていること(Spotify の共有リンクをコピーする必要があります);
- YouTube Music を使用できるネットワーク条件(国内の友人は YTM 地域をサポートするネイティブ IP を使用する必要があり、最も簡単な方法は直接music.youtube.comを開いて正常にアクセスできるか確認することです。ホームページが表示されれば問題ありません。「Coming Soon」と表示される場合、その地域またはネットワーク環境はサポートされていません);
- 依存関係がインストールされ、PATH に追加されていること。
依存関係のインストール#
spotDLには、具体的に 2 つの依存プログラムが必要です:Python 3.6.1(またはそれ以上)と FFmpeg 4.2(またはそれ以上)、両方とも PATH に追加されている必要があります。公式リポジトリの README には詳細な説明が記載されていますが、ここでは Windows プラットフォームを例に簡単に説明します。
Python#
Python のインストールプロセスは、他のアプリケーションのインストールと同様です。まず、Python 公式サイトのダウンロードページにアクセスし、ダウンロードをクリックします。
唯一注意が必要なのは、初めてインストール画面を開いたとき、最下部に「Add Python X.X to PATH
」というチェックボックスがあり、デフォルトではチェックが入っていないはずです。ここにチェックを入れ、指示に従ってインストールを進めてください。
すでにコンピュータにインストールされているため、ここではネットで見つけた画像を使いますが、画像にはチェックが入っていないことがわかります。私たちはチェックを入れる必要があります。
その後、「Install Now
」をクリックし、指示に従ってインストールを完了させます。
以前に Python をインストールしている場合は、Python(launcher ではなく)が PATH に追加されていることを確認するだけで大丈夫です。カスタムインストールを選択した場合は、pip のインストールもチェックを入れることを忘れないでください。
FFmpeg#
FFmpeg のインストールは macOS と Linux では非常に簡単ですが、Windows のインストール方法については公式の README に詳細な参考リンクが記載されています。ここでは Windows のインストールプロセスを簡単に説明します。
まず、FFmpeg の公式ダウンロードページを開き、ウェブページ内の Windows アイコンにマウスをホバーさせ、下に表示されるダウンロードリンクをクリックして新しいページに移動し、対応するバージョンをダウンロードします。
ここでは「full」バージョンを選択し、ダウンロード後に得られた圧縮ファイルを解凍し、得られたフォルダを保存し、そのパスを記録します。(通常アプリをインストールするディレクトリに置くことができ、削除しないでください。)
次に、Windows Search を開き、環境変数を検索し、「システム環境変数の編集」を開きます;
表示されたウィンドウで環境変数をクリックし、ポップアップされた新しいウィンドウで「Path」を選択し、編集をクリックし、再度新しいウィンドウが表示されたら新規作成を選択し、編集ボックスに先ほど解凍したフォルダ内の「bin」フォルダのディレクトリを入力します。
例えば、先ほど圧縮ファイルを解凍し「ffmpeg」と名前を付けて「D:\Applications」ディレクトリに置いた場合、入力する必要があるのは「D:\Applications\ffmpeg\bin」です。
もう一つの簡単な方法は、解凍したフォルダを直接開き、「bin」フォルダを選択し、Shift キーを押しながら右クリックし、ポップアップメニューから「ファイルのパスをコピー」を選択し、新しい Path の入力ボックスに貼り付けることです。(囲まれた引用符は削除してください)
完了したら、すべての確認をクリックします。
他のシステムのインストール方法やより詳細な手順については、VideoProc のこの記事を参照してください:
インストールの確認#
これで 2 つの依存関係のインストールが完了しました。ターミナルを開き、次のコマンドを入力します。
python --version
ffmpeg -version
正常にバージョン番号が表示され、エラーがなければインストールは成功です。
spotDL のインストール#
次のステップは比較的簡単で、ターミナルで次のコマンドを入力するだけです:
pip install spotdl
その後、spotDL をアップグレードする必要がある場合は、次のいずれかのコマンドを入力するだけです。
pip install --upgrade spotdl
pip install -U spotdl
spotDL の使用#
前述のように、spotDL のすべての使用はターミナル内で行われ、異なるコマンドを使用して異なる機能を呼び出します(覚えたくない場合は、直接コピー&ペーストすれば大丈夫です)。
ファイル保存位置#
spotDL のデフォルトの曲の保存位置は現在の作業ディレクトリです。ターミナルでpwd
コマンドを使用して確認できます。ダウンロードを開始する前に、目的の位置にcd
することをお勧めします。そうすることで、ユーザーフォルダが雑多なファイルで埋まるのを避けることができます。
上記の内容が理解できなくても問題ありません。Windows システムを例にとると、まずダウンロードした曲を保存したいフォルダを作成し、そのフォルダ内で Shift を押しながら右クリックし、「ここで PowerShell を開く」または他のターミナルを選択すれば良いです。
例えば、上の画像で開いたターミナルを使用して spotDL でダウンロードしたファイルは「D:\Download (D)\Music」ディレクトリに保存されます。
曲、アルバム、アーティスト、プレイリストのダウンロード#
Spotify のシングル、アルバム、アーティスト、プレイリストをダウンロードするのは最も簡単な使用方法です。まず、Spotify で共有リンクをコピーします:
次に、ターミナルでspotdl <url>
を使用します。例えば、QUEEN の曲をダウンロードしたい場合、コマンドは次のようになります:
spotdl https://open.spotify.com/track/5PimlePLQd8xdf7uKccHqS
同様に、アルバム、アーティスト、プレイリストのリンクもspotdl <url>
の形式で使用できます。複数の URL を一度にダウンロードしたい場合は、複数の URL の間にスペースを追加するだけです。
例えば、ここで 2 曲をダウンロードします:
spotDL はデフォルトで 4 つのスレッドを使用してダウンロードするため、1 曲ずつダウンロードするよりも、アルバムやプレイリストを直接ダウンロードしたり、複数の曲を一緒にダウンロードする方が効率が高いです。
ダウンロードが完了したら、現在の作業ディレクトリで曲を確認できます。曲に問題がなければ、生成されたキャッシュファイルも削除できます。
曲名で検索してダウンロードする#
もう一つの方法は、曲名を使ってダウンロードすることです。この方法は推奨されていませんが、私のように怠惰な人間にとって、あまり重複しない曲には時々便利です。
spotdl '[songQuery]'
先ほどの例で、my little airport の QUEEN をダウンロードするには、次のように入力します。
spotdl 'my little airport - queen'
同様に、成功裏にダウンロードできます。
YouTube 動画と Spotify メタ情報を指定してダウンロード#
認識に失敗した場合に備えて、spotDL が曲を正しく認識しなかった場合(非常に稀ですが)、YouTube で対応する曲を見つけた場合、手動で spotDL に YouTube のこの曲をダウンロードさせ、音声形式に変換し、Spotify のこの曲のメタ情報を書き込むことができます。使用方法は次の通りです:
spotdl "<YouTube url>|<Spotify url>"
この方法では、曲の音声は指定された YouTube 動画または音楽から来ており、メタ情報は指定された Spotify トラックから取得されます。
他にも、ダウンロードスレッドの指定、音声形式の指定、中断したダウンロードの再開など、さまざまな使用方法があります。プロジェクトのREADMEにも詳細な説明がありますので、ここでは繰り返しません。
まとめ#
いくつかの周知の理由から、時々私たちが好きなアーティストの曲が国内で急に聴けなくなることがあります。そのため、私は定期的によく聴く曲のオフラインファイルを保存する習慣があります。国内の音楽プラットフォームには検閲や著作権の問題があり、海外の音楽プラットフォームも地域によっては収録されていない曲があることがよくあります。総合的に使用してみると、spotDL を使用して音楽をダウンロードする方法は私にとって非常に適していますが、音楽ファイルの音質は私のような耳の悪い人間には十分です。音楽ファイルをダウンロードする方法はたくさんあると思いますが、これは私が現在見つけた中で最も情報が豊富で、慣れれば最も便利な方法の一つです。
最近、OneDrive のディレクトリを構築し、my little airport のすべての曲をアップロードしました。ここでも共有します:my-little-airport。現在、中国本土では mla がほぼ消失しているため、ダウンロードしてローカルファイルを网易云音楽のクラウドにアップロードするのも一つの一時的な解決策です。しかし、条件が許す限り、Spotify、YT Music、または海外の Apple Music などのプラットフォームで正規版を聴くことをお勧めします。それは私たちが好きなアーティストへの支援にもなります。