Tidal の楽曲を最大 24-bit/192kHz で保存できる Python 製 CLI ダウンローダー「tiddl」

タグ tiddlTidalPython CLIハイレゾFLAC音楽ダウンローダーバッチダウンロードffmpegcolumnコラムlinuxLinuxwindowsWindowsGitHubオープンソースoskvr37

Tidal の楽曲を最大 24-bit/192kHz で保存できる Python 製 CLI ダウンローダー「tiddl」

ひとことでいうと

tiddl(ティドル)は、音楽ストリーミングサービス「Tidal(タイダル)」の楽曲をパソコンに保存できる、Python で作られた無料のコマンドラインツールです。最大 24-bit/192kHz というハイレゾ(高音質)フォーマットでの保存に対応しており、音質にこだわる人にぴったりの設計になっています。アルバム・プレイリスト・アーティストの全作品をまとめてダウンロードする「バッチ処理」にも対応しているので、大量の曲を効率よく手元に保存できます。なお、本ツールの利用にあたっては Tidal の利用規約および各国の著作権法を遵守することが必要です。

こんな人におすすめ

1. 音質にとことんこだわりたい人

Tidal が提供するハイレゾ音源を、音質を一切落とさない FLAC(フラック)形式でローカルに保存できます。最高品質の「MAX」設定では 24-bit/192kHz という CD 以上の音質で保存できるので、良いスピーカーやヘッドホンで聴く方に特に向いています。インターネット接続がなくても、いつでも最高音質で再生できるのが魅力です。

2. アルバムやプレイリストをまとめてアーカイブしたい人

お気に入りのアルバム URL を渡すだけで、収録曲を一括ダウンロードできます。地域ロックや配信終了で聴けなくなったトラックは --skip-errors オプションで自動的にスキップされるので、途中で処理が止まることなく最後まで続けられます。サブスクリプションの更新前や解約前に、手元にコレクションを作りたい人にも便利です。

3. ファイルの保存先やフォルダ構成を自分好みに整理したい人

出力先のパスをテンプレート(書式の雛形)で自由に指定できます。たとえば「アーティスト名 → アルバム名 → トラック番号付きのファイル名」という階層を自動で作れるので、既存の音楽ライブラリに自然になじむ形で整理できます。

インストール・使い方

事前に確認すること

  • Python 3.13 以上が必要です(これより古いバージョンでは動作しません)
  • ffmpeg(エフエフエムペグ)というソフトも別途インストールが必要です。音声ファイルの変換処理に内部で使っています。公式サイトからダウンロードし、ターミナルのどこからでも呼び出せるよう「PATH(パス)を通した」状態にしておいてください

Step 1: tiddl をインストールする

ターミナル(文字でコマンドを入力する画面)を開いて、以下のコマンドを入力します。コピー&ペーストでかまいません。

公式が推奨する方法は uv(ユーブイ)というツールを使う方法です。

uv tool install tiddl

uv を使わず、通常の pip(パイプ)でインストールする場合はこちらです。Python 3.13 以上の環境で実行してください。

pip install tiddl

どちらの方法でも tiddl コマンドが使えるようになります。uv を使うほうが環境がすっきり整理されるのでおすすめです。

Step 2: Tidal アカウントにログインする

tiddl auth login

このコマンドを実行すると、ブラウザが開くか認証用の URL が表示されます。画面の案内にしたがって Tidal のアカウントでログインしてください。認証情報は自動的にパソコンの ~/.tiddl フォルダに保存されるので、次回以降は改めてログインしなくても使えます。

Step 3: 曲・アルバム・プレイリストをダウンロードする

Tidal の URL をそのまま貼り付けてコマンドを実行するだけです。

# 1曲だけ保存する場合
tiddl download url https://tidal.com/browse/track/103805726

# アルバム全体を保存する場合
tiddl download url album/103805723

# プレイリストをまとめて保存(エラーは読み飛ばして続行)
tiddl download url playlist/xxxxxxxx --skip-errors

コマンドを実行すると、指定した楽曲が順にダウンロードされていきます。--skip-errors を付けると、配信停止や地域制限でダウンロードできない曲があっても処理が止まりません。

Step 4: フォルダ構成を自分好みにする

tiddl download url album/103805723 \
  --output "{album.artist}/{album.title}/{item.number:02d}. {item.title}"

--output オプションで保存先のパスをテンプレートで指定できます。上の例では「アーティスト名 / アルバム名 / 曲番号. 曲名」という階層にファイルが自動で整理されます。変数の組み合わせを変えることで、自分のライブラリに合ったフォルダ構造を自由に作れます。

動かしてみた

Python 3.13 以上の環境を用意して、実際に tiddl を動かしてみました。uv を使った場合の手順はこのようになります。

uv venv --python 3.13
source .venv/bin/activate
uv pip install tiddl

インストールが完了したら、まず tiddl --help でコマンドの全体像を確認できます。

 Usage: tiddl [OPTIONS] COMMAND [ARGS]...

 tiddl - download tidal tracks ♫

╭─ Commands ──────────────────────────────────╮
│ auth       Manage Tidal authentication.     │
│ download   Download Tidal resources.        │
╰─────────────────────────────────────────────╯

auth(認証管理)と download(ダウンロード)の 2 系統のサブコマンドが使えることが確認できます。tiddl download --help を実行すると、品質指定オプションや出力テンプレートの書き方など、詳細なオプション一覧も表示されます。ffmpeg が正しく設定されていれば、認証後すぐにダウンロードを開始できる状態になります。環境変数 TIDDL_PATH を設定することで、認証情報や設定ファイルの保存先をデフォルトの場所から変えることもできます。

デモについて

tiddl は Tidal の有効なアカウントと OAuth(オーオース)認証が必須のため、ブラウザ上でそのまま試せるデモは用意されていません。実際に使うには、有効な Tidal サブスクリプション・Python 3.13 以上・ffmpeg の 3 つが揃った環境を用意する必要があります。まずは tiddl --helptiddl download --help でオプションを眺めて、どんな使い方ができるかを把握しておくとスムーズに始められます。

はじめの一歩 — 実践のコツ

インストール直後にやっておくとスムーズな手順をまとめました。

  • まず tiddl --help を実行する: コマンド全体の構成がわかります。迷ったときはここに戻ると解決しやすいです
  • tiddl download --help も確認する: 音質指定や出力フォルダなど細かい設定オプションが一覧で確認できます
  • 最初は 1 曲だけ試す: いきなりアルバム全体ではなく、1 曲で動作確認するとトラブルが起きたときに原因を絞りやすいです
  • ffmpeg を先にインストールしておく: tiddl のインストール前に ffmpeg を用意しておくと、セットアップで詰まらずに済みます
  • TIDDL_PATH 環境変数を活用する: 複数のパソコンや環境で使うとき、設定の保存場所を統一できて便利です
  • 大量ダウンロードには --skip-errors を付ける: 途中で処理が止まらず、最後まで自動で進めてくれるので安心です

用語とポイント解説

CLI(シーエルアイ)

「コマンドライン インターフェース」の略で、ターミナルという画面に文字でコマンドを入力して操作するタイプのソフトを指します。かんたんに言うと「文字でパソコンに命令を送るしくみ」のことです。ボタンやメニューを使う GUI(グラフィカルな画面操作)と対になる概念で、慣れると素早く操作できるのが特徴です。

FLAC(フラック)

「Free Lossless Audio Codec(フリー ロスレス オーディオ コーデック)」の略です。かんたんに言うと「元の音をそのまま保ちながらファイルサイズを小さくできる音声フォーマット」のことです。MP3 や AAC と違って圧縮しても音の情報が失われないため、オーディオマニアに広く使われています。tiddl では HIGH・MAX 品質の保存形式として使われます。

ハイレゾ(High Resolution Audio)

CD 音質(16-bit/44.1kHz)を超えるスペックの音声データの総称です。かんたんに言うと「CD よりも細かい音の情報を記録した、より忠実な音質のファイル」のことです。tiddl の MAX 品質である 24-bit/192kHz は、スタジオのマスター音源に近い品質で保存できます。

ffmpeg(エフエフエムペグ)

音声・動画ファイルの変換・処理を行うオープンソース(無料で公開されている)のツールです。かんたんに言うと「あらゆる音声・動画フォーマットを変換できる万能ツール」で、tiddl がダウンロード後の音声ファイル変換に内部的に使っています。パソコンにあらかじめインストールして、ターミナルからどこでも呼び出せるよう設定しておく必要があります。

uv(ユーブイ)

Astral 社が開発した高速な Python パッケージマネージャー(ソフトを管理するツール)です。かんたんに言うと「Python 関連のソフトをすばやく整理してインストールしてくれる便利ツール」です。従来の pip より高速に動作し、仮想環境の管理も一緒にできるのが強みです。

仮想環境(バーチャル エンバイロメント)

Python で作業をするとき、プロジェクトごとに独立した作業環境を作る仕組みです。かんたんに言うと「プロジェクト A 用の部屋と、プロジェクト B 用の部屋を別々に用意することで、設定が混ざらないようにするしくみ」です。uv venv コマンドで作成でき、複数の Python バージョンを使い分けるときにも役立ちます。

OAuth(オーオース)

サービス間でアカウント認証を安全に連携させる仕組みです。かんたんに言うと「パスワードを直接渡さなくても、アカウントの一部の権限だけを別のソフトに許可できる認証方式」のことです。tiddl では tiddl auth login を実行すると OAuth を使って Tidal アカウントと連携し、認証情報をローカルに保存します。

バッチ処理

複数のファイルや処理をまとめて自動的に実行することです。かんたんに言うと「たくさんの曲を一気にまとめてダウンロードするような、繰り返し作業を自動でこなすしくみ」のことです。tiddl ではアルバム URL やプレイリスト URL を指定するだけで、収録されているすべての曲を順番にダウンロードしてくれます。

出力テンプレート

ファイルの保存先パスや名前のパターンを、変数を使って自由に定義できる書き方です。かんたんに言うと「アーティスト名や曲名を自動で埋め込んだ、フォルダ・ファイル名の雛形」のことです。{album.artist}/{album.title}/{item.number:02d}. {item.title} のように記述すると、情報が自動で展開されてフォルダ構造が作られます。

品質別スペック一覧

品質名拡張子スペック
LOW.m4a96 kbps
NORMAL.m4a320 kbps
HIGH.flac16-bit / 44.1 kHz
MAX.flac最大 24-bit / 192 kHz

活用アイデア

  • サブスク解約前のバックアップ: Tidal を解約する前に、よく聴くアルバムを FLAC でまとめてローカル保存しておく
  • オフライン環境での再生: 飛行機内や電波が届かない場所でも聴けるよう、事前にダウンロードしてポータブルオーディオプレーヤーへ転送する
  • 音楽制作・DJ 活動への活用: MAX 品質(24-bit/192kHz)で取得し、DAW(デジタル・オーディオ・ワークステーション、音楽制作ソフト)や DJ ソフトで高品質な素材として使う
  • 音楽ライブラリの自動整理: 出力テンプレートを使って Beets や MusicBrainz Picard などの音楽管理ソフトと相性のよいフォルダ構造を自動生成する
  • 好きなアーティストの全作品をアーカイブ: アーティスト URL を渡すだけで全アルバム・全楽曲を一括ダウンロードし、コレクションを整理する
  • 音楽・DSP の学習用途: デジタル信号処理(DSP)や音楽制作の勉強のために、高品質な FLAC ファイルを手元に用意してサンプル分析に活用する

まとめ

tiddl は、Tidal の音楽を手元に最高品質で保存したい人のために作られた Python 製の CLI ツールです。Python 3.13 以上と ffmpeg が揃った環境であれば、uv tool install tiddl の一行でインストールが完了します。認証後はすぐにダウンロードを開始でき、出力テンプレートによる柔軟なフォルダ整理機能も備えています。音質重視のリスナーから音楽制作者まで、幅広いシーンで実用的に使えるツールです。ぜひ Tidal のアルバムアーカイブや DJ・音楽制作のための高品質素材収集などに活用してみてはいかがでしょうか。