# Mac で rekordbox を速くする5項目 [English version](mac-tuneup.md) rekordbox のせいにされている遅さの多くは macOS 側の設定です。起動に30秒かかる。曲を読み込むのに一拍待たされる。解析がいつまでも終わらない。Mac ではこの5項目でだいたい説明がつきますし、どれも rekordbox の中にはありません。 このページはそのチェックリストです。手順は手動で書いてあるのでツールは要りません。[Bake'n Deck for Mac](https://baken.ravers.workers.dev/ja) には5項目を確認してサンドボックスで許される範囲を修正する画面がありますが、大事なのは設定のほうでアプリではありません。 以下はすべて macOS の設定かファイルの属性です。音声にもタグにもキューにも rekordbox のデータベースにも触りません。 ## 1. 音源を `~/Downloads` に置かない ブラウザ経由で届いたファイルには `com.apple.quarantine` 属性が付きます。Gatekeeper は隔離されたファイルを開くたびに検査するので、ライブラリが `~/Downloads` にあると検査が延々と繰り返されます。起動やトラック読み込みで30秒から60秒固まる症状はこれだけで説明がつくことも多いです。 確認はこれで済みます。 ```sh find ~/Downloads -type f \( -name '*.mp3' -o -name '*.flac' -o -name '*.wav' -o -name '*.aif*' -o -name '*.m4a' \) | wc -l ``` 対処は `~/Music/DJ` のような恒久的なフォルダへ移すだけです。移したあとは rekordbox で曲を選んで右クリックから「再リンク」するか「ファイル」→「見つからないファイルをすべて表示」で場所を教えてください。隔離属性は移動しても残るので移し終わったら5番の手順を新しいフォルダに対して実行します。 ## 2. 音楽フォルダを Spotlight の対象から外す Spotlight は新しく置かれた音楽フォルダに索引を張ろうとしますが、そのとき rekordbox は同じディスクと同じ CPU で解析を走らせています。音楽フォルダと `~/Library/Pioneer` を除外すればお互いの邪魔をしなくなります。 内蔵ドライブは「システム設定」→「Spotlight」→「検索プライバシー」の **+** から音楽フォルダと `~/Library/Pioneer` を追加します。Finder が隠しているパスはファイルダイアログで ⌘⇧G を押せば直接入力できます。 外付けドライブは検索プライバシーの一覧と相性が悪いので、索引を作る側が見に来るマーカーファイルを置くほうが確実です。 ```sh touch /Volumes/YOUR_DRIVE/.metadata_never_index ``` 効くのは次にマウントしたときからです。今どうなっているかは `mdutil -s /Volumes/YOUR_DRIVE` で確認できます。 ## 3. rekordbox にフルディスクアクセスを許可する 許可がないとファイルを読むたびに権限の確認が入ります。1回なら誤差ですが、起動時とプレイリストを開くたびに数千回走れば秒単位の差になります。 「システム設定」→「プライバシーとセキュリティ」→「フルディスクアクセス」で rekordbox をオンにします。一覧になければ **+** から `/アプリケーション` の rekordbox を追加してください。終わったら rekordbox を一度終了して開き直します。 ## 4. ライブラリを iCloud 同期の外に出す デスクトップと書類の同期も iCloud Drive も、ローカルのファイルを勝手に退避して必要になったら取りに行きます。同期されたフォルダに DJ ライブラリを置くとローカルで済むはずの読み込みでネットワークを待つことになりますし、飛行機の中で仕込もうとしたら半分のファイルがないという事故も起こります。 「システム設定」→「Apple アカウント」→「iCloud」→「iCloud Drive」で「デスクトップフォルダと書類フォルダ」をオフにするか、音源を `~/Desktop` と `~/Documents` と `~/Library/Mobile Documents` の外へ移します。とくに `~/Library/Pioneer/rekordbox` は完全にローカルである必要があり、同期フォルダの下に置いてはいけません。移したあとは rekordbox で再リンクしてください。 ## 5. 隔離属性と AppleDouble ファイルを消す 隔離属性は移動しても残ります。1番で `~/Downloads` から救出したファイルも、そのままでは開くたびに Gatekeeper を起こします。AppleDouble ファイル(FAT32 と exFAT のボリュームに macOS が書く `._` で始まる相棒)はメタデータの残骸で、ディレクトリの走査を遅くしますし CDJ が混乱することもあります。 確認はこうです。 ```sh find ~/Music/DJ -xattrname com.apple.quarantine | wc -l # 隔離属性の付いたファイル find /Volumes/YOUR_USB -name '._*' | wc -l # AppleDouble の残骸 ``` 対処はこうです。 ```sh xattr -d -r com.apple.quarantine ~/Music/DJ # 隔離属性だけを消す dot_clean -m /Volumes/YOUR_USB # ._ ファイルを削除する ``` 掲示板でよく見るのは `xattr -cr` のほうです。動きはしますが `-c` は Finder のタグやコメントを含む**すべての拡張属性**を消します。全部消したいのでなければ `-d -r com.apple.quarantine` を使ってください。 知っておくと良いことが2つあります。exFAT と FAT32 のボリュームではカーネルが `._` を通常の走査から隠すので、0件だからといってきれいとは限りません。それとドライブ全体に `xattr` を再帰で走らせると `.Spotlight-V100` や `.Trashes` について文句を言ってきますが、これは無視して構いません。 ## 掃除のあと rekordbox を一度終了して開き直し、解析のキューが片付くまで1分ほど置いてください。起動の差はすぐ出ます。トラック読み込みの差は隔離されていた曲を初めて読んだときに出ます。 5項目を全部やってもまだ遅いなら、残りの容疑者は macOS の設定ではありません。数万曲のコレクションを USB 2.0 の遅いドライブに置いている、起動ボリュームがほぼ満杯、ウイルス対策ソフトがアクセスのたびに音源をスキャンしている、あたりです。 ## Bake'n Deck for Mac が足すもの このページにないことは何もしません。5項目をあなたのライブラリに対して実行します。曲の場所は書き出したコレクション XML から読みます。外付けドライブには Spotlight のマーカーを書き、確認のうえ `._` ファイルを削除し、システム設定が必要な項目はその画面を直接開きます。なぜ rekordbox が速くなるのかは各行の横に書いてあります。 唯一できないのが隔離属性です。App Store のサンドボックスは `com.apple.quarantine` に対する `removexattr` を拒否するので、アプリはあなたのフォルダ向けのコマンドを組み立てて渡します。上に書いたものと同じコマンドです。 `baken` コマンドラインはこれらに一切関与しません。ツールの機能ではなく macOS の衛生管理なので、購入の向こう側ではなくここに置いています。