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