2026年5月12日 · 技術解説

なぜ同じURLから同じ曲が生成されるのか

SiteTuneの最大の特徴は、「同じURLからは、いつでも同じ曲が生成される」という決定論性です。AI生成のように毎回違う結果が出るのではなく、URLと曲が1対1で対応しています。なぜそれが可能なのか、そしてなぜそれを大事にしているのか、この記事で解説します。

「決定論的」とは何か

プログラミングの世界で「決定論的(deterministic)」とは、同じ入力に対して必ず同じ出力を返すこと、を意味します。逆に「非決定論的」「確率的」というのは、同じ入力でも結果が毎回変わる仕組みのことです。

例:

  • 決定論的: 2 + 3 = 5 (何度やっても5)
  • 非決定論的: AIによる文章生成(同じプロンプトでも結果が毎回少し違う)

SiteTuneは、URLという入力に対して、必ず同じ音楽イベントJSONを返す決定論的なシステムです。

SiteTuneの決定論性を支える3つの要素

1. HTMLは「決まったもの」

同じURLに対して取得するHTMLは(サイト側が変更しない限り)常に同じです。動的に変わるサイトもありますが、SiteTuneはHTMLを取得した瞬間のスナップショットを使うため、解析タイミングが同じであれば結果は同じです。

2. ハッシュ関数で乱数を「擬似ランダム」に

ジャンル選択やキー選択など、一見「ランダムに見える」要素も、実はURL自体のハッシュ値から計算されています。同じURL → 同じハッシュ → 同じ結果、という仕組みです。

// 概念的なイメージ
const hash = sha256(url);
const key = pickKey(hash);  // 同じURLなら同じkey

真の乱数ではなく、ハッシュベースの擬似乱数を使うことで、再現性が保たれます。

3. 集計値はそもそも一意

HTMLから抽出する「見出しの数」「段落数」「リンク数」などはそもそも整数値であり、ランダム要素はありません。同じHTMLからは同じ数値が出ます。

なぜ決定論的にこだわるのか

理由1: 共有・推薦ができる

「このサイトの音楽、すごくいいから聴いてみて」と友達にURLを教えれば、相手も同じ曲を聴くことができます。AI生成だと、「あの時いい曲だったのに、もう同じものが聴けない」という残念な体験になります。

理由2: サイト変更の検知ができる

同じURLからの音楽が「前と違う気がする」と感じたら、それはサイト構造が変わった証拠です。リニューアルや、コンテンツ追加・削除を音で察知できます。

理由3: テスト・検証ができる

開発者目線では、「期待した出力が出ているか」を再現性をもってテストできます。AI生成だと、「たまたま今日は良い結果」「明日は違う結果」となり、品質保証が困難です。

理由4: 音楽性を保証できる

すべての変換ロジックが事前に設計されているため、「破綻した曲」が生成されることはありません。スケール・コード・リズムの整合性が、ルール上必ず保たれます。

「同じURLでもサイトが変わる」と曲も変わる

1つだけ注意点があります。SiteTuneは「URLが取得した瞬間のHTML」から生成するため、サイト側が更新されると同じURLでも違う曲になります:

  • ニュースサイトのトップページ → 新着ニュースで毎日変わる可能性あり
  • ブログのトップページ → 新規投稿で変わる
  • 固定ページ(About / 利用規約 等) → ほぼ毎回同じ

変わらない曲が欲しいときは、固定ページのURLを試してみてください。

AIではない「アルゴリズム生成」の魅力

近年、AIによる音楽生成が大流行しています。SunoやUdioのようなサービスは、テキストから自然な音楽を生成できる素晴らしいツールです。

一方でSiteTuneは、あえて「アルゴリズム生成」にこだわっています:

  • 軽量 — プラグインサイズわずか362KB
  • 透明 — どのHTMLがどの音になったか追跡できる
  • プライバシー保護 — クラウドAIを使わずローカルで完結
  • 再現性 — 同じ入力なら同じ出力

「AIで何でもできる時代」だからこそ、決定論的なルール変換のシンプルな美しさを大切にしたいと考えています。

あなたも自分のURLを聴いてみよう

「自分のサイトの音楽指紋」を聴いてみてください。同じ曲が、いつでも、誰のブラウザでも再生されます。それは「あなたのサイトの音」です。