DJ 解析
Crateforge 以 純 Rust 的 DSP 進行 DJ 取向的音訊解析。 不依賴外部工具,即可推估 BPM / Key (Camelot) / Energy / 響度 與相似度向量。
截圖稍後補上
會解析哪些項目
Section titled “會解析哪些項目”| 指標 | 內容 |
|---|---|
| BPM | 自動偵測節奏。掌握容易銜接的曲目。 |
| Key (Camelot) | 為了和聲混音,以 Camelot 表記(例 8A)顯示調性。 |
| Energy | 將曲目的氣勢數值化。可設計整套 set 的流動。 |
| 響度 | 音量等級。用於實際波形的繪製與正規化。 |
| 相似度向量 | 用來牽引出氛圍相近曲目的內部表示。 |
解析結果中的 Key / Energy 可作為曲目表格的欄顯示,也會顯示在 Now Playing。
Key 的表記與手動覆寫
Section titled “Key 的表記與手動覆寫”- 切換表記 — 在 設定 →「一般」→「Key 表記」 中,可選擇 Key 的顯示方式:
Camelot(
8A)/ Open Key(1m)/ Classic(Am/F#m)。 改變的只有顯示,儲存值、相容判定與搜尋仍維持 Camelot。搜尋可使用任一表記:key:8A、key:1m、key:Am會比對到相同的鍵。 - 手動覆寫 — 解析出的 Key 不正確時,可在曲目編輯(Get Info /
Ctrl + I)的 Key 欄選擇正確的調性。 覆寫值與解析值分開儲存,重新解析也不會被清除。選擇「解析値を使う」(使用解析值)即可解除覆寫。 覆寫過的 Key 在曲目表格中會加上*顯示。 - 有覆寫的曲目,在顯示、搜尋(
key:/key:compat:)、智慧型播放清單、Similar、Set Lint 以及檔案標籤(InitialKey)的寫回中,都會使用 覆寫值。
何時會進行解析
Section titled “何時會進行解析”解析只會在背景對「常用的曲目」進行。由以下任一動作觸發。
- 播放 曲目時
- 右鍵 →執行 「Analyze」 時
已解析的 BPM / Key,在編輯曲目時也會 寫出到實體檔案的標籤 (BPM 與 InitialKey,詳見音樂庫匯入)。
進度會顯示在工具列。並非一次解析音樂庫全部曲目,而是聚焦在實際會用到的曲目進行解析,做到不浪費。
相似度選曲(Similar Digging)
Section titled “相似度選曲(Similar Digging)”在右側欄的 Similar 分頁,會根據解析值提議「下一手」。
- 右鍵點選曲目 →「Find similar」(或按
Ctrl/Cmd + Shift + S)即可顯示 Camelot 鍵相容 + 節奏相近 的候選。 - 基準曲可選擇「選取中的曲目」或「正在播放的曲目」;取消釘選後會跟著正在播放的曲目。
繼續深掘(歷史)
Section titled “繼續深掘(歷史)”在候選的列上選擇 「以這首為基準深掘」,即可把該曲設為新的基準繼續挖下去。
- 以 Back / Forward 與 麵包屑 可在本次工作階段的基準曲歷史間來回。 點選麵包屑會跳回該時間點(歷史會被 Clear 重設)。
為什麼相似(reason 標籤)
Section titled “為什麼相似(reason 標籤)”每個候選都會附上表示與基準曲關係的標籤。
- Key — 候選的 Camelot 鍵(與基準不同時會顯示為
8A → 9A) - BPM — 與基準的差距(
BPM +1.5/BPM -2.0%等) - Energy — 與基準的差距(
Energy +0.08等) - Harmonic — 表示是和聲相容的鍵
- d= — 相似度向量的距離
- Harmonic — 僅限 Camelot 相容的鍵(與 BPM 篩選各自獨立作用)
- BPM 容許差 — 相對於基準的容許範圍
- Energy close — 僅限 Energy 差距 0.15 以下
- 排除 Crate 內的曲目 / 排除相同演出者 / 僅限 ★★★ 以上
這些篩選條件會被保存,並延續到下次啟動。
每一列都可執行 Preview(試聽)/ 以這首為基準深掘 / 接著播放 / 加入 Crate。 候選也可以拖放到 Crate,雙擊則可預覽。 若全部都已加入,「Add all」會以 “All added” 停用。
搜尋篩選語法
Section titled “搜尋篩選語法”解析值也能在搜尋中篩選(與文字搜尋或其他欄位指定以 AND 結合)。
bpm:120-128key:8Akey:compat:8Aenergy:60-100analyzed:nobpm:為單一值時會以 ±2 的範圍擷取,並優先採用解析值(沒有時則用曲目的 BPM 標籤)。key:compat:8A會一次篩選出 與 8A 和聲相接的所有鍵(8A / 8B / 7A / 9A)。基準鍵可用任一表記(key:compat:1m/key:compat:Am)。 判定邏輯與 Similar 分頁相同,兩者的結果不會不一致。energy:可寫成 0〜1 或 0〜100。analyzed:yes/analyzed:no可區分已解析與未解析。
包含演出者、年份、評分等篩選在內的完整寫法,請參閱搜尋語法。
與智慧型播放清單、AI 選曲的整合
Section titled “與智慧型播放清單、AI 選曲的整合”- 可在智慧型播放清單的條件中使用 BPM / Key / Energy。
- 內建 API 伺服器也會回傳解析結果與相似曲,因此 dj-curator 等 AI 選曲能把解析值當作加分來運用。