cli-anything-rekordbox 是做什麼的?
代理原生 CLI,可程式化驅動 Pioneer Rekordbox 6/7 的 DJ 資料庫與即時播放器。
安裝
pip install cli-anything-rekordbox
先決條件:
- Python 3.10+
- 已安裝 Rekordbox 6 或 7(
master.db必須存在) - 用於即時播放器控制的虛擬 MIDI 驅動程式:
- Windows:loopMIDI / LoopBe / teVirtualMIDI
- macOS:IAC Driver
- Linux:ALSA 虛擬 MIDI(
snd-virmidi)
用法
# 狀態檢查
cli-anything-rekordbox status
# REPL 模式
cli-anything-rekordbox
# 提供 JSON 輸出給代理使用
cli-anything-rekordbox --json library search "Daft Punk"
指令群組
Library(資料庫)
| 指令 | 說明 |
|---|---|
count | 總曲目數量 |
search QUERY | 依標題/演出者子字串尋找曲目 |
info TRACK_ID | 完整曲目中繼資料 |
dump --out FILE.json | 匯出完整資料庫為 JSON |
Playlist(播放清單)
| 指令 | 說明 |
|---|---|
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 關閉時才接受。
Deck(即時 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 | 觸發 hot cue |
頂層
| 指令 | 說明 |
|---|---|
status | 執行環境 / 資料庫 / MIDI 狀態 |
install-mapping | 將 Bunker.midi.csv 放入 rekordbox 的 MidiMappings 資料夾 |
mix A B --secs S | 高層級操作:搜尋 + 載入 + 同步 + 淡化 |
運作方式
+------------------+
| 您的代理 |
+--------+---------+
|
v
+------------------+
| cli-anything- |
| rekordbox CLI |
+--------+---------+
| |
v v
+----------+ +----------+
|pyrekord- | | mido + |
|box DB | | 虛擬 |
|寫入操作 | | 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