プレイリストへ戻る

PLAYLIST SPEC

プレイリストの仕組み

AI MUSIC JUDGE のプレイリストには ユーザーが自由に作るもの と、 サイトが毎日自動生成する AI Curated の 2 種類があります。 ここではそれぞれの仕組み・更新ルール・使い方を解説します。

プレイリストは 2 種類

AI Curated

毎日 03:00 JST 更新サイト自動生成

AI 審査員のスコアや乖離タグを使ってサイトが自動で組む 3 種類。 「いま聴くべき曲」が常に新しく入れ替わる。

ユーザープレイリスト

作成時のみユーザーが手動編集

誰でも作成可。楽曲詳細から保存して並べ替え、公開/非公開を選べる。 Premium ユーザーは共有リンクも発行可能。

AI Curated 3 種類の中身

対象は 過去 14 日に投稿された楽曲のみ。それぞれ別の評価軸で選び、 重複が出ても気にしません (=「同じ曲が複数のリストに入る」のは仕様)。

AI 絶賛 TOP 10 weekly_ai_top

  • 条件: 過去 14 日 ・ s1_ai_score IS NOT NULL ・ 公開・公開ステータス done
  • 並び: S1 (Dr.鷹野・KENJI・田中・Rina) の平均スコア降順
  • サイト主軸の総合ランキング上位を「プレイリストとして聴ける」形にしたもの。

みんな認めた名曲 weekly_divergence

  • 条件: 過去 14 日 ・ divergence_tag = 'all-agree' (AI ・ 人間 両方 80 点以上)
  • 並び: AI 平均スコア降順
  • 「賛否が割れない、安心して人に薦められる」枠。

評価が割れる問題作 chaos

  • 条件: 過去 14 日 ・ divergence_tag = 'problem-work' (AI ・ 人間 両方 40 点以下)
  • 並び: 再生数降順 (=どれだけ「話題」だったか)
  • ネタ枠。クセが強くて議論を呼んだ楽曲を集めるコーナー。

AI Curated の更新タイミング

Vercel Cron が 毎日 18:00 UTC = 03:00 JST に走り、3 つのプレイリストの中身を全て削除→最新条件で再投入します。refreshed_at カラムに最終更新時刻が記録され、サイトマップの changeFrequency も daily 扱いです。

ユーザーが「お気に入りの曲が AI 絶賛 TOP に入った!」と思った瞬間にスクリーンショットを撮るのを推奨します (翌日には入れ替わる可能性があります)。

ユーザープレイリストの作り方

  • 新規作成: /playlists/new から。タイトル必須 (50 字以内)、説明任意 (200 字以内)。公開/非公開を選べます。
  • 楽曲を追加: 各楽曲の詳細ページにある「保存」ボタンから、自分の任意のプレイリストに追加します。
  • 並び替え: 詳細ページで楽曲行の左端をドラッグすると順番を入れ替えられます (オーナーのみ)。
  • 全曲再生: 「🎵 全曲再生」ボタンで GlobalPlayer に流し込み、上から順に連続再生します。
  • 編集: 右上の歯車アイコンからモーダルでタイトル・説明・公開設定・カバー画像・削除を行います。

カバー画像の仕組み

優先順位

  • 1. 手動アップロードした画像 (PNG/JPG、2MB 以下、推奨 1:1)
  • 2. 入っている楽曲の先頭 4 曲のサムネを 2×2 で自動モザイク
  • 3. 楽曲数が 1〜3 曲のときは最初の 1 枚を全面表示
  • 4. それも無ければ ♪ アイコンのプレースホルダ

手動アップロードした画像はいつでも「自動モザイクに戻す」ボタンで元に戻せます。 モザイクは楽曲を追加・削除するたびに自動で更新されます。

Like 機能

♥ Like の意味

ログイン中のユーザーが他人の公開プレイリストにつけるブックマーク的な機能です。 押し直しで解除でき、Like 数が 人気タブの並び順 (like_count desc) に直結します。

  • 自分のプレイリストには Like できない (Like ボタンは非表示)
  • AI Curated にも Like 可能 (人気投票として機能)
  • Like カウントはプレイリスト詳細とカードに「♥ N」で表示

公開 ・ 非公開

公開
  • /playlists 一覧 (人気・新着) に出る
  • サイトマップ ・ OG 画像対応
  • 誰でも閲覧 ・ Like 可能
非公開
  • 一覧から除外 ・ 検索エンジンにも出ない
  • 本人のみ閲覧可能
  • 共有リンク (Premium) 経由でも開けない

未公開でも作成後にいつでも公開/非公開を切替可能。「とりあえず作って、整ったら公開」が運用しやすいです。

共有 ・ シェア

URL を貼るだけ

プレイリスト詳細の URL (/playlists/[id]) をそのまま X / Discord / 任意のチャットに貼ると、カバー画像 + プレイリスト名 + 「N tracks ・ ♥ N」+ AI MUSIC JUDGE ロゴ のリッチカードが展開します。

  • OG 画像はカバー画像があればそれを優先、無ければ自動モザイクで生成
  • AI Curated プレイリストは「✨ AI CURATED」バッジが OG にも入る
  • ?lang=en を付ければ英語タイトル・英語 OG にも切替可

よくある質問

Q. AI Curated の chaos が空なんですが

divergence_tag = ‘problem-work’ のタグが付いた楽曲が過去 14 日内に存在しない場合は空になります。 該当楽曲が増えると翌日の cron で自動的に埋まります。

Q. プレイリストの楽曲数の上限は?

現状ハードな上限は設けていませんが、UX 上は 30〜50 曲程度を目安にすると一覧性が保てます。 全曲再生は順次プリロード方式なので、極端に長くてもクライアントは耐えます。

Q. 他人のプレイリストを自分用にコピーしたい

現状コピー機能は未実装です。需要があれば実装するのでお問い合わせ から声を上げてください。

Q. AI Curated のロジックを変えてほしい

現在は 3 種類固定 (S1 上位 / all-agree / problem-work) ですが、ジャンル別 TOP / 季節 ・ 時間帯テーマ / Premium 限定キュレーション など追加余地は十分あります。 意見があればフィードバックしてください。

Q. 自分のプレイリストを削除したらどうなる?

プレイリスト本体と紐づきレコード (playlist_tracks, playlist_likes) は完全削除されます。楽曲そのものは消えません (他人が同じ曲を別プレイリストで保持していても影響なし)。

プレイリストを見る

✨ AI Curated と、みんなが作った公開プレイリストを発見できます。

プレイリストへ