rekordbox のプレイリストを Key + BPM 順に並べる方法

rekordbox では Key と BPM の両方で並べ替えることはできません。rekordbox もプレイヤーも一度に使える列は1つだけで、しかもその並べ替えは表示上のものなので、USB に書き出した時点で消えます。Bake'n Deck の Sort は、書き出した collection.xml の中でプレイリストの曲順そのものを Camelot Key 昇順、同じ Key の中は BPM 昇順に書き換えます。並び順が表示ではなくプレイリストに入るので、CDJ はデフォルト表示のままその順番で再生します。

単一列ソートとの違い

rekordbox も CDJ-3000 / XDJ-1000MK2 も、Key BPM のどちらか一方でしか並べ替えられません。同じプレイリストでも、3つのモードで結果が変わります。

ソート方法Key の並びKey グループ内の BPM
Key でソート(単一列)✓ そろう✗ プレイリスト登録順のまま
BPM でソート(単一列)✗ ホイール上でバラバラ✓ そろうが Key のまとまりが消える
Bake'n Deck Sort(Key → BPM)✓ そろう✓ 昇順

6曲で見る3つのソート

6曲のプレイリストで比べます。登録順、つまりプレイリストに保存されている順番はこれです。

#KeyBPM
1A1A130
2B2A124
3C1A124
4D2B130
5E2A128
6F2B124

同じ6曲が、3つのソートでこう並びます。

#Key でソートBPM でソートBake'n Deck(Key → BPM)
1A · 1A · 130C · 1A · 124C · 1A · 124
2C · 1A · 124B · 2A · 124A · 1A · 130
3B · 2A · 124F · 2B · 124B · 2A · 124
4E · 2A · 128E · 2A · 128E · 2A · 128
5D · 2B · 130A · 1A · 130F · 2B · 124
6F · 2B · 124D · 2B · 130D · 2B · 130

Key でソートすると 1A2B の中で BPM が 130 → 124 と下がります。ウォームアップとは逆向きです。BPM でソートすると Key が 1A → 2A → 2B → 2A → 1A → 2B と飛びます。3列目だけが Key 昇順のまま、各 Key の中で BPM も昇順です。

Bake'n Deck の Sort 画面。プレイリスト一覧と、Key と BPM の列が並んだ並び替え後のプレビュー
書き込む前に、この並びがそのまま見えます

rekordbox のプレイリストを Key + BPM 順にする手順

  1. rekordbox の Key 表示を Alphanumeric にする
    環境設定 → 表示 → Key 表示フォーマット → Alphanumeric(1A..12B)。Camelot 表記でないと Sort は並べ替えずに、変更する設定の場所を案内して止まります。
  2. コレクションを XML で書き出す
    ファイル → コレクションを xml 形式でエクスポート。毎回同じパスに保存します(例: ~/Music/rekordbox/collection.xml)。
  3. Sort をかける
    Mac アプリなら XML を選び、書き込む前に並び順を確認してから Sort in Place。CLI なら baken rbsort collection.xml で全プレイリストをその場で並べ替えます。
  4. 読み込み用ライブラリに一度だけ指定する
    環境設定 → 詳細 → Database → rekordbox xml → 読み込み用ライブラリ で、同じファイルを選びます。設定は一度だけです。
  5. rekordbox を再起動する
    左サイドバーの rekordbox xml ツリーが、並べ替え済みの Playlists のミラーになります。
  6. USB へ書き出す
    rekordbox xml ツリーからプレイリストを Playlists へドラッグし、EXPORT モードに切り替えて右クリック → プレイリストをエクスポート。CDJ はその順番で再生します。

見つからないときは 並べ替え済みのプレイリストは rekordbox xml ツリーの中だけにあり、通常の Playlists には出ません。サイドバーのツリーを切り替えてください。

Terminal — rbsort
$ baken rbsort ~/Music/rekordbox/collection.xml
Sorted 12 playlists (1480 tracks) by Key+BPM → ~/Music/rekordbox/collection.xml

$ baken rbsort ~/Music/rekordbox/collection.xml --playlist "Sets/Friday"
Sorted 124 tracks in 'Sets/Friday' by Key+BPM → ~/Music/rekordbox/collection.xml

並び順のルール

  • 第1キー:Camelot Key 昇順、1A → 1B → 2A → 2B → … → 12A → 12B
  • 第2キー:同じ Key グループの中で BPM 昇順
  • Camelot Key のない曲は既知の Key の後ろへ。BPM 0 は同じ Key グループの最後へ
  • 書き出した XML をその場で並べ替えます。変わるのは曲参照の順番だけで、名前もフォルダも他のバイトもそのままなので、再実行しても何も起きません
  • rekordbox のライブラリ本体には触れません。並べ替え済みのプレイリストは別の rekordbox xml ツリーに出ます

よくある質問

rekordbox で Key と BPM の両方で並べ替えられますか

できません。rekordbox もプレイヤー側も一度に並べ替えられる列は1つだけです。Key でソートすると同じ Key の中の BPM はプレイリストに登録した順のまま残ります。両方を効かせるには、表示ではなくプレイリストの保存順そのものを書き換える必要があります。

CDJ で Key ソートしたのに BPM がバラバラなのはなぜですか

プレイヤーのソートは表示の並べ替えで、プレイリストに保存された曲順は変わらないからです。CDJ はその保存順を読みます。

並べ替えると rekordbox のライブラリは壊れませんか

元のライブラリには触れません。書き換えるのは書き出した XML の中の曲順だけで、並べ替え済みのプレイリストは別の rekordbox xml ツリーに現れます。曲名もフォルダ構成もそのままです。

キューやビートグリッドは残りますか

残ります。Sort が変えるのは曲の並び順だけで、ファイルには一切触れません。

無料で使えますか

baken CLI は MIT ライセンスで無料です(macOS / Windows / Linux)。Mac アプリの Bake'n Deck は Mac App Store で買い切り、サブスクリプションはありません。

Sort を使う

Bake'n Deck for Mac は Mac App Store で公開中です。書き込む前に並び順を確認でき、rekordbox が XML を書き出し直したら再ソートを提案します。 baken CLI は MIT ライセンスで無料です。

Mac App Store でダウンロード

3つのツール全体を見る →