rekordbox web

rekordbox owned

Discogs → レコボ 所持判定チェック

コレクションの曲を resolveProviderSongDiscogsReleaseで Discogs 側の表現に変換し、その Discogs のデータだけを手がかりにmatchRekordboxTrackで元の曲を引き当てられるかを見ます。元の content_id が分かっているので、 取り逃し(偽陰性)と誤判定(偽陽性)を区別して数えられます。

Discogs 側で同定できなかった曲は「評価不可」として母数から外します。ここで 測っているのは所持判定そのものの精度であって、Discogs 同定の精度ではありません (そちらは Rekordbox Identify の画面で測れます)。

音韻段(第4段)の設定

phonetic-key.ts(nishikawa ブランチからの移植)で、カナはカナ→ローマ字に、ラテン文字は小文字化+ダイアクリティカル除去に落として突き合わせる。母音を落とした子音骨格も併せて見るので、日本語の母音挿入(daftopanku ↔ daftpunk)に強い。
この段は第1〜3段が全滅したときだけ走る。したがって既に当たっている曲を置き換えることは無く、差分は必ず「取り逃しを拾った」か「取り逃しに誤爆した」のどちらかになる。
なお音韻キーの子音骨格はブロッキングに使えない(maikerujakuson → mkrjksn / michaeljackson → mchljcksn で先頭が既に違い、拾いたいケースがまさに同じバケットに落ちない)。 そのためこの段は全件走査で、突合時間はコレクション件数に比例する。

既定値の根拠: カナ↔ラテンの実測では正解ペアが 49〜80%、誤爆 (マイケルジャクソン → Janet Jackson)が 50% に出る。つまり帯が重なっていて、閾値だけでは分離できないことが分かっている。ここで動かして、この母集団でも同じことが起きるかを確認する。

個別テスト(特定の1曲をピンポイントで再検証)

バッチはランダム抽出のたびに対象曲が変わってしまうので、修正の効果を特定の曲で確かめたいときはこちらを使う。 まずコレクションを読み込む。

パラメータ説明

⚠️ 「正解」バッジの意味:Rekordbox 曲 → Discogs 同定 → Rekordbox 照合が成功した検証指標です。 「実際に所持しているか」とは異なる可能性があります。 尺情報がないと異版(remix vs original など)を区別できないため、確信度で判定してください。 将来的には Rekordbox→Discogs 同定の精度改善も必要です。

段 (matchedBy):exact (Stage 1: 曲名キー+アーティストキー完全一致) /title-exact (Stage 2: 曲名完全一致+アーティスト別名交差) /fuzzy (Stage 3: タイトル類似度でマッチ) /phonetic (Stage 4: 上の3段が全滅したときだけ走る音韻での救済。 字面の裏付けが無いので確信度は最大 75% に抑えてある)
確信度:base - penalty で計算。base は段による:exact=100%, title-exact=95%, fuzzy=曲名類似度(ただし最大でも 90% に制限)。 penalty は尺差による:null時-15% / ±2秒以内-0% / 2-10秒-5% / 10秒超-15%
曲名類似度:文字列類似度 (Levenshtein distance, 範囲 0-100%)。 fuzzy 段では、この値がそのまま base として使われる。 ただし、曲名類似度が 90% を超えた場合でも base は 90% に制限される (例:曲名類似度 100% でも fuzzy の base は 90% になる)
尺差:Discogs側の尺 - Rekordbox側の尺。±2秒以内なら penalty なし。不明時は「-」
候補数:ブロッキング(尺&タイトル先頭)で絞られた候補の総数