cli-anything-rekordbox は何をしますか?
Pioneer Rekordbox 6/7 向けのエージェントネイティブCLI。プログラム的にDJライブラリとライブデッキを操作します。
インストール
pip install cli-anything-rekordbox
前提条件:
- Python 3.10+
- Rekordbox 6 または 7 がインストールされていること(
master.dbが存在すること) - ライブデッキ制御のための仮想MIDIドライバ:
- Windows: loopMIDI / LoopBe / teVirtualMIDI
- macOS: IAC Driver
- Linux: ALSA virtual MIDI(
snd-virmidi)
使い方
# ステータス確認
cli-anything-rekordbox status
# REPLモード
cli-anything-rekordbox
# エージェント向けJSON出力
cli-anything-rekordbox --json library search "Daft Punk"
コマンドグループ
ライブラリ
| コマンド | 説明 |
|---|---|
count | 総トラック数 |
search QUERY | タイトル/アーティストの部分一致でトラックを検索 |
info TRACK_ID | トラックの全メタデータ |
dump --out FILE.json | 全ライブラリをJSONとしてエクスポート |
プレイリスト
| コマンド | 説明 |
|---|---|
list | 全プレイリストを表示 |
create NAME [--force] [--no-backup] | 新規プレイリストを作成 |
add NAME --track-title T [--force] [--no-backup] | トラックを追加 |
clear NAME [--force] [--no-backup] | プレイリストを空にする |
プレイリストへの書き込みは、変更前に master.db のバックアップを作成します。Rekordboxが開いている場合は書き込みを拒否しますが、--force を指定すると強制的に実行します(強制書き込みでもバックアップは必須)。--no-backup はRekordboxが閉じている場合のみ受け付けられます。
デッキ(ライブMIDI)
| コマンド | 説明 |
|---|---|
play --deck N | 再生/一時停止 |
sync --deck N | テンポ同期 |
crossfade FROM TO --secs S | スムーズなクロスフェード |
eq --deck N --hi --mid --lo | EQ制御 |
hot-cue --deck N --slot 1-8 | ホットキューを発火 |
トップレベル
| コマンド | 説明 |
|---|---|
status | ランタイム/DB/MIDIの状態 |
install-mapping | Bunker.midi.csv をrekordboxのMidiMappingsフォルダに配置 |
mix A B --secs S | 高レベル操作:検索+ロード+同期+クロスフェード |
仕組み
+------------------+
| あなたのエージェント |
+--------+---------+
|
v
+------------------+
| cli-anything- |
| rekordbox CLI |
+--------+---------+
| |
v v
+----------+ +----------+
|pyrekord- | | mido + |
|box DB | | virtual |
|書き込み | | MIDI |
+----------+ +----------+
| |
v v
+----------+ +-----------+
| master.db| | Rekordbox |
|SQLCipher | | ライブデッキ|
+----------+ +-----------+
- master.db は、すべてのrekordbox 6/7インストールで共有される静的AES-256鍵で暗号化されています(pyrekordboxが自動的に鍵を抽出)
- 仮想MIDI マッピングはPioneer標準の
.midi.csv形式を使用します。このCLIはBunker.midi.csvを同梱しており、install-mappingコマンドでrekordboxのMidiMappings/フォルダに配置します
JSON出力
すべてのコマンドで --json をサポートしています:
$ cli-anything-rekordbox --json library count
{"track_count": 30344}
ライセンス
MIT